Share via


PIBIO_SENSOR_CANCEL_FN función de devolución de llamada (winbio_adapter.h)

Llamado por Windows Biometric Framework para cancelar todas las operaciones de sensor pendientes.

Sintaxis

PIBIO_SENSOR_CANCEL_FN PibioSensorCancelFn;

HRESULT PibioSensorCancelFn(
  [in, out] PWINBIO_PIPELINE Pipeline
)
{...}

Parámetros

[in, out] Pipeline

Puntero a la estructura WINBIO_PIPELINE asociada a la unidad biométrica que realiza la operación.

Valor devuelto

Si la función se realiza correctamente, devuelve S_OK. Si se produce un error en la función, debe devolver uno de los siguientes valores HRESULT para indicar el error.

Código devuelto Descripción
E_POINTER
El argumento Pipeline no puede ser NULL.
WINBIO_E_INVALID_DEVICE_STATE
El miembro SensorHandle de la estructura WINBIO_PIPELINE a la que apunta el argumento Pipeline se establece en INVALID_HANDLE_VALUE.

Comentarios

La implementación de esta función no debe esperar a que se completen las operaciones pendientes.

Si el sensor no tiene operaciones pendientes cuando se llama a esta función, la implementación debe devolver S_OK sin cambiar el estado de la canalización.

Ejemplos

El pseudocódigo siguiente muestra una posible implementación de esta función. El ejemplo no se compila. Debes adaptarlo para adaptarlo a tu propósito.

//////////////////////////////////////////////////////////////////////////////////////////
//
// SensorAdapterCancel
//
// Purpose:
//      Cancels all pending sensor operations.
//      
// Parameters:
//      Pipeline -  Pointer to a WINBIO_PIPELINE structure associated with 
//                  the biometric unit.
//
static HRESULT
WINAPI
SensorAdapterCancel(
    __inout PWINBIO_PIPELINE Pipeline
    )
{
    HRESULT hr = S_OK;

    // Verify that the Pipeline parameter is not NULL.
    if (!ARGUMENT_PRESENT(Pipeline))
    {
        hr = E_POINTER;
        goto cleanup;
    }

    // Validate the current sensor state.
    if (Pipeline->SensorHandle == INVALID_HANDLE_VALUE)
    {
        return WINBIO_E_INVALID_DEVICE_STATE;
    }

    // Cancel all I/O to the sensor handle.
    if (!CancelIoEx(Pipeline->SensorHandle, NULL))
    {
        hr = _SensorAdapterGetHresultFromWin32(GetLastError());
    }

    return hr;
}

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_adapter.h (incluya Winbio_adapter.h)

Consulte también

Funciones de complemento