Win32 API 日本語リファレンス
ホーム › Devices.BiometricFramework › PIBIO_SENSOR_CANCEL_FN

PIBIO_SENSOR_CANCEL_FN

コールバック

シグネチャ

HRESULT PIBIO_SENSOR_CANCEL_FN(
    WINBIO_PIPELINE* Pipeline
);

パラメーター

フィールド型説明
PipelineWINBIO_PIPELINE*操作を実行しているバイオメトリック ユニットに関連付けられた WINBIO_PIPELINE 構造体へのポインター。

公式ドキュメント

保留中のすべてのセンサー操作をキャンセルするために、Windows Biometric Framework から呼び出されます。

戻り値

関数が成功した場合は S_OK を返します。関数が失敗した場合は、エラーを示すために次のいずれかの HRESULT 値を返す必要があります。

戻り値 説明
E_POINTER
Pipeline 引数を NULL にすることはできません。
WINBIO_E_INVALID_DEVICE_STATE
Pipeline 引数が指す WINBIO_PIPELINE 構造体の SensorHandle メンバーが INVALID_HANDLE_VALUE に設定されています。

解説(Remarks)

この関数の実装では、保留中の操作が完了するまで待機しないでください。

この関数が呼び出されたときにセンサーに保留中の操作がない場合、実装はパイプラインの状態を変更せずに S_OK を返す必要があります。

例

次の擬似コードは、この関数の実装方法の一例を示しています。この例はそのままではコンパイルできません。目的に合わせて調整する必要があります。

//////////////////////////////////////////////////////////////////////////////////////////
//
// SensorAdapterCancel
//
// 目的:
//      保留中のすべてのセンサー操作をキャンセルします。
//      
// パラメーター:
//      Pipeline -  バイオメトリック ユニットに関連付けられた WINBIO_PIPELINE
//                  構造体へのポインター。
//
static HRESULT
WINAPI
SensorAdapterCancel(
    __inout PWINBIO_PIPELINE Pipeline
    )
{
    HRESULT hr = S_OK;

    // Pipeline パラメーターが NULL でないことを確認します。
    if (!ARGUMENT_PRESENT(Pipeline))
    {
        hr = E_POINTER;
        goto cleanup;
    }

    // 現在のセンサーの状態を検証します。
    if (Pipeline->SensorHandle == INVALID_HANDLE_VALUE)
    {
        return WINBIO_E_INVALID_DEVICE_STATE;
    }

    // センサー ハンドルへのすべての I/O をキャンセルします。
    if (!CancelIoEx(Pipeline->SensorHandle, NULL))
    {
        hr = _SensorAdapterGetHresultFromWin32(GetLastError());
    }

    return hr;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)