共用方式為


WinBioAsyncOpenFramework 函式(winbio.h)

開啟生物識別框架的介面。 從 Windows 10 版本 1607 開始,此功能可用於行動映像檔。 您可以使用此帳號非同步列舉生物特徵單位、資料庫及服務提供者,並在生物特徵單位連接或移除電腦時接收非同步通知。

語法

HRESULT WinBioAsyncOpenFramework(
  [in]           WINBIO_ASYNC_NOTIFICATION_METHOD  NotificationMethod,
  [in, optional] HWND                              TargetWindow,
  [in, optional] UINT                              MessageCode,
  [in, optional] PWINBIO_ASYNC_COMPLETION_CALLBACK CallbackRoutine,
  [in, optional] PVOID                             UserData,
  [in]           BOOL                              AsynchronousOpen,
  [out]          WINBIO_FRAMEWORK_HANDLE           *FrameworkHandle
);

參數

[in] NotificationMethod

規定本框架會話中非同步操作的完成通知如何傳遞給用戶端應用程式。 這必須是以下其中一個數值。

價值觀 Meaning
WINBIO_ASYNC_NOTIFY_CALLBACK
框架會呼叫應用程式定義的回調函式。
WINBIO_ASYNC_NOTIFY_MESSAGE
框架會將視窗訊息貼入應用程式的訊息佇列。

[in, optional] TargetWindow

會收到完工通知的窗口。 除非 NotificationMethod 參數設為 WINBIO_ASYNC_NOTIFY_MESSAGE,否則此值會被忽略。

[in, optional] MessageCode

框架必須發送的視窗訊息代碼以表示完成通知。 除非 NotificationMethod 參數設為 WINBIO_ASYNC_NOTIFY_MESSAGE,否則此值會被忽略。 該值必須在 WM_APP (0x8000)到0xBFFF範圍內。

Windows 生物特徵框架將訊息的 LPARAM 值設定為包含操作結果的 WINBIO_ASYNC_RESULT 結構的位址。 使用完後,必須聯絡 WinBioFree 來釋放該結構。

[in, optional] CallbackRoutine

用於完成通知時呼叫回撥例程的位址。 除非 NotificationMethod 參數設為 WINBIO_ASYNC_NOTIFY_CALLBACK,否則此值會被忽略。

[in, optional] UserData

呼叫者提供的緩衝區位址。 緩衝區不會被框架或生物辨識單元修改。 它會被歸還在 WINBIO_ASYNC_RESULT 結構中。 您的應用程式可利用這些資料來決定收到完工通知後應執行的行動,或維持關於所請求作業的額外資訊。

[in] AsynchronousOpen

指定是否要封鎖直到框架會話開啟。 指定 FALSE 會導致程序阻塞。 指定 TRUE 會使該會話以非同步方式開啟。

如果你指定 FALSE 以同步開啟框架會話,成功或失敗會直接由這個函式以 HRESULT 回傳值給呼叫者。 若會話成功開啟,應用程式收到的第一個非同步完成事件將是框架開啟後請求的非同步操作。

如果你指定 TRUE 以非同步開啟框架會話,第一個非同步完成通知將是開啟框架時收到的。 若 NotificationMethod 參數設為 WINBIO_ASYNC_NOTIFY_CALLBACK,操作結果會依照 CallbackRoutine 參數指定的回調函式中,傳送至 WINBIO_ASYNC_RESULT 結構。 若 NotificationMethod 參數設為 WINBIO_ASYNC_NOTIFY_MESSAGE,操作結果會傳送至 LPARAM 欄位指向的 WINBIO_ASYNC_RESULT 結構。

[out] FrameworkHandle

若函式未成功,該參數將為 NULL。

若會話是同步且成功開啟,該參數將包含指向會話句柄的指標。

如果你指定非同步開啟會話,這個方法會立即回傳,會話的句柄會是 NULL,你必須檢查 WINBIO_ASYNC_RESULT 結構以判斷該會話是否成功開啟。

返回值

如果函式成功,則會傳回 S_OK。 如果函式失敗,它會傳回指出錯誤的 HRESULT 值。 可能的值包括但不限於下表中的值。 如需常見錯誤碼的清單,請參閱 常見的 HRESULT 值

回傳碼 Description
E_OUTOFMEMORY
可用的記憶體不足以建立框架會話。
E_INVALIDARG
如果你將通知方法設為 WINBIO_ASYNC_NOTIFY_MESSAGE,TargetWindow 參數不能是 NULL 或 HWND_BROADCAST,MessageCode 參數也不能是零(0)。
E_POINTER
必須設定 FrameworkHandle 參數與 AsynchronousOpen 參數。

如果你將通知方法設為 WINBIO_ASYNC_NOTIFY_CALLBACK,也必須在 CallbackRoutine 參數中指定回調函式的位址。

備註

WinBioAsyncOpenFramework 函式回傳的框架句柄可用於產生以下函式的非同步完成通知:

AsynchronousOpen 參數僅決定 open 操作是否會阻塞。 此參數不影響後續使用會話句柄的呼叫的完成行為。

如果你將 AsynchronousOpen 參數設為 TRUE,這個函式會在對參數進行初步驗證後立即回傳 S_OK 。 超過該點後偵測到的任何錯誤,都會依 照 NotificationMethod 參數指定的方法回報給呼叫者。 也就是說,成功的回傳值僅表示 WinBioAsyncOpenFramework 參數正常,並不代表開啟操作成功。 要判斷公開行動是否成功,必須檢視 WINBIO_ASYNC_RESULT 結構。

需求

Requirement 價值觀
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平臺 窗戶
Header winbio.h(包括Winbio.h)
Library Winbio.lib 網站
DLL Winbio.dll

另請參閱

WinBioAsyncOpenSession