WinBioSetProperty 関数 (winbio.h)

生体認証セッション、ユニット、テンプレート、またはアカウントに関連付けられている標準プロパティの値を設定します。 ビルド 1607 Windows 10以降、この関数はモバイル イメージで使用できます。

構文

HRESULT WinBioSetProperty(
  [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,
  [in]           PVOID                    PropertyBuffer,
  [in]           SIZE_T                   PropertyBufferSize
);

パラメーター

[in] SessionHandle

開いている生体認証セッションを識別する WINBIO_SESSION_HANDLE 値。 WinBioOpenSession を呼び出して、同期セッション ハンドルを開きます。 WinBioAsyncOpenSession を呼び出して非同期セッション ハンドルを開きます。

[in] PropertyType

設定するプロパティの型を指定するWINBIO_PROPERTY_TYPE値。 現在、これは WINBIO_PROPERTY_TYPE_ACCOUNTする必要があります。

[in] PropertyId

設定するプロパティを指定する WINBIO_PROPERTY_ID 値。 現在、これは WINBIO_PROPERTY_ANTI_SPOOF_POLICYする必要があります。 その他のプロパティはすべて読み取り専用です。

[in, optional] UnitId

生体認証ユニットを識別する WINBIO_UNIT_ID 値。 WINBIO_PROPERTY_ANTI_SPOOF_POLICY プロパティの場合、この値は 0 である必要があります。

[in, optional] Identity

プロパティを設定するアカウントを指定する WINBIO_IDENTITY 構造体のアドレス。

[in, optional] SubFactor

予約済み。 これは WINBIO_SUBTYPE_NO_INFORMATIONする必要があります。

[in] PropertyBuffer

プロパティの新しい値を指定する構造体へのポインター。 この値を NULL にすることはできません。 WINBIO_PROPERTY_ANTI_SPOOF_POLICY プロパティを設定するには、構造体がWINBIO_ANTI_SPOOF_POLICY構造体である必要があります。

[in] PropertyBufferSize

PropertyBuffer パラメーターが指す構造体のサイズ (バイト単位)。 この値を 0 にすることはできません。

戻り値

関数が成功した場合は、S_OK を返します。 関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

リターン コード 説明
E_HANDLE
SessionHandle パラメーターで指定されたセッション ハンドルが無効です。
E_POINTER
Identity パラメーターと PropertyBuffer パラメーターを NULL にすることはできません。
E_INVALIDARG
PropertyTypePropertyId、または PropertyBufferSize パラメーターを 0 にすることはできません。
WINBIO_E_INVALID_PROPERTY_TYPE
PropertyType 引数の値が正しくありません。
WINBIO_E_INVALID_PROPERTY_ID
PropertyId 引数の値が正しくありません。
WINBIO_E_LOCK_VIOLATION
呼び出し元は、ロックされたリージョン内に存在するプロパティを設定しようとしました。
WINBIO_E_UNSUPPORTED_PROPERTY
オブジェクトは、指定されたプロパティをサポートしていません。
WINBIO_E_ENROLLMENT_IN_PROGRESS
指定された生体認証ユニットが現在登録トランザクションに使用されているため、操作を完了できませんでした (システム プールのみ)。

解説

WinBioSetProperty を同期的に使用するには、WinBioOpenSession を呼び出して作成されたセッション ハンドルで 関数を呼び出します。 関数は、操作が完了するか、エラーが発生するまでブロックします。 メモリ リークを防ぐには、バッファーに含まれるデータの使用が完了したときに PropertyBuffer パラメーターが指すメモリを解放するために WinBioFree を呼び出す必要があります。

WinBioSetProperty を非同期的に使用するには、WinBioAsyncOpenSession を呼び出して作成されたセッション ハンドルで 関数を呼び出します。 フレームワークは 、WINBIO_ASYNC_RESULT 構造体を割り当て、それを使用して操作の成功または失敗に関する情報を返します。 WINBIO_ASYNC_RESULT構造体は、WinBioAsyncOpenSession 関数の NotificationMethod パラメーターで設定した値に応じて、アプリケーション コールバックまたはアプリケーション メッセージ キューに返されます。

  • コールバックを使用して完了通知を受け取る場合は、 PWINBIO_ASYNC_COMPLETION_CALLBACK 関数を実装し、 NotificationMethod パラメーターを WINBIO_ASYNC_NOTIFY_CALLBACK に設定する必要があります。
  • アプリケーション メッセージ キューを使用して完了通知を受け取る場合は、 NotificationMethod パラメーターを WINBIO_ASYNC_NOTIFY_MESSAGE に設定する必要があります。 フレームワークは、ウィンドウ メッセージの LPARAM フィールドへのWINBIO_ASYNC_RESULT ポインターを返します。
メモリ リークを防ぐには、 WinBioFree を呼び出して 、使用 を完了した後でWINBIO_ASYNC_RESULT構造体を解放する必要があります。

要件

   
サポートされている最小のクライアント Windows 10 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winbio.h
Library Winbio.lib
[DLL] Winbio.dll

関連項目

WinBioFree

WinBioGetProperty