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.
[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 |
---|---|
|
La mémoire disponible est insuffisante pour créer la session d’infrastructure. |
|
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). |
|
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 :
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
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 |