Condividi tramite


Funzione WinBioGetProperty (winbio.h)

Recupera una proprietà sessione, unità o modello. A partire da Windows 10, build 1607, questa funzione è disponibile per l'uso con un'immagine per dispositivi mobili.

Sintassi

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
);

Parametri

[in] SessionHandle

Valore WINBIO_SESSION_HANDLE che identifica una sessione biometrica aperta. Aprire un handle di sessione sincrono chiamando WinBioOpenSession. Aprire un handle di sessione asincrono chiamando WinBioAsyncOpenSession.

[in] PropertyType

Valore WINBIO_PROPERTY_TYPE che specifica l'origine delle informazioni sulla proprietà. Attualmente deve essere WINBIO_PROPERTY_TYPE_UNIT o WINBIO_PROPERTY_TYPE_ACCOUNT. Per altre informazioni sui tipi di proprietà, vedere costanti WINBIO_PROPERTY_TYPE.

Il valore WINBIO_PROPERTY_TYPE_ACCOUNT è supportato a partire da Windows 10.

[in] PropertyId

Valore WINBIO_PROPERTY_ID che specifica la proprietà che si desidera eseguire una query. I valori seguenti sono possibili.

Valore Significato
WINBIO_PROPERTY_SAMPLE_HINT
Stima il numero massimo di campioni biometrici validi necessari per completare un modello di registrazione. Il risultato della query di proprietà viene restituito nel buffer a cui punta il parametro PropertyBuffer come valore ULONG che contiene l'hint.
WINBIO_PROPERTY_EXTENDED_SENSOR_INFO
Contiene informazioni estese sulle funzionalità e sugli attributi del componente del sensore connesso a un'unità biometrica specifica. Il risultato della query di proprietà viene restituito nel buffer a cui punta il parametro PropertyBuffer come struttura WINBIO_EXTENDED_SENSOR_INFO . Questo valore è supportato a partire da Windows 10.
WINBIO_PROPERTY_EXTENDED_ENGINE_INFO
Contiene informazioni estese sulle funzionalità e sugli attributi del componente del motore connessi a un'unità biometrica specifica. Il risultato della query di proprietà viene restituito nel buffer a cui punta il parametro PropertyBuffer come struttura WINBIO_EXTENDED_ENGINE_INFO . Questo valore è supportato a partire da Windows 10.
WINBIO_PROPERTY_EXTENDED_STORAGE_INFO
Contiene informazioni estese sulle funzionalità e sugli attributi del componente di archiviazione connesso a un'unità biometrica specifica. Il risultato della query di proprietà viene restituito nel buffer a cui punta il parametro PropertyBuffer come struttura WINBIO_EXTENDED_STORAGE_INFO . Questo valore è supportato a partire da Windows 10.
WINBIO_PROPERTY_EXTENDED_ENROLLMENT_STATUS
Contiene informazioni estese sullo stato di una registrazione in corso in un'unità biometrica specifica. Il risultato della query di proprietà viene restituito nel buffer a cui punta il parametro PropertyBuffer come struttura WINBIO_EXTENDED_ENROLLMENT_STATUS . Se non è in corso alcuna registrazione nell'unità biometrica, il membro TemplateStatus della struttura restituita ha un valore di WINBIO_E_INVALID_OPERATION. Questo valore è supportato a partire da Windows 10.
WINBIO_PROPERTY_ANTI_SPOOF_POLICY
Contiene i valori dei criteri antispoofing per un account utente specifico. L'operazione di proprietà viene restituita nel buffer a cui punta il parametro PropertyBuffer come struttura WINBIO_ANTI_SPOOF_POLICY . Questo valore è supportato a partire da Windows 10.
 

Per altre informazioni su queste proprietà, vedere costanti WINBIO_PROPERTY.

[in, optional] UnitId

Valore WINBIO_UNIT_ID che identifica l'unità biometrica. È possibile trovare un identificatore di unità chiamando le funzioni WinBioEnumBiometricUnits o WinBioLocateSensor .

Se si specifica WINBIO_PROPERTY_ANTI_SPOOF_POLICY come valore per il parametro PropertyId , specificare 0 per il parametro UnitId . Se si specifica qualsiasi altra proprietà con il parametro PropertyId , non è possibile specificare 0 per il parametro UnitId .

[in, optional] Identity

Struttura WINBIO_IDENTITY che fornisce il SID dell'account per cui si desidera ottenere il criterio antispoofing, se si specifica WINBIO_PROPERTY_ANTI_SPOOF_POLICY come valore del parametro PropertyId .

Se si specifica qualsiasi altro valore per il parametro PropertyId , il parametro Identity deve essere NULL.

[in, optional] SubFactor

Riservato. Questo deve essere WINBIO_SUBTYPE_NO_INFORMATION.

PropertyBuffer

Indirizzo di un puntatore a un buffer che riceve il valore della proprietà. Per informazioni sul contenuto di questo buffer per proprietà diverse, vedere le descrizioni dei valori delle proprietà per il parametro PropertyId .

[out, optional] PropertyBufferSize

Puntatore a una variabile che riceve le dimensioni, in byte, del buffer a cui punta il parametro PropertyBuffer .

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 di codici di errore comuni, vedere Valori HRESULT comuni.

Codice restituito Descrizione
E_HANDLE
L'handle di sessione specificato dal parametro SessionHandle non è valido.
E_POINTER
Gli argomenti Identity, PropertyBuffer o PropertyBufferSize non possono essere NULL.
E_INVALIDARG
Gli argomenti UnitId, Identity o SubFactor non sono corretti.
WINBIO_E_INVALID_PROPERTY_TYPE
Il valore dell'argomento PropertyType non è corretto.
WINBIO_E_INVALID_PROPERTY_ID
Il valore dell'argomento PropertyId non è corretto.
WINBIO_E_LOCK_VIOLATION
Il chiamante ha tentato di eseguire una query su una proprietà che risiede all'interno di un'area bloccata.
WINBIO_E_UNSUPPORTED_PROPERTY
L'oggetto sottoposto a query non supporta la proprietà specificata.
WINBIO_E_ENROLLMENT_IN_PROGRESS
Impossibile completare l'operazione perché l'unità biometrica specificata è attualmente usata per una transazione di registrazione (solo pool di sistema).

Commenti

Per usare WinBioGetProperty in modo sincrono, chiamare la funzione con un handle di sessione creato chiamando WinBioOpenSession. La funzione blocca finché l'operazione non viene completata o viene rilevato un errore. Per evitare perdite di memoria quando si usa WinBioGetProperty in modo sincrono, è necessario chiamare WinBioFree per rilasciare la memoria puntata dal parametro PropertyBuffer al termine dell'uso dei dati contenuti nel buffer.

Per usare WinBioGetProperty in modo asincrono, chiamare la funzione con un handle di sessione creato chiamando WinBioAsyncOpenSession. Il framework alloca una struttura WINBIO_ASYNC_RESULT e la usa per restituire informazioni sull'esito positivo o negativo dell'operazione. Se l'operazione ha esito positivo, il framework restituisce informazioni in una struttura GetProperty annidata. La struttura WINBIO_ASYNC_RESULT viene restituita al callback dell'applicazione o alla coda dei messaggi dell'applicazione, a seconda del valore impostato nel parametro NotificationMethod della funzione WinBioAsyncOpenSession :

  • Se si sceglie di ricevere avvisi di completamento usando un callback, è necessario implementare una funzione PWINBIO_ASYNC_COMPLETION_CALLBACK e impostare il parametro NotificationMethod su WINBIO_ASYNC_NOTIFY_CALLBACK.
  • Se si sceglie di ricevere avvisi di completamento usando la coda di messaggi dell'applicazione, è necessario impostare il parametro NotificationMethod su WINBIO_ASYNC_NOTIFY_MESSAGE. Il framework restituisce un puntatore WINBIO_ASYNC_RESULT al campo LPARAM del messaggio della finestra.
Per evitare perdite di memoria quando si usa WinBioGetProperty in modo asincrono, è necessario chiamare WinBioFree per rilasciare la struttura di WINBIO_ASYNC_RESULT al termine dell'uso. La struttura WINBIO_ASYNC_RESULT e il buffer delle proprietà occupano un singolo blocco di memoria, quindi l'applicazione deve passare solo l'indirizzo della struttura WINBIO_ASYNC_RESULT a WinBioFree. Quando si chiama WinBioFree in questo modo, WinBioFree rilascia automaticamente sia la struttura WINBIO_ASYNC_RESULT che il buffer delle proprietà. Se si tenta di rilasciare separatamente il buffer delle proprietà in questo caso, l'applicazione smette di rispondere.

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

Vedi anche

WinBioFree

WinBioSetProperty