Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se conecta de forma asincrónica a un proveedor de servicios biométricos y a una o varias unidades biométricas. A partir de Windows 10, compilación 1607, esta función está disponible para usarla con una imagen móvil. Si se ejecuta correctamente, la función devuelve un identificador de sesión biométrica. Todas las operaciones realizadas mediante este identificador se completarán de forma asincrónica, incluido WinBioCloseSession, y los resultados se devolverán a la aplicación cliente mediante el método especificado en el parámetro NotificationMethod .
Para obtener una versión sincrónica de esta función, consulte WinBioOpenSession.
Syntax
HRESULT WinBioAsyncOpenSession(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[in] WINBIO_POOL_TYPE PoolType,
[in] WINBIO_SESSION_FLAGS Flags,
[in, optional] WINBIO_UNIT_ID *UnitArray,
[in, optional] SIZE_T UnitCount,
[in, optional] GUID *DatabaseId,
[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, optional] WINBIO_SESSION_HANDLE *SessionHandle
);
Parámetros
[in] Factor
Máscara de bits de marcas de WINBIO_BIOMETRIC_TYPE que especifica los tipos de unidad biométrica que se van a enumerar. Actualmente solo se admite WINBIO_TYPE_FINGERPRINT .
[in] PoolType
Valor de ULONG que especifica el tipo de las unidades biométricas que se usarán en la sesión. Puede ser uno de los siguientes valores:
[in] Flags
Valor de ULONG que especifica la configuración de unidades biométricas y las características de acceso para la nueva sesión. Las marcas de configuración especifican la configuración general de unidades en la sesión. Las marcas de acceso especifican cómo usará la aplicación las unidades biométricas. Debe especificar una marca de configuración, pero puede combinar esa marca con cualquier marca de acceso.
| Importancia | Meaning |
|---|---|
|
Grupo: configuración Las unidades biométricas funcionan de la manera especificada durante la instalación. Debe usar este valor cuando se WINBIO_POOL_SYSTEM el parámetro PoolType. |
|
Grupo: configuración Las unidades biométricas solo funcionan como dispositivos de captura básicos. Todos los complementos de software realizan todas las operaciones de procesamiento, coincidencia y almacenamiento. |
|
Grupo: configuración Las unidades biométricas usan funcionalidades de procesamiento y almacenamiento internos. |
|
Grupo: acceso La aplicación cliente captura datos biométricos sin procesar mediante WinBioCaptureSample. |
|
Grupo: acceso El cliente realiza operaciones de control definidas por el proveedor en una unidad biométrica llamando a WinBioControlUnitPrivileged. |
[in, optional] UnitArray
Puntero a una matriz de identificadores de unidad biométrica que se van a incluir en la sesión. Puede llamar a WinBioEnumBiometricUnits para enumerar las unidades biométricas. Establezca este valor en NULL si el parámetro PoolType es WINBIO_POOL_SYSTEM.
[in, optional] UnitCount
Valor que especifica el número de elementos de la matriz a los que apunta el parámetro UnitArray . Establezca este valor en cero si el parámetro PoolType es WINBIO_POOL_SYSTEM.
[in, optional] DatabaseId
Valor que especifica las bases de datos que va a usar la sesión. Si el parámetro PoolType es WINBIO_POOL_PRIVATE, debe especificar el GUID de una base de datos instalada. Si el parámetro PoolType no es WINBIO_POOL_PRIVATE, puede especificar uno de los siguientes valores comunes.
[in] NotificationMethod
Especifica cómo se entregarán las notificaciones de finalización de operaciones asincrónicas en esta sesión biométrica a la aplicación cliente. Debe ser uno de los siguientes valores.
[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 cuando se inicia la operación mediante el identificador de sesión completado. 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 ventana.
[out, optional] SessionHandle
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 |
|---|---|
|
No hay suficiente memoria disponible para crear la sesión biométrica. |
|
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). |
|
Se debe establecer el parámetro SessionHandle 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 . |
|
El parámetro Flags contiene el WINBIO_FLAG_RAW o la marca WINBIO_FLAG_MAINTENANCE y el autor de la llamada no se le ha concedido ningún permiso de acceso. |
|
Uno o varios de los números de unidad biométrica especificados en el parámetro UnitArray no son válidos. |
|
La aplicación cliente se ejecuta en un cliente de Escritorio remoto e intenta abrir una sesión del grupo de sistemas. |
|
El parámetro PoolType se establece en WINBIO_POOL_PRIVATE y uno o varios de los sensores solicitados de ese grupo no están disponibles. |
|
La directiva administrativa actual prohíbe el uso de la API de Windows Biometric Framework. |
Observaciones
El identificador de sesión devuelto por la función WinBioAsyncOpenSession se puede usar para generar notificaciones de finalización asincrónicas para cualquiera de las funciones siguientes:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioCaptureSampleWithCallback
- WinBioEnrollCaptureWithCallback
- WinBioIdentifyWithCallback
- WinBioIdentifyWithCallback
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 WinBioAsyncOpenSession estaban bien y no que la operación abierta 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 |