Función WinBioAsyncOpenFramework (winbio.h)

Abre un identificador para el marco biométrico. A partir de Windows 10, compilación 1607, esta función está disponible para su uso con una imagen móvil. Puede usar este identificador para enumerar de forma asincrónica las unidades biométricas, las bases de datos y los proveedores de servicios y para recibir notificaciones asincrónicas cuando las unidades biométricas se adjuntan al equipo o se quitan.

Sintaxis

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

Parámetros

[in] NotificationMethod

Especifica cómo se entregarán las notificaciones de finalización de operaciones asincrónicas en esta sesión de marco a la aplicación cliente. Debe ser uno de los siguientes valores.

Valor Significado
WINBIO_ASYNC_NOTIFY_CALLBACK
El marco invoca la función de devolución de llamada definida por la aplicación.
WINBIO_ASYNC_NOTIFY_MESSAGE
El marco publica un mensaje de ventana en la cola de mensajes de la aplicación.

[in, optional] TargetWindow

Identificador de la ventana que recibirá los avisos de finalización. Este valor se omite a menos que el parámetro NotificationMethod esté establecido en WINBIO_ASYNC_NOTIFY_MESSAGE.

[in, optional] MessageCode

Código de mensaje de ventana que el marco debe enviar para indicar los avisos de finalización. Este valor se omite a menos que el parámetro NotificationMethod esté establecido en WINBIO_ASYNC_NOTIFY_MESSAGE. El valor debe estar dentro del intervalo WM_APP (0x8000) para 0xBFFF.

Windows Biometric Framework establece el valor LPARAM del mensaje en la dirección de la estructura de WINBIO_ASYNC_RESULT que contiene los resultados de la operación. Debe llamar a WinBioFree para liberar la estructura una vez que haya terminado de usarlo.

[in, optional] CallbackRoutine

Dirección de la rutina de devolución de llamada que se va a invocar para los avisos de finalización. Este valor se omite a menos que el parámetro NotificationMethod esté establecido en WINBIO_ASYNC_NOTIFY_CALLBACK.

[in, optional] UserData

Dirección de un búfer proporcionado por el autor de la llamada. El marco o la unidad biométrica no modifican el búfer. Se devuelve en la estructura WINBIO_ASYNC_RESULT . La aplicación puede usar los datos para ayudar a determinar qué acciones realizar al recibir el aviso de finalización o para mantener información adicional sobre la operación solicitada.

[in] AsynchronousOpen

Especifica si se va a bloquear hasta que se haya abierto la sesión del marco. Si se especifica FALSE , el proceso se bloqueará. Si se especifica TRUE , la sesión se abrirá de forma asincrónica.

Si especifica FALSE para abrir la sesión del marco de trabajo de forma sincrónica, esta función devuelve el resultado correcto o erróneo directamente al autor de la llamada en el valor devuelto HRESULT . Si la sesión se abre correctamente, el primer evento de finalización asincrónica que recibe la aplicación será para una operación asincrónica solicitada después de que se haya abierto el marco.

Si especifica TRUE para abrir la sesión del marco de trabajo de forma asincrónica, el primer aviso de finalización asincrónico recibido será para abrir el marco. Si el parámetro NotificationMethod se establece en WINBIO_ASYNC_NOTIFY_CALLBACK, los resultados de la operación se entregan a la estructura WINBIO_ASYNC_RESULT en la función de devolución de llamada especificada por el parámetro CallbackRoutine . Si el parámetro NotificationMethod se establece en WINBIO_ASYNC_NOTIFY_MESSAGE, los resultados de la operación se entregan a la estructura WINBIO_ASYNC_RESULT a la que apunta el campo LPARAM del mensaje de ventana.

[out] FrameworkHandle

Si la función no se ejecuta correctamente, este parámetro será NULL.

Si la sesión se abre de forma sincrónica y correcta, este parámetro contendrá un puntero al identificador de sesión.

Si especifica que la sesión se abre de forma asincrónica, este método devuelve inmediatamente, el identificador de sesión será NULL y debe examinar la estructura de WINBIO_ASYNC_RESULT para determinar si la sesión se abrió correctamente.

Valor devuelto

Si la función se ejecuta correctamente, devuelve S_OK. Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código devuelto Descripción
E_OUTOFMEMORY
No hay suficiente memoria disponible para crear la sesión del marco.
E_INVALIDARG
Si establece el método de notificación en WINBIO_ASYNC_NOTIFY_MESSAGE, el parámetro TargetWindow no puede ser NULL ni HWND_BROADCAST y el parámetro MessageCode no puede ser cero (0).
E_POINTER
Se debe establecer el parámetro FrameworkHandle y el parámetro AsynchronousOpen .

Si establece el método de notificación en WINBIO_ASYNC_NOTIFY_CALLBACK, también debe especificar la dirección de una función de devolución de llamada en el parámetro CallbackRoutine .

Comentarios

El identificador de marco devuelto por la función WinBioAsyncOpenFramework se puede usar para generar notificaciones de finalización asincrónicas para las siguientes funciones:

El parámetro AsynchronousOpen determina solo si se bloqueará la operación abierta. Este parámetro no tiene ningún efecto en el comportamiento de finalización de las llamadas posteriores que usan el identificador de sesión.

Si establece el parámetro AsynchronousOpen en TRUE, esta función devolverá S_OK en cuanto haya realizado una validación inicial de los argumentos. Cualquier error detectado más allá de ese punto se notificará al autor de la llamada mediante el método especificado por el parámetro NotificationMethod . Es decir, un valor devuelto correcto indica solo que los parámetros WinBioAsyncOpenFramework estaban bien y no que la operación abierta se realizó correctamente. Para determinar si la operación de apertura se realizó correctamente, debe examinar la estructura de WINBIO_ASYNC_RESULT .

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbio.h (incluya Winbio.h)
Library Winbio.lib
Archivo DLL Winbio.dll

Consulte también

WinBioAsyncOpenSession