WinBioControlUnit 関数 (winbio.h)
呼び出し元が生体認証ユニットに対してベンダー定義の制御操作を実行できるようにします。 ビルド 1607 Windows 10以降、この関数はモバイル イメージで使用できます。 この関数は、昇格された特権が必要ない拡張ベンダー操作にアクセスするために提供されます。 アクセス権が必要な場合は、 WinBioControlUnitPrivileged 関数を 呼び出します。
構文
HRESULT WinBioControlUnit(
[in] WINBIO_SESSION_HANDLE SessionHandle,
[in] WINBIO_UNIT_ID UnitId,
[in] WINBIO_COMPONENT Component,
[in] ULONG ControlCode,
PUCHAR SendBuffer,
[in] SIZE_T SendBufferSize,
PUCHAR ReceiveBuffer,
[in] SIZE_T ReceiveBufferSize,
SIZE_T *ReceiveDataSize,
[out, optional] ULONG *OperationStatus
);
パラメーター
[in] SessionHandle
開いている生体認証セッションを識別する WINBIO_SESSION_HANDLE 値。 WinBioOpenSession を呼び出して、同期セッション ハンドルを開きます。 WinBioAsyncOpenSession を呼び出して非同期セッション ハンドルを開きます。
[in] UnitId
生体認証ユニットを識別する WINBIO_UNIT_ID 値。 この値は、 WinBioLockUnit 関数で以前に使用したユニット ID に対応している必要があります。
[in] Component
操作 を 実行する必要がある生体認証ユニット内のコンポーネントを指定するWINBIO_COMPONENT値。 次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
センサー アダプターにコマンドを送信します。 |
|
エンジン アダプターにコマンドを送信します。 |
|
コマンドをストレージ アダプターに送信します。 |
[in] ControlCode
UnitId パラメーターで指定された生体認証ユニットと、Component パラメーターで指定されたアダプターによって認識されるベンダー定義コード。
SendBuffer
Component パラメーターで指定されたアダプターに送信される制御情報を含むバッファーのアドレス。 バッファーの形式と内容はベンダー定義です。
[in] SendBufferSize
SendBuffer パラメーターで指定されたバッファーのサイズ (バイト単位)。
ReceiveBuffer
Component パラメーターで指定されたアダプターによって送信される情報を受信するバッファーのアドレス。 バッファーの形式と内容はベンダー定義です。
[in] ReceiveBufferSize
ReceiveBuffer パラメーターで指定されたバッファーのサイズ (バイト単位)。
ReceiveDataSize
ReceiveBuffer パラメーターで指定されたバッファーに書き込まれたデータのサイズ (バイト単位) を含むSIZE_T値へのポインター。
[out, optional] OperationStatus
制御操作の結果を指定するベンダー定義の状態コードを含む整数へのポインター。
戻り値
関数が成功した場合は、S_OK を返します。 関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
リターン コード | 説明 |
---|---|
|
セッション ハンドルが無効です。 |
|
ControlCode パラメーターで指定された値が認識されません。 |
|
SendBuffer、ReceiveBuffer、ReceiveDataSize、OperationStatus パラメーターを NULL にすることはできません。 |
|
ControlCode パラメーターで指定された値が認識されません。 |
|
UnitId パラメーターで指定された生体認証ユニットは、制御操作を実行する前にロックする必要があります。 |
注釈
WinBioControlUnit を呼び出す前に、WinBioLockUnit を呼び出す必要があります。 WinBioLockUnit 関数は、ベンダー定義の操作を安全に実行できるロックされた領域を作成します。
プラグインを作成するベンダーは、特権を持つ拡張操作と、すべてのクライアントで使用できる拡張操作を決定する必要があります。 特権操作を実行するには、クライアント アプリケーションで WinBioControlUnitPrivileged 関数を呼び出す必要があります。 Windows 生体認証フレームワークでは、 WinBioControlUnitPrivileged を呼び出す適切なアクセス権を持つクライアントのみが許可されます。
WinBioControlUnit を同期的に使用するには、WinBioOpenSession を呼び出して作成されたセッション ハンドルで 関数を呼び出します。 関数は、操作が完了するか、エラーが発生するまでブロックします。
WinBioControlUnit を非同期的に使用するには、WinBioAsyncOpenSession を呼び出して作成されたセッション ハンドルで 関数を呼び出します。 フレームワークは 、WINBIO_ASYNC_RESULT 構造体を割り当て、それを使用して操作の成功または失敗に関する情報を返します。 WINBIO_ASYNC_RESULT構造体は、WinBioAsyncOpenSession 関数の NotificationMethod パラメーターで設定した値に応じて、アプリケーション コールバックまたはアプリケーション メッセージ キューに返されます。
- コールバックを使用して完了通知を受け取る場合は、 PWINBIO_ASYNC_COMPLETION_CALLBACK 関数を実装し、 NotificationMethod パラメーターを WINBIO_ASYNC_NOTIFY_CALLBACK に設定する必要があります。
- アプリケーション メッセージ キューを使用して完了通知を受け取る場合は、 NotificationMethod パラメーターを WINBIO_ASYNC_NOTIFY_MESSAGE に設定する必要があります。 フレームワークは、ウィンドウ メッセージの LPARAM フィールドへのWINBIO_ASYNC_RESULT ポインターを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbio.h (Winbio.h を含む) |
Library | Winbio.lib |
[DLL] | Winbio.dll |