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 の種類を有効にします。IMbnPin の PinType プロパティは、有効化する PIN の種類を表します。pin には、その PIN の種類に対する現在の PIN 値が含まれます。

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

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 の種類を無効にします。この IMbnPin の PinType プロパティは、デバイスに対して無効化する PIN の種類を表します。pin には、その PIN の種類に対する現在の PIN 値が含まれます。

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

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 を入力します。この IMbnPin の PinType プロパティは、入力する PIN の種類を表します。pin には、その PIN の種類に対して入力する PIN が含まれます。

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

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 を変更します。この IMbnPin の PinType プロパティは、変更する PIN の種類を表します。

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

。

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 を設定します。この IMbnPin の PinType プロパティは、変更対象となる PIN の種類を表します。

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

IMbnPinManager の GetPinState メソッドの結果として現在の PIN 状態が MBN_PIN_STATE_UNBLOCK に設定された場合は、アプリケーションは、IMbnPinManagerEvents の OnGetPinStateComplete メソッドから渡される 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 指定が可能。