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

PIBIO_ENGINE_QUERY_SAMPLE_HINT_FN

コールバック

シグネチャ

HRESULT PIBIO_ENGINE_QUERY_SAMPLE_HINT_FN(
    WINBIO_PIPELINE* Pipeline,
    UINT_PTR* SampleHint
);

パラメーター

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

公式ドキュメント

エンロールメント テンプレートを構築するためにエンジン アダプターが必要とする正しいサンプルの数を取得するために、Windows Biometric Framework から呼び出されます。

戻り値

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

戻り値 説明
E_POINTER
必須のポインター パラメーターが NULL です。
WINBIO_E_UNSUPPORTED_PROPERTY
エンジン アダプターはこのプロパティをサポートしていません。

解説(Remarks)

エンジン アダプターが状況に応じて異なる数のサンプルを必要とする場合は、最も大きい数を返してください。たとえば、指紋エンジンが親指よりも人差し指に対して多くのスワイプを必要とする場合は、人差し指に必要な数を返します。

SampleHint パラメーターで返される値は、必要な正しいサンプルの数を示します。読み取りの失敗があるため、エンロールメント中に実際に必要となるサンプル数は、指定された数より多くなる場合があります。

例

次の擬似コードは、この関数の実装例の 1 つを示しています。この例はコンパイルできません。目的に合わせて適宜変更してください。

//////////////////////////////////////////////////////////////////////////////////////////
//
// EngineAdapterQuerySampleHint
//
// 目的: 
//      エンロールメント テンプレートを構築するためにエンジン アダプターが 
//      必要とする正しいサンプルの数を取得します。
//
// パラメーター:
//      Pipeline    - 操作を実行しているバイオメトリック ユニットに関連付けられた 
//                    WINBIO_PIPELINE 構造体へのポインター。 
//      SampleHint  - 必要なサンプル数を受け取る変数へのポインター。
//
static HRESULT
WINAPI
EngineAdapterQuerySampleHint(
    __inout PWINBIO_PIPELINE Pipeline,
    __out PSIZE_T SampleHint
    )
{
    // ポインター引数が NULL でないことを確認します。
    if (!ARGUMENT_PRESENT(Pipeline) ||
        !ARGUMENT_PRESENT(SampleHint))
    {
        hr = E_POINTER;
        goto cleanup;
    }

    // ここで指定するサンプル ヒントは定数ですが、アダプターによっては 
    // ハードウェア モデルやデバイス設定に応じて決まる値にすることもできます。
    // アダプターがこの機能をサポートしていない場合は、
    // WINBIO_E_UNSUPPORTED_PROPERTY を返します。
    *SampleHint = SAMPLES_REQUIRED_FOR_ENROLLMENT;

cleanup:

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