Compartir a través de


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 usarla con una imagen móvil. Puede usar este identificador para enumerar de forma asincrónica unidades biométricas, bases de datos y proveedores de servicios y para recibir notificaciones asincrónicas cuando las unidades biométricas están conectadas al equipo o se quitan.

Syntax

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 van a entregar 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.

Importancia Meaning
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 WINBIO_ASYNC_RESULT que contiene los resultados de la operación. Debes llamar a WinBioFree para liberar la estructura una vez que hayas terminado de usarla.

[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 ayudarle a determinar qué acciones realizar tras la recepción del 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 de marco. Especificar FALSE hace que el proceso se bloquee. Especificar TRUE hace que la sesión se abra 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 al autor de la llamada directamente 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 el marco se haya abierto.

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 de 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 la 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 abra 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, entre otros, los de la tabla siguiente. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código de retorno Description
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 .

Observaciones

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

El parámetro AsynchronousOpen determina solo si la operación abierta se bloqueará. 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 tan pronto como haya realizado una validación inicial de los argumentos. Los errores detectados más allá de ese punto se notificarán 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 de apertura se realizó correctamente. Para determinar si la operación abierta se realizó correctamente, debe examinar la estructura WINBIO_ASYNC_RESULT .

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2012 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header winbio.h (incluya Winbio.h)
Library Winbio.lib
DLL de Winbio.dll

Consulte también

WinBioAsyncOpenSession