Funzione WinBioAsyncOpenSession (winbio.h)
Si connette in modo asincrono a un provider di servizi biometrici e a una o più unità biometriche. A partire da Windows 10, build 1607, questa funzione è disponibile per l'uso con un'immagine per dispositivi mobili. In caso di esito positivo, la funzione restituisce un handle di sessione biometrico. Ogni operazione eseguita tramite questo handle verrà completata in modo asincrono, incluso WinBioCloseSession, e i risultati verranno restituiti all'applicazione client usando il metodo specificato nel parametro NotificationMethod .
Per una versione sincrona di questa funzione, vedere WinBioOpenSession.
Sintassi
HRESULT WinBioAsyncOpenSession(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[in] WINBIO_POOL_TYPE PoolType,
[in] WINBIO_SESSION_FLAGS Flags,
[in, optional] WINBIO_UNIT_ID *UnitArray,
[in, optional] SIZE_T UnitCount,
[in, optional] GUID *DatabaseId,
[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, optional] WINBIO_SESSION_HANDLE *SessionHandle
);
Parametri
[in] Factor
Maschera di bit di flag WINBIO_BIOMETRIC_TYPE che specifica i tipi di unità biometrica da enumerare. Attualmente è supportato solo WINBIO_TYPE_FINGERPRINT .
[in] PoolType
Valore ULONG che specifica il tipo di unità biometriche che verranno utilizzate nella sessione. I valori possibili sono i seguenti:
[in] Flags
Valore ULONG che specifica le caratteristiche di configurazione e accesso dell'unità biometrica per la nuova sessione. I flag di configurazione specificano la configurazione generale delle unità nella sessione. I flag di accesso specificano il modo in cui l'applicazione userà le unità biometriche. È necessario specificare un flag di configurazione, ma è possibile combinare tale flag con qualsiasi flag di accesso.
Valore | Significato |
---|---|
|
Gruppo: configurazione Le unità biometriche operano nel modo specificato durante l'installazione. È necessario usare questo valore quando il parametro PoolType è WINBIO_POOL_SYSTEM. |
|
Gruppo: configurazione Le unità biometriche funzionano solo come dispositivi di acquisizione di base. Tutte le operazioni di elaborazione, corrispondenza e archiviazione vengono eseguite dai plug-in software. |
|
Gruppo: configurazione Le unità biometriche usano funzionalità di elaborazione e archiviazione interne. |
|
Gruppo: accesso L'applicazione client acquisisce dati biometrici non elaborati usando WinBioCaptureSample. |
|
Gruppo: accesso Il client esegue operazioni di controllo definite dal fornitore su un'unità biometrica chiamando WinBioControlUnitPrivileged. |
[in, optional] UnitArray
Puntatore a una matrice di identificatori di unità biometrica da includere nella sessione. Puoi chiamare WinBioEnumBiometricUnits per enumerare le unità biometriche. Impostare questo valore su NULL se il parametro PoolType è WINBIO_POOL_SYSTEM.
[in, optional] UnitCount
Valore che specifica il numero di elementi nella matrice a cui punta il parametro UnitArray . Impostare questo valore su zero se il parametro PoolType è WINBIO_POOL_SYSTEM.
[in, optional] DatabaseId
Valore che specifica i database da utilizzare dalla sessione. Se il parametro PoolType è WINBIO_POOL_PRIVATE, è necessario specificare il GUID di un database installato. Se il parametro PoolType non è WINBIO_POOL_PRIVATE, è possibile specificare uno dei valori comuni seguenti.
[in] NotificationMethod
Specifica il modo in cui le notifiche di completamento per le operazioni asincrone in questa sessione biometrica devono essere recapitate all'applicazione client. Deve essere uno dei valori seguenti.
[in, optional] TargetWindow
Handle della finestra che riceverà gli avvisi di completamento. Questo valore viene ignorato a meno che il parametro NotificationMethod non sia impostato su WINBIO_ASYNC_NOTIFY_MESSAGE.
[in, optional] MessageCode
Il codice del messaggio della finestra deve inviare il framework per indicare gli avvisi di completamento. Questo valore viene ignorato a meno che il parametro NotificationMethod non sia impostato su WINBIO_ASYNC_NOTIFY_MESSAGE. Il valore deve essere compreso nell'intervallo WM_APP(0x8000) per 0xBFFF.
Windows Biometric Framework imposta il valore LPARAM del messaggio sull'indirizzo della struttura WINBIO_ASYNC_RESULT che contiene i risultati dell'operazione. Devi chiamare WinBioFree per rilasciare la struttura dopo aver finito di usarla.
[in, optional] CallbackRoutine
Indirizzo della routine di callback da richiamare al termine dell'operazione tramite l'handle di sessione. Questo valore viene ignorato a meno che il parametro NotificationMethod non sia impostato su WINBIO_ASYNC_NOTIFY_CALLBACK.
[in, optional] UserData
Indirizzo di un buffer fornito dal chiamante. Il buffer non viene modificato dal framework o dall'unità biometrica. Viene restituito nella struttura WINBIO_ASYNC_RESULT . L'applicazione può usare i dati per determinare quali azioni eseguire al ricevimento dell'avviso di completamento o per mantenere informazioni aggiuntive sull'operazione richiesta.
[in] AsynchronousOpen
Specifica se bloccare fino all'apertura della sessione del framework. Se si specifica FALSE , il processo viene bloccato. Se si specifica TRUE , la sessione viene aperta in modo asincrono.
Se si specifica FALSE per aprire la sessione del framework in modo sincrono, l'esito positivo o negativo viene restituito al chiamante direttamente da questa funzione nel valore restituito HRESULT . Se la sessione viene aperta correttamente, il primo evento di completamento asincrono ricevuto dall'applicazione sarà per un'operazione asincrona richiesta dopo l'apertura del framework.
Se si specifica TRUE per aprire la sessione del framework in modo asincrono, il primo avviso di completamento asincrono ricevuto sarà per l'apertura del framework. Se il parametro NotificationMethod è impostato su WINBIO_ASYNC_NOTIFY_CALLBACK, i risultati dell'operazione vengono recapitati alla struttura WINBIO_ASYNC_RESULT nella funzione di callback specificata dal parametro CallbackRoutine . Se il parametro NotificationMethod è impostato su WINBIO_ASYNC_NOTIFY_MESSAGE, i risultati dell'operazione vengono recapitati alla struttura WINBIO_ASYNC_RESULT a cui punta il campo LPARAM del messaggio della finestra.
[out, optional] SessionHandle
Se la funzione non riesce, questo parametro sarà NULL.
Se la sessione viene aperta in modo sincrono e completata, questo parametro conterrà un puntatore all'handle di sessione.
Se si specifica che la sessione viene aperta in modo asincrono, questo metodo restituisce immediatamente, l'handle di sessione sarà NULL ed è necessario esaminare la struttura WINBIO_ASYNC_RESULT per determinare se la sessione è stata aperta correttamente.
Valore restituito
Se la funzione ha esito positivo, restituisce S_OK. Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Codice restituito | Descrizione |
---|---|
|
Memoria insufficiente per creare la sessione biometrica. |
|
Se si imposta il metodo di notifica su WINBIO_ASYNC_NOTIFY_MESSAGE, il parametro TargetWindow non può essere NULL o HWND_BROADCAST e il parametro MessageCode non può essere zero (0). |
|
È necessario impostare il parametro SessionHandle e il parametro AsynchronousOpen .
Se si imposta il metodo di notifica su WINBIO_ASYNC_NOTIFY_CALLBACK, è necessario specificare anche l'indirizzo di una funzione di callback nel parametro CallbackRoutine . |
|
Il parametro Flags contiene il WINBIO_FLAG_RAW o il flag di WINBIO_FLAG_MAINTENANCE e al chiamante non è stata concessa alcuna autorizzazione di accesso. |
|
Uno o più numeri di unità biometrica specificati nel parametro UnitArray non sono validi. |
|
L'applicazione client è in esecuzione in un client desktop remoto e tenta di aprire una sessione del pool di sistema. |
|
Il parametro PoolType è impostato su WINBIO_POOL_PRIVATE e uno o più sensori richiesti in tale pool non sono disponibili. |
|
I criteri amministrativi correnti impediscono l'uso dell'API Di Windows Biometric Framework. |
Commenti
L'handle di sessione restituito dalla funzione WinBioAsyncOpenSession può essere usato per generare notifiche di completamento asincrone per una delle funzioni seguenti:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioCaptureSampleWithCallback
- WinBioEnrollCaptureWithCallback
- WinBioIdentifyWithCallback
- WinBioIdentifyWithCallback
Il parametro AsynchronousOpen determina solo se l'operazione di apertura verrà bloccata. Questo parametro non ha alcun effetto sul comportamento di completamento delle chiamate successive che usano l'handle di sessione.
Se si imposta il parametro AsynchronousOpen su TRUE, questa funzione restituirà S_OK non appena ha eseguito una convalida iniziale degli argomenti. Eventuali errori rilevati oltre tale punto verranno segnalati al chiamante usando il metodo specificato dal parametro NotificationMethod . Ovvero, un valore restituito con esito positivo indica solo che i parametri WinBioAsyncOpenSession sono stati eseguiti correttamente e non che l'operazione di apertura è riuscita. Per determinare se l'operazione di apertura è riuscita, è necessario esaminare la struttura WINBIO_ASYNC_RESULT .
Requisiti
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbio.h (include Winbio.h) |
Libreria | Winbio.lib |
DLL | Winbio.dll |