Share via


Función WinBioGetProperty (winbio.h)

Recupera una propiedad de sesión, unidad o plantilla. A partir de Windows 10, compilación 1607, esta función está disponible para su uso con una imagen móvil.

Sintaxis

HRESULT WinBioGetProperty(
  [in]            WINBIO_SESSION_HANDLE    SessionHandle,
  [in]            WINBIO_PROPERTY_TYPE     PropertyType,
  [in]            WINBIO_PROPERTY_ID       PropertyId,
  [in, optional]  WINBIO_UNIT_ID           UnitId,
  [in, optional]  WINBIO_IDENTITY          *Identity,
  [in, optional]  WINBIO_BIOMETRIC_SUBTYPE SubFactor,
                  PVOID                    *PropertyBuffer,
  [out, optional] SIZE_T                   *PropertyBufferSize
);

Parámetros

[in] SessionHandle

Valor de 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] PropertyType

Valor WINBIO_PROPERTY_TYPE que especifica el origen de la información de la propiedad. Actualmente, debe ser WINBIO_PROPERTY_TYPE_UNIT o WINBIO_PROPERTY_TYPE_ACCOUNT. Para obtener más información sobre los tipos de propiedad, vea WINBIO_PROPERTY_TYPE Constantes.

El valor de WINBIO_PROPERTY_TYPE_ACCOUNT se admite a partir de Windows 10.

[in] PropertyId

Valor WINBIO_PROPERTY_ID que especifica la propiedad que desea consultar. Los siguientes valores son posibles.

Valor Significado
WINBIO_PROPERTY_SAMPLE_HINT
Calcula el número máximo de buenas muestras biométricas necesarias para completar una plantilla de inscripción. El resultado de la consulta de propiedades se devuelve en el búfer al que apunta el parámetro PropertyBuffer como un valor ULONG que contiene la sugerencia.
WINBIO_PROPERTY_EXTENDED_SENSOR_INFO
Contiene información extendida sobre las funcionalidades y atributos del componente del sensor que está conectado a una unidad biométrica específica. El resultado de la consulta de propiedades se devuelve en el búfer al que apunta el parámetro PropertyBuffer como una estructura de WINBIO_EXTENDED_SENSOR_INFO . Este valor se admite a partir de Windows 10.
WINBIO_PROPERTY_EXTENDED_ENGINE_INFO
Contiene información extendida sobre las funcionalidades y atributos del componente del motor que está conectado a una unidad biométrica específica. El resultado de la consulta de propiedad se devuelve en el búfer al que apunta el parámetro PropertyBuffer como una estructura WINBIO_EXTENDED_ENGINE_INFO . Este valor se admite a partir de Windows 10.
WINBIO_PROPERTY_EXTENDED_STORAGE_INFO
Contiene información extendida sobre las funcionalidades y atributos del componente de almacenamiento que está conectado a una unidad biométrica específica. El resultado de la consulta de propiedades se devuelve en el búfer al que apunta el parámetro PropertyBuffer como una estructura de WINBIO_EXTENDED_STORAGE_INFO . Este valor se admite a partir de Windows 10.
WINBIO_PROPERTY_EXTENDED_ENROLLMENT_STATUS
Contiene información extendida sobre el estado de una inscripción que está en curso en una unidad biométrica específica. El resultado de la consulta de propiedad se devuelve en el búfer al que apunta el parámetro PropertyBuffer como una estructura de WINBIO_EXTENDED_ENROLLMENT_STATUS . Si no hay ninguna inscripción en curso en la unidad biométrica, el miembro TemplateStatus de la estructura devuelta tiene un valor de WINBIO_E_INVALID_OPERATION. Este valor se admite a partir de Windows 10.
WINBIO_PROPERTY_ANTI_SPOOF_POLICY
Contiene los valores de la directiva de protección contra la suplantación de identidad para una cuenta de usuario específica. La operación de propiedad se devuelve en el búfer al que apunta el parámetro PropertyBuffer como una estructura WINBIO_ANTI_SPOOF_POLICY . Este valor se admite a partir de Windows 10.
 

Para obtener más información sobre estas propiedades, vea WINBIO_PROPERTY Constantes.

[in, optional] UnitId

Valor WINBIO_UNIT_ID que identifica la unidad biométrica. Puede encontrar un identificador de unidad llamando a las funciones WinBioEnumBiometricUnits o WinBioLocateSensor .

Si especifica WINBIO_PROPERTY_ANTI_SPOOF_POLICY como valor para el parámetro PropertyId , especifique 0 para el parámetro UnitId . Si especifica cualquier otra propiedad con el parámetro PropertyId , no puede especificar 0 para el parámetro UnitId .

[in, optional] Identity

Estructura WINBIO_IDENTITY que proporciona el SID de la cuenta para la que desea obtener la directiva antispoofing, si especifica WINBIO_PROPERTY_ANTI_SPOOF_POLICY como valor del parámetro PropertyId .

Si especifica cualquier otro valor para el parámetro PropertyId , el parámetro Identity debe ser NULL.

[in, optional] SubFactor

Reservado. Debe ser WINBIO_SUBTYPE_NO_INFORMATION.

PropertyBuffer

Dirección de un puntero a un búfer que recibe el valor de la propiedad. Para obtener información sobre el contenido de este búfer para distintas propiedades, vea las descripciones de los valores de propiedad para el parámetro PropertyId .

[out, optional] PropertyBufferSize

Puntero a una variable que recibe el tamaño, en bytes, del búfer al que apunta el parámetro PropertyBuffer .

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_HANDLE
El identificador de sesión especificado por el parámetro SessionHandle no es válido.
E_POINTER
Los argumentos Identity, PropertyBuffer o PropertyBufferSize no pueden ser NULL.
E_INVALIDARG
Los argumentos UnitId, Identity o SubFactor son incorrectos.
WINBIO_E_INVALID_PROPERTY_TYPE
El valor del argumento PropertyType es incorrecto.
WINBIO_E_INVALID_PROPERTY_ID
El valor del argumento PropertyId es incorrecto.
WINBIO_E_LOCK_VIOLATION
El autor de la llamada intentó consultar una propiedad que reside dentro de una región bloqueada.
WINBIO_E_UNSUPPORTED_PROPERTY
El objeto que se consulta no admite la propiedad especificada.
WINBIO_E_ENROLLMENT_IN_PROGRESS
No se pudo completar la operación porque la unidad biométrica especificada se está usando actualmente para una transacción de inscripción (solo para el grupo de sistemas).

Comentarios

Para usar WinBioGetProperty de forma sincrónica, 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 evitar pérdidas de memoria cuando se usa WinBioGetProperty de forma sincrónica, debe llamar a WinBioFree para liberar la memoria a la que apunta el parámetro PropertyBuffer cuando haya terminado de usar los datos contenidos en el búfer.

Para usar WinBioGetProperty de forma asincrónica, llame a la función con un identificador de sesión creado mediante una llamada a WinBioAsyncOpenSession. El marco asigna una estructura de WINBIO_ASYNC_RESULT y la usa para devolver información sobre el éxito o error de la operación. Si la operación se realiza correctamente, el marco devuelve información en una estructura GetProperty anidada. 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, en función del 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 avisos de finalización mediante la cola de mensajes de la aplicación, debe establecer el parámetro NotificationMethod en WINBIO_ASYNC_NOTIFY_MESSAGE. El marco devuelve un puntero WINBIO_ASYNC_RESULT al campo LPARAM del mensaje de ventana.
Para evitar pérdidas de memoria cuando se usa WinBioGetProperty de forma asincrónica, debe llamar a WinBioFree para liberar la estructura de WINBIO_ASYNC_RESULT una vez que haya terminado de usarla. La estructura WINBIO_ASYNC_RESULT y el búfer de propiedades ocupan un único bloque de memoria, por lo que la aplicación solo debe pasar la dirección de la estructura de WINBIO_ASYNC_RESULT a WinBioFree. Al llamar a WinBioFree de esta manera, WinBioFree libera automáticamente la estructura de WINBIO_ASYNC_RESULT y el búfer de propiedades. Si intenta liberar el búfer de propiedades por separado en este caso, la aplicación deja de responder.

Requisitos

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

Consulte también

WinBioFree

WinBioSetProperty