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.
Recupera información sobre los proveedores de servicios biométricos instalados. A partir de Windows 10, compilación 1607, esta función está disponible para usarla con una imagen móvil.
Syntax
HRESULT WinBioEnumServiceProviders(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[out] WINBIO_BSP_SCHEMA **BspSchemaArray,
[out] SIZE_T *BspCount
);
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 .
[out] BspSchemaArray
Dirección de una variable que recibe un puntero a una matriz de estructuras de WINBIO_BSP_SCHEMA que contienen información sobre cada uno de los proveedores de servicios disponibles. Si la función no se realiza correctamente, el puntero se establece en NULL. Si la función se ejecuta correctamente, debe pasar el puntero a WinBioFree para liberar la memoria asignada internamente para la matriz.
[out] BspCount
Puntero a un valor que especifica el número de estructuras a las que apunta el parámetro BspSchemaArray .
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 |
|---|---|
|
La máscara de bits contenida en el parámetro Factor contiene uno o varios bits de tipo no válidos. |
|
No había memoria suficiente para completar la solicitud. |
|
Los parámetros BspSchemaArray y BspCount no pueden ser NULL. |
Observaciones
Actualmente solo se admite WINBIO_TYPE_FINGERPRINT en el parámetro Factor .
Una vez que haya terminado de usar las estructuras devueltas al parámetro BspSchemaArray , debe llamar a WinBioFree para liberar la memoria asignada internamente para la matriz.
Si todos los bits de factor de la máscara de bits factor hacen referencia a tipos biométricos no admitidos, la función devuelve S_OK, pero el valor al que apunta el parámetro BspSchemaArray será NULL y el parámetro BspCount contendrá cero. Aunque no es un error consultar los factores biométricos no admitidos, el resultado de la consulta será un conjunto vacío.
Examples
En el ejemplo de código siguiente se llama a WinBioEnumServiceProviders para enumerar los proveedores de servicios instalados. En el ejemplo también se incluye una función DisplayGuid para mostrar el identificador del proveedor. Vincule a la biblioteca estática Winbio.lib e incluya los siguientes archivos de encabezado:
- Windows.h
- Stdio.h
- Conio.h
- Winbio.h
HRESULT EnumSvcProviders( )
{
// Declare variables.
HRESULT hr = S_OK;
PWINBIO_BSP_SCHEMA bspSchemaArray = NULL;
SIZE_T bspCount = 0;
SIZE_T index = 0;
// Enumerate the service providers.
hr = WinBioEnumServiceProviders(
WINBIO_TYPE_FINGERPRINT, // Provider to enumerate
&bspSchemaArray, // Provider schema array
&bspCount ); // Number of schemas returned
if (FAILED(hr))
{
wprintf_s(L"\n WinBioEnumServiceProviders failed. hr = 0x%x\n", hr);
goto e_Exit;
}
// Display the schema information.
wprintf_s(L"\nService providers: \n");
for (index = 0; index < bspCount; ++index)
{
wprintf_s(L"\n[%d]: \tBiometric factor: 0x%08x\n",
index,
bspSchemaArray[index].BiometricFactor );
wprintf_s(L"\tBspId: ");
DisplayGuid(&bspSchemaArray[index].BspId);
wprintf_s(L"\n");
wprintf_s(L"\tDescription: %ws\n",
bspSchemaArray[index].Description);
wprintf_s(L"\tVendor: %ws\n",
bspSchemaArray[index].Vendor );
wprintf_s(L"\tVersion: %d.%d\n",
bspSchemaArray[index].Version.MajorVersion,
bspSchemaArray[index].Version.MinorVersion);
wprintf_s(L"\n");
}
e_Exit:
if (bspSchemaArray != NULL)
{
WinBioFree(bspSchemaArray);
bspSchemaArray = NULL;
}
wprintf_s(L"\nPress any key to exit...");
_getch();
return hr;
}
//------------------------------------------------------------------------
// The following function displays a GUID to the console window.
//
VOID DisplayGuid( __in PWINBIO_UUID Guid )
{
wprintf_s(
L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
Guid->Data1,
Guid->Data2,
Guid->Data3,
Guid->Data4[0],
Guid->Data4[1],
Guid->Data4[2],
Guid->Data4[3],
Guid->Data4[4],
Guid->Data4[5],
Guid->Data4[6],
Guid->Data4[7]
);
}
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
| Servidor mínimo admitido | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
| de la plataforma de destino de | Windows |
| Header | winbio.h (incluya Winbio.h) |
| Library | Winbio.lib |
| DLL de |
Winbio.dll |