Condividi tramite


Funzione WinBioAsyncOpenFramework (winbio.h)

Apre un handle per il framework biometrico. A partire da Windows 10, build 1607, questa funzione è disponibile per l'uso con un'immagine per dispositivi mobili. È possibile usare questo handle per enumerare in modo asincrono unità biometriche, database e provider di servizi e ricevere una notifica asincrona quando le unità biometriche vengono collegate al computer o rimosse.

Sintassi

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
);

Parametri

[in] NotificationMethod

Specifica il modo in cui le notifiche di completamento per le operazioni asincrone in questa sessione del framework devono essere recapitate all'applicazione client. Deve essere uno dei valori seguenti.

Valore Significato
WINBIO_ASYNC_NOTIFY_CALLBACK
Il framework richiama la funzione di callback definita dall'applicazione.
WINBIO_ASYNC_NOTIFY_MESSAGE
Il framework invia un messaggio di finestra alla coda dei messaggi dell'applicazione.

[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 per gli avvisi di completamento. 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] FrameworkHandle

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
E_OUTOFMEMORY
Memoria insufficiente per creare la sessione del framework.
E_INVALIDARG
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).
E_POINTER
È necessario impostare il parametro FrameworkHandle 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 .

Commenti

L'handle del framework restituito dalla funzione WinBioAsyncOpenFramework può essere usato per generare notifiche di completamento asincrone per le funzioni seguenti:

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 WinBioAsyncOpenFramework sono stati eseguiti correttamente e non che l'operazione di apertura sia 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

Vedi anche

WinBioAsyncOpenSession