Partager via


WinBioAsyncOpenFramework, fonction (winbio.h)

Ouvre un handle dans l’infrastructure biométrique. À compter de Windows 10, build 1607, cette fonction peut être utilisée avec une image mobile. Vous pouvez utiliser ce handle pour énumérer de manière asynchrone les unités biométriques, les bases de données et les fournisseurs de services, et pour recevoir une notification asynchrone lorsque des unités biométriques sont attachées à l’ordinateur ou supprimées.

Syntaxe

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

Paramètres

[in] NotificationMethod

Spécifie comment les notifications d’achèvement pour les opérations asynchrones dans cette session d’infrastructure doivent être remises à l’application cliente. Il doit s’agir de l’une des valeurs suivantes.

Valeur Signification
WINBIO_ASYNC_NOTIFY_CALLBACK
L’infrastructure appelle la fonction de rappel définie par l’application.
WINBIO_ASYNC_NOTIFY_MESSAGE
L’infrastructure publie un message de fenêtre dans la file d’attente de messages de l’application.

[in, optional] TargetWindow

Handle de la fenêtre qui recevra les avis d’achèvement. Cette valeur est ignorée, sauf si le paramètre NotificationMethod est défini sur WINBIO_ASYNC_NOTIFY_MESSAGE.

[in, optional] MessageCode

Code de message de fenêtre que l’infrastructure doit envoyer pour indiquer les avis d’achèvement. Cette valeur est ignorée, sauf si le paramètre NotificationMethod est défini sur WINBIO_ASYNC_NOTIFY_MESSAGE. La valeur doit être comprise dans la plage WM_APP (0x8000) à 0xBFFF.

L’infrastructure biométrique Windows définit la valeur LPARAM du message sur l’adresse de la structure WINBIO_ASYNC_RESULT qui contient les résultats de l’opération. Vous devez appeler WinBioFree pour libérer la structure une fois que vous avez terminé de l’utiliser.

[in, optional] CallbackRoutine

Adresse de la routine de rappel à appeler pour les avis d’achèvement. Cette valeur est ignorée, sauf si le paramètre NotificationMethod est défini sur WINBIO_ASYNC_NOTIFY_CALLBACK.

[in, optional] UserData

Adresse d’une mémoire tampon fournie par l’appelant. La mémoire tampon n’est pas modifiée par l’infrastructure ou l’unité biométrique. Elle est retournée dans la structure WINBIO_ASYNC_RESULT . Votre application peut utiliser les données pour l’aider à déterminer les actions à effectuer à la réception de l’avis d’achèvement ou pour conserver des informations supplémentaires sur l’opération demandée.

[in] AsynchronousOpen

Spécifie s’il faut bloquer jusqu’à ce que la session d’infrastructure ait été ouverte. La spécification de FALSE entraîne le blocage du processus. La spécification de TRUE entraîne l’ouverture asynchrone de la session.

Si vous spécifiez FALSE pour ouvrir la session d’infrastructure de façon synchrone, la réussite ou l’échec est retourné directement à l’appelant par cette fonction dans la valeur de retour HRESULT . Si la session est ouverte correctement, le premier événement d’achèvement asynchrone que votre application reçoit concerne une opération asynchrone demandée après l’ouverture de l’infrastructure.

Si vous spécifiez TRUE pour ouvrir la session d’infrastructure de manière asynchrone, la première notification d’achèvement asynchrone reçue concerne l’ouverture de l’infrastructure. Si le paramètre NotificationMethod a la valeur WINBIO_ASYNC_NOTIFY_CALLBACK, les résultats de l’opération sont remis à la structure WINBIO_ASYNC_RESULT dans la fonction de rappel spécifiée par le paramètre CallbackRoutine . Si le paramètre NotificationMethod a la valeur WINBIO_ASYNC_NOTIFY_MESSAGE, les résultats de l’opération sont remis à la structure WINBIO_ASYNC_RESULT pointée par le champ LPARAM du message de fenêtre.

[out] FrameworkHandle

Si la fonction échoue, ce paramètre est NULL.

Si la session est ouverte de manière synchrone et correctement, ce paramètre contient un pointeur vers le handle de session.

Si vous spécifiez que la session doit être ouverte de manière asynchrone, cette méthode retourne immédiatement, le handle de session sera NULL et vous devez examiner la structure WINBIO_ASYNC_RESULT pour déterminer si la session a été correctement ouverte.

Valeur retournée

Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code de retour Description
E_OUTOFMEMORY
La mémoire disponible est insuffisante pour créer la session d’infrastructure.
E_INVALIDARG
Si vous définissez la méthode de notification sur WINBIO_ASYNC_NOTIFY_MESSAGE, le paramètre TargetWindow ne peut pas être NULL ou HWND_BROADCAST et le paramètre MessageCode ne peut pas être égal à zéro (0).
E_POINTER
Le paramètre FrameworkHandle et le paramètre AsynchroneOpen doivent être définis.

Si vous définissez la méthode de notification sur WINBIO_ASYNC_NOTIFY_CALLBACK, vous devez également spécifier l’adresse d’une fonction de rappel dans le paramètre CallbackRoutine .

Remarques

Le handle d’infrastructure retourné par la fonction WinBioAsyncOpenFramework peut être utilisé pour générer des notifications d’achèvement asynchrones pour les fonctions suivantes :

Le paramètre AsynchroneOpen détermine uniquement si l’opération d’ouverture sera bloquée. Ce paramètre n’a aucun effet sur le comportement d’achèvement des appels suivants qui utilisent le handle de session.

Si vous définissez le paramètre AsynchroneOpen sur TRUE, cette fonction retourne S_OK dès qu’elle a effectué une validation initiale des arguments. Toutes les erreurs détectées au-delà de ce point sont signalées à l’appelant à l’aide de la méthode spécifiée par le paramètre NotificationMethod . Autrement dit, une valeur de retour réussie indique uniquement que les paramètres WinBioAsyncOpenFramework étaient corrects et non que l’opération d’ouverture a réussi. Pour déterminer si l’opération d’ouverture a réussi, vous devez examiner la structure WINBIO_ASYNC_RESULT .

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbio.h (inclure Winbio.h)
Bibliothèque Winbio.lib
DLL Winbio.dll

Voir aussi

WinBioAsyncOpenSession