winBioControlUnit 函式 (winbio.h)
可讓呼叫端在生物特徵辨識單位上執行廠商定義的控制作業。 從 Windows 10 組建 1607 開始,此函式可用來搭配行動映射使用。 此函式可供存取不需要提高許可權的擴充廠商作業。 如果需要訪問許可權,請呼叫 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 函式中使用的單位識別碼。
[in] Component
WINBIO_COMPONENT值,指定應該執行作業之生物特徵辨識單位內的元件。 這可以是下列其中一個值。
值 | 意義 |
---|---|
|
將命令傳送至感測器配接器。 |
|
將命令傳送至引擎配接器。 |
|
將命令傳送至記憶體配接器。 |
[in] ControlCode
由 UnitId 參數所指定的生物特徵辨識單位所辨識的廠商定義程式代碼,以及 Component 參數所指定的配接器。
SendBuffer
緩衝區的位址,其中包含要傳送至 Component 參數所指定之配接器的控件資訊。 緩衝區的格式和內容是廠商定義的。
[in] SendBufferSize
SendBuffer 參數所指定的緩衝區大小,以位元組為單位。
ReceiveBuffer
接收 Component 參數所指定之配接器所傳送資訊的緩衝區位址。 緩衝區的格式和內容是廠商定義的。
[in] ReceiveBufferSize
ReceiveBuffer 參數所指定的緩衝區大小,以位元組為單位。
ReceiveDataSize
SIZE_T值的指標,其中包含 ReceiveBuffer 參數所指定之緩衝區的數據大小,以位元組為單位。
[out, optional] OperationStatus
包含廠商定義狀態代碼的整數指標,指定控制作業的結果。
傳回值
如果函式成功,則會傳回S_OK。 如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼 | Description |
---|---|
|
會話句柄無效。 |
|
無法辨識 ControlCode 參數中指定的值。 |
|
SendBuffer、ReceiveBuffer、ReceiveDataSize、OperationStatus 參數不可為 NULL。 |
|
無法辨識 ControlCode 參數中指定的值。 |
|
UnitId 參數指定的生物特徵辨識單位必須先鎖定,才能執行任何控制作業。 |
備註
您必須先呼叫 WinBioLockUnit ,才能呼叫 WinBioControlUnit。 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) |
程式庫 | Winbio.lib |
Dll | Winbio.dll |