Funzione WinBioEnumServiceProviders (winbio.h)
Recupera informazioni sui provider di servizi biometrici installati. A partire da Windows 10, build 1607, questa funzione è disponibile per l'uso con un'immagine per dispositivi mobili.
Sintassi
HRESULT WinBioEnumServiceProviders(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[out] WINBIO_BSP_SCHEMA **BspSchemaArray,
[out] SIZE_T *BspCount
);
Parametri
[in] Factor
Maschera di bit di flag WINBIO_BIOMETRIC_TYPE che specifica i tipi di unità biometrica da enumerare. Attualmente è supportato solo WINBIO_TYPE_FINGERPRINT .
[out] BspSchemaArray
Indirizzo di una variabile che riceve un puntatore a una matrice di strutture WINBIO_BSP_SCHEMA che contengono informazioni su ognuno dei provider di servizi disponibili. Se la funzione non riesce, il puntatore viene impostato su NULL. Se la funzione ha esito positivo, è necessario passare il puntatore a WinBioFree per rilasciare la memoria allocata internamente per la matrice.
[out] BspCount
Puntatore a un valore che specifica il numero di strutture a cui punta il parametro BspSchemaArray .
Valore restituito
Se la funzione ha esito positivo, restituisce S_OK. Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Codice restituito | Descrizione |
---|---|
|
La maschera di bit contenuta nel parametro Factor contiene uno o più bit di tipo non validi. |
|
Memoria insufficiente per completare la richiesta. |
|
I parametri BspSchemaArray e BspCount non possono essere NULL. |
Commenti
Solo WINBIO_TYPE_FINGERPRINT è attualmente supportato nel parametro Factor .
Al termine dell'uso delle strutture restituite al parametro BspSchemaArray , devi chiamare WinBioFree per rilasciare la memoria allocata internamente per la matrice.
Se tutti i bit di fattore nella maschera di bit factor fanno riferimento a tipi biometrici non supportati, la funzione restituisce S_OK ma il valore a cui punta il parametro BspSchemaArray sarà NULL e il parametro BspCount conterrà zero. Anche se non si tratta di un errore per chiedere informazioni sui fattori biometrici non supportati, il risultato della query sarà un set vuoto.
Esempio
L'esempio di codice seguente chiama WinBioEnumServiceProviders per enumerare i provider di servizi installati. L'esempio include anche una funzione, DisplayGuid, per visualizzare l'ID del provider. Collegarsi alla libreria statica Winbio.lib e includere i file di intestazione seguenti:
- 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]
);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbio.h (include Winbio.h) |
Libreria | Winbio.lib |
DLL | Winbio.dll |