ホーム › Security.Authentication.WebAuthn › IPluginAuthenticator
IPluginAuthenticator
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT MakeCredential(WEBAUTHN_PLUGIN_OPERATION_REQUEST* request, WEBAUTHN_PLUGIN_OPERATION_RESPONSE* response)
| request | WEBAUTHN_PLUGIN_OPERATION_REQUEST* | in | クレデンシャル作成 (MakeCredential) 操作の要求内容を格納した WEBAUTHN_PLUGIN_OPERATION_REQUEST 構造体へのポインタを指定する。 |
| response | WEBAUTHN_PLUGIN_OPERATION_RESPONSE* | out | 操作の結果を格納した WEBAUTHN_PLUGIN_OPERATION_RESPONSE 構造体を受け取るポインタである。 |
vtbl 4 HRESULT GetAssertion(WEBAUTHN_PLUGIN_OPERATION_REQUEST* request, WEBAUTHN_PLUGIN_OPERATION_RESPONSE* response)
| request | WEBAUTHN_PLUGIN_OPERATION_REQUEST* | in | アサーション取得 (GetAssertion) 操作の要求内容を格納した WEBAUTHN_PLUGIN_OPERATION_REQUEST 構造体へのポインタを指定する。 |
| response | WEBAUTHN_PLUGIN_OPERATION_RESPONSE* | out | 操作の結果を格納した WEBAUTHN_PLUGIN_OPERATION_RESPONSE 構造体を受け取るポインタである。 |
vtbl 5 HRESULT CancelOperation(WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST* request)
| request | WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST* | in | キャンセルする操作を特定する WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST 構造体へのポインタを指定する。 |
vtbl 6 HRESULT GetLockStatus(PLUGIN_LOCK_STATUS* lockStatus)
| lockStatus | PLUGIN_LOCK_STATUS* | out | プラグインオーセンティケーターの現在のロック状態を表す PLUGIN_LOCK_STATUS 値を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IPluginAuthenticator "{D26BCF6F-B54C-43FF-9F06-D5BF148625F7}" #usecom global IPluginAuthenticator IID_IPluginAuthenticator "{}" #comfunc global IPluginAuthenticator_MakeCredential 3 var,var #comfunc global IPluginAuthenticator_GetAssertion 4 var,var #comfunc global IPluginAuthenticator_CancelOperation 5 var #comfunc global IPluginAuthenticator_GetLockStatus 6 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IPluginAuthenticator "{D26BCF6F-B54C-43FF-9F06-D5BF148625F7}" #usecom global IPluginAuthenticator IID_IPluginAuthenticator "{}" #comfunc global IPluginAuthenticator_MakeCredential 3 sptr,sptr #comfunc global IPluginAuthenticator_GetAssertion 4 sptr,sptr #comfunc global IPluginAuthenticator_CancelOperation 5 sptr #comfunc global IPluginAuthenticator_GetLockStatus 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。