winBioSetProperty 函式 (winbio.h)

設定與生物特徵辨識會話、單位、範本或帳戶相關聯的標準屬性值。 從 Windows 10 組建 1607 開始,此函式可用來搭配行動映射使用。

語法

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
IdentityPropertyBuffer參數不可為Null
E_INVALIDARG
PropertyTypePropertyIdPropertyBufferSize參數不能是 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所建立的會話控制碼來呼叫 函式。 函式會封鎖作業完成或發生錯誤為止。 若要防止記憶體流失,您必須呼叫 WinBioFree ,以在您使用緩衝區中包含的資料完成時釋放 PropertyBuffer 參數所指向的記憶體。

若要以非同步方式使用 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
程式庫 Winbio.lib
Dll Winbio.dll

另請參閱

WinBioFree

WinBioGetProperty