Función WinBioControlUnitPrivileged (winbio.h)
Permite al autor de la llamada realizar operaciones de control definidas por el proveedor con privilegios en una unidad biométrica. A partir de Windows 10, compilación 1607, esta función está disponible para su uso con una imagen móvil. El cliente debe llamar a esta función para realizar operaciones de proveedor extendidas que requieran derechos de acceso elevados. Si no se requieren privilegios, el cliente puede llamar a la función WinBioControlUnit .
HRESULT WinBioControlUnitPrivileged(
[in] WINBIO_SESSION_HANDLE SessionHandle,
[in] WINBIO_UNIT_ID UnitId,
[in] WINBIO_COMPONENT Component,
[in] ULONG ControlCode,
PUCHAR SendBuffer,
[in] SIZE_T SendBufferSize,
PUCHAR ReceiveBuffer,
[in] SIZE_T ReceiveBufferSize,
SIZE_T *ReceiveDataSize,
[out, optional] ULONG *OperationStatus
);
[in] SessionHandle
Valor WINBIO_SESSION_HANDLE que identifica una sesión biométrica abierta. Abra un identificador de sesión sincrónico llamando a WinBioOpenSession. Abra un identificador de sesión asincrónico llamando a WinBioAsyncOpenSession.
[in] UnitId
Valor WINBIO_UNIT_ID que identifica la unidad biométrica. Este valor debe corresponder al identificador de unidad usado anteriormente en la función WinBioLockUnit .
[in] Component
Valor de WINBIO_COMPONENT que especifica el componente dentro de la unidad biométrica que debe realizar la operación. Puede ser uno de los valores siguientes.
[in] ControlCode
Código definido por el proveedor reconocido por la unidad biométrica especificada por el parámetro UnitId y el adaptador especificado por el parámetro Component .
SendBuffer
Dirección del búfer que contiene la información de control que se enviará al adaptador especificado por el parámetro Component . El formato y el contenido del búfer se definen por el proveedor.
[in] SendBufferSize
Tamaño, en bytes, del búfer especificado por el parámetro SendBuffer .
ReceiveBuffer
Dirección del búfer que recibe información enviada por el adaptador especificado por el parámetro Component . El formato y el contenido del búfer se definen por el proveedor.
[in] ReceiveBufferSize
Tamaño, en bytes, del búfer especificado por el parámetro ReceiveBuffer .
ReceiveDataSize
Puntero a un valor de SIZE_T que contiene el tamaño, en bytes, de los datos escritos en el búfer especificado por el parámetro ReceiveBuffer .
[out, optional] OperationStatus
Puntero a un entero que contiene un código de estado definido por el proveedor que especifica el resultado de la operación de control.
Si la función se realiza 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 |
---|---|
|
El identificador de sesión no es válido. |
|
No se reconoce el valor especificado en el parámetro ControlCode . |
|
Los parámetros SendBuffer, ReceiveBuffer, ReceiveDataSize, OperationStatus no pueden ser NULL. |
|
El autor de la llamada no tiene permiso para realizar la operación o la sesión no se abrió mediante WINBIO_FLAG_MAINTENANCE. |
|
No se reconoce el valor especificado en el parámetro ControlCode . |
|
La unidad biométrica especificada por el parámetro UnitId debe bloquearse antes de que se puedan realizar operaciones de control. |
Los proveedores que crean complementos deben decidir qué operaciones extendidas tienen privilegios y cuáles están disponibles para todos los clientes. Para realizar una operación con privilegios, la aplicación cliente debe llamar a la función WinBioControlUnitPrivileged . Windows Biometric Framework solo permite a los clientes que tengan los derechos de acceso adecuados para llamar a esta función. Para realizar una operación que no requiera privilegios, el cliente debe llamar a la función WinBioControlUnit .
Debes llamar a WinBioLockUnit antes de llamar a WinBioControlUnitPrivileged. La función WinBioLockUnit crea una región bloqueada en la que se pueden realizar operaciones definidas por el proveedor de forma segura.
Para llamar correctamente a esta función, se debe haber abierto el identificador de sesión especificando WINBIO_FLAG_MAINTENANCE. Solo los administradores y las cuentas del sistema local tienen los privilegios necesarios.
Para usar WinBioControlUnitPrivileged sincrónicamente, llame a la función con un identificador de sesión creado mediante una llamada a WinBioOpenSession. La función se bloquea hasta que se completa la operación o se produce un error.
Para usar WinBioControlUnitPrivileged de forma asincrónica, llame a la función con un identificador de sesión creado llamando a WinBioAsyncOpenSession. El marco asigna una estructura de WINBIO_ASYNC_RESULT y la usa para devolver información sobre el éxito o el error de la operación. La estructura WINBIO_ASYNC_RESULT se devuelve a la devolución de llamada de la aplicación o a la cola de mensajes de la aplicación, según el valor establecido en el parámetro NotificationMethod de la función WinBioAsyncOpenSession .
- Si decide recibir avisos de finalización mediante una devolución de llamada, debe implementar una función de PWINBIO_ASYNC_COMPLETION_CALLBACK y establecer el parámetro NotificationMethod en WINBIO_ASYNC_NOTIFY_CALLBACK.
- Si decide recibir notificaciones de finalización mediante la cola de mensajes de la aplicación, debe establecer el parámetro NotificationMethoden WINBIO_ASYNC_NOTIFY_MESSAGE. El marco devuelve un puntero WINBIO_ASYNC_RESULT al campo LPARAM del mensaje de ventana.
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbio.h (incluye Winbio.h) |
Library | Winbio.lib |
Archivo DLL | Winbio.dll |