Win32 API 日本語リファレンス
ホームNetworkManagement.MobileBroadband › IMbnPin

IMbnPin

COM
IIDdcbbbab6-2007-4bbb-aaee-338e368af6fa継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

デバイスの PIN を表します。

解説(Remarks)

IMbnPin オブジェクトは、IMbnPinManager インターフェイスの GetPin メソッドおよび GetPinList メソッドの呼び出しによって提供されます。

メソッド 11

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_PinType(MBN_PIN_TYPE* PinType)

PIN の種類。

PinTypeMBN_PIN_TYPE*outこのPINの種別(PIN1・PUK・ネットワークロック等)を示すMBN_PIN_TYPE列挙値を受け取る出力ポインタ。
vtbl 4 HRESULT get_PinFormat(MBN_PIN_FORMAT* PinFormat)

PIN の形式。

PinFormatMBN_PIN_FORMAT*outPINの入力形式(数字のみ等)を示すMBN_PIN_FORMAT列挙値を受け取る出力ポインタ。
vtbl 5 HRESULT get_PinLengthMin(DWORD* PinLengthMin)

PIN の最小長。

PinLengthMinDWORD*out許容されるPINの最小桁数を受け取る出力ポインタ。
vtbl 6 HRESULT get_PinLengthMax(DWORD* PinLengthMax)

PIN の最大長。

PinLengthMaxDWORD*out許容されるPINの最大桁数を受け取る出力ポインタ。
vtbl 7 HRESULT get_PinMode(MBN_PIN_MODE* PinMode)

PIN のモード。

PinModeMBN_PIN_MODE*outPINの有効・無効状態を示すMBN_PIN_MODE列挙値を受け取る出力ポインタ。
vtbl 8 HRESULT Enable(LPWSTR pin, DWORD* requestID)

PIN を有効にします。

pinLPWSTRin有効にする PIN の種類に対する PIN 値。
requestIDDWORD*outこの非同期要求を識別するためにモバイル ブロードバンド サービスが設定する要求 ID。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
HRESULT_FROM_WIN32(ERROR_SERVICE_NOT_ACTIVE)
このシステムでモバイル ブロードバンド サービスが実行されていません。
E_HANDLE
無効なインターフェイスです。おそらくモバイル ブロードバンド デバイスがシステムから取り外されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
無効なインターフェイスです。ほとんどの場合、モバイル ブロードバンド デバイスがシステムから取り外されています。

解説(Remarks)

Enable メソッドは、モバイル ブロードバンド デバイスの PIN の種類を有効にします。IMbnPinPinType プロパティは、有効化する PIN の種類を表します。pin には、その PIN の種類に対する現在の PIN 値が含まれます。

これは非同期操作です。メソッドが成功を返した場合、操作の完了時にモバイル ブロードバンド サービスは IMbnPinEventsOnEnableComplete メソッドを呼び出します。

vtbl 9 HRESULT Disable(LPWSTR pin, DWORD* requestID)

PIN を無効にします。

pinLPWSTRin無効にする PIN の種類に対する PIN 値。
requestIDDWORD*outこの非同期要求を識別するためにモバイル ブロードバンド サービスが設定する要求 ID。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
HRESULT_FROM_WIN32(ERROR_SERVICE_NOT_ACTIVE)
このシステムでモバイル ブロードバンド サービスが実行されていません。
E_HANDLE
無効なインターフェイスです。おそらくモバイル ブロードバンド デバイスがシステムから取り外されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
無効なインターフェイスです。ほとんどの場合、モバイル ブロードバンド デバイスがシステムから取り外されています。

解説(Remarks)

Disable メソッドは、モバイル ブロードバンド デバイスの PIN の種類を無効にします。この IMbnPinPinType プロパティは、デバイスに対して無効化する PIN の種類を表します。pin には、その PIN の種類に対する現在の PIN 値が含まれます。

これは非同期操作です。メソッドが成功を返した場合、操作の完了時にモバイル ブロードバンド サービスは IMbnPinEventsOnDisableComplete メソッドを呼び出します。

vtbl 10 HRESULT Enter(LPWSTR pin, DWORD* requestID)

PIN を入力します。

pinLPWSTRinPIN の種類に対する PIN 値。
requestIDDWORD*outこの非同期要求を識別するためにモバイル ブロードバンド サービスが設定する要求 ID。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
HRESULT_FROM_WIN32(ERROR_SERVICE_NOT_ACTIVE)
このシステムでモバイル ブロードバンド サービスが実行されていません。
E_HANDLE
無効なインターフェイスです。おそらくモバイル ブロードバンド デバイスがシステムから取り外されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
無効なインターフェイスです。ほとんどの場合、モバイル ブロードバンド デバイスがシステムから取り外されています。

解説(Remarks)

Enter メソッドは、PIN の種類に対する PIN を入力します。この IMbnPinPinType プロパティは、入力する PIN の種類を表します。pin には、その PIN の種類に対して入力する PIN が含まれます。

これは非同期操作です。メソッドが成功を返した場合、操作の完了時にモバイル ブロードバンド サービスは IMbnPinEventsOnEnterComplete メソッドを呼び出します。

vtbl 11 HRESULT Change(LPWSTR pin, LPWSTR newPin, DWORD* requestID)

PIN を変更します。

pinLPWSTRinこの PIN の種類に対する現在の PIN。
newPinLPWSTRinこの PIN の種類に対する新しい PIN。
requestIDDWORD*outこの非同期要求を識別するためにモバイル ブロードバンド サービスが設定する要求 ID。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
HRESULT_FROM_WIN32(ERROR_SERVICE_NOT_ACTIVE)
このシステムでモバイル ブロードバンド サービスが実行されていません。
E_HANDLE
無効なインターフェイスです。おそらくモバイル ブロードバンド デバイスがシステムから取り外されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
無効なインターフェイスです。ほとんどの場合、モバイル ブロードバンド デバイスがシステムから取り外されています。

解説(Remarks)

Change メソッドは、PIN の種類に対する PIN を変更します。この IMbnPinPinType プロパティは、変更する PIN の種類を表します。

これは非同期操作です。メソッドが成功を返した場合、操作の完了時にモバイル ブロードバンド サービスは IMbnPinEventsOnChangeComplete メソッドを呼び出します

vtbl 12 HRESULT Unblock(LPWSTR puk, LPWSTR newPin, DWORD* requestID)

ブロックされた PIN のブロックを解除します。

pukLPWSTRinこの PIN の種類に対するパスワード ブロック解除キー (PUK) の値。
newPinLPWSTRinこの PIN の種類に対して設定する新しい PIN。
requestIDDWORD*outこの非同期要求を識別するためにモバイル ブロードバンド サービスが設定する要求 ID。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
HRESULT_FROM_WIN32(ERROR_SERVICE_NOT_ACTIVE)
このシステムでモバイル ブロードバンド サービスが実行されていません。
E_HANDLE
無効なインターフェイスです。おそらくモバイル ブロードバンド デバイスがシステムから取り外されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
無効なインターフェイスです。ほとんどの場合、モバイル ブロードバンド デバイスがシステムから取り外されています。
E_ACCESSDENIED
このメソッドは、呼び出し元プロセスの権限では許可されていません。

解説(Remarks)

Unblock メソッドは、PUK を入力して PIN の種類のブロックを解除し、新しい PIN を設定します。この IMbnPinPinType プロパティは、変更対象となる PIN の種類を表します。

これは非同期操作です。メソッドが成功を返した場合、操作の完了時にモバイル ブロードバンド サービスは IMbnPinEventsOnUnblockComplete メソッドを呼び出します。

IMbnPinManagerGetPinState メソッドの結果として現在の PIN 状態が MBN_PIN_STATE_UNBLOCK に設定された場合は、アプリケーションは、IMbnPinManagerEventsOnGetPinStateComplete メソッドから渡される PinInfo.pinType で返される PIN の種類に対して Unblock を使用する必要があります。

このメソッドの呼び出しには管理者権限が必要です。

vtbl 13 HRESULT GetPinManager(IMbnPinManager** pinManager)

IMbnPinManager を取得します。

pinManagerIMbnPinManager**outPIN の種類を管理する IMbnPinManager のアドレスへのポインター。この関数が S_OK 以外の値を返す場合、この値は NULL になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

解説(Remarks)

このメソッドは、指定した PIN の種類に対する IMbnPinManager インターフェイスを取得するために使用できます。GetPinManager メソッドは、IMbnPinEvents メソッドで渡された IMbnPin オブジェクトから IMbnPinManager インターフェイスを取得します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IMbnPin "{DCBBBAB6-2007-4BBB-AAEE-338E368AF6FA}"
#usecom global IMbnPin IID_IMbnPin "{}"
#comfunc global IMbnPin_get_PinType       3 var
#comfunc global IMbnPin_get_PinFormat     4 var
#comfunc global IMbnPin_get_PinLengthMin  5 var
#comfunc global IMbnPin_get_PinLengthMax  6 var
#comfunc global IMbnPin_get_PinMode       7 var
#comfunc global IMbnPin_Enable            8 wstr,var
#comfunc global IMbnPin_Disable           9 wstr,var
#comfunc global IMbnPin_Enter             10 wstr,var
#comfunc global IMbnPin_Change            11 wstr,wstr,var
#comfunc global IMbnPin_Unblock           12 wstr,wstr,var
#comfunc global IMbnPin_GetPinManager     13 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。