Share via


PIBIO_STORAGE_GET_RECORD_COUNT_FN Rückruffunktion (winbio_adapter.h)

Wird vom Windows Biometric Framework oder vom Moduladapter aufgerufen, um die Anzahl der Vorlagendatensätze im Pipelineergebnissatz abzurufen.

Syntax

PIBIO_STORAGE_GET_RECORD_COUNT_FN PibioStorageGetRecordCountFn;

HRESULT PibioStorageGetRecordCountFn(
  [in, out] PWINBIO_PIPELINE Pipeline,
  [out]     PSIZE_T RecordCount
)
{...}

Parameter

[in, out] Pipeline

Zeiger auf eine WINBIO_PIPELINE Struktur, die der biometrischen Einheit zugeordnet ist, die den Vorgang ausführt.

[out] RecordCount

Zeiger auf eine Variable, die die Anzahl der Vorlagendatensätze im Resultset empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Wenn die Funktion fehlschlägt, muss sie einen der folgenden HRESULT-Werte zurückgeben, um den Fehler anzugeben.

Rückgabecode Beschreibung
E_POINTER
Ein obligatorisches Zeigerargument ist NULL.
WINBIO_E_DATABASE_NO_RESULTS
Die Abfrage war erfolgreich, aber es konnten keine übereinstimmenden Datensätze gefunden werden.
WINBIO_E_INVALID_DEVICE_STATE
Das StorageContext-Element des Pipelineobjekts ist NULL , oder das FileHandle-Element ist ungültig.

Hinweise

Die Anzahl der Datensätze, die sich derzeit im Resultset befinden, wird durch den letzten Aufruf der StorageAdapterQueryByContent-Funktion oder der StorageAdapterQueryBySubject-Funktion bestimmt.

Beispiele

Der folgende Pseudocode zeigt eine mögliche Implementierung dieser Funktion. Das Beispiel wird nicht kompiliert. Sie müssen es an Ihren Zweck anpassen.

/////////////////////////////////////////////////////////////////////////////////////////
//
// StorageAdapterGetRecordCount
//
// Purpose:
//      Retrieves the number of template records in the pipeline result set.
//
// Parameters:
//      Pipeline    -  Pointer to a WINBIO_PIPELINE structure associated with 
//                     the biometric unit performing the operation.
//      RecordCount -  Pointer to a variable that receives the number of template 
//                     records in the result set.
//
static HRESULT
WINAPI
StorageAdapterGetRecordCount(
    __inout PWINBIO_PIPELINE Pipeline,
    __out PSIZE_T RecordCount
    )
{
    HRESULT hr = S_OK;

    // Verify that pointer arguments are not NULL.
    if (!ARGUMENT_PRESENT(Pipeline) ||
        !ARGUMENT_PRESENT(RecordCount))
    {
        hr = E_POINTER;
        goto cleanup;
    }

    // Retrieve the context from the pipeline.
    PWINBIO_STORAGE_CONTEXT storageContext = (PWINBIO_STORAGE_CONTEXT)Pipeline->StorageContext;

    // Verify the pipeline state.
    if (storageContext == NULL || storageContext->FileHandle == INVALID_HANDLE_VALUE)
    {
        hr =  WINBIO_E_INVALID_DEVICE_STATE;
        goto cleanup;
    }

    // Call a custom function (_ResultSetGetCount) to retrieve the number of
    // records that the most recent query left in the result set.
    hr = _ResultSetGetCount( &storageContext->ResultSet, RecordCount);

cleanup:

    return hr;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbio_adapter.h (einschließlich Winbio_adapter.h)

Weitere Informationen

Plug-In-Funktionen

StorageAdapterQueryByContent

StorageAdapterQueryBySubject