Partager via


Fonction WinBioSetProperty (winbio.h)

Définit la valeur d’une propriété standard associée à une session biométrique, une unité, un modèle ou un compte. À compter de Windows 10 build 1607, cette fonction peut être utilisée avec une image mobile.

Syntaxe

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
);

Paramètres

[in] SessionHandle

Valeur WINBIO_SESSION_HANDLE qui identifie une session biométrique ouverte. Ouvrez un handle de session synchrone en appelant WinBioOpenSession. Ouvrez un handle de session asynchrone en appelant WinBioAsyncOpenSession.

[in] PropertyType

Valeur WINBIO_PROPERTY_TYPE qui spécifie le type de la propriété que vous souhaitez définir. Actuellement, cela doit être WINBIO_PROPERTY_TYPE_ACCOUNT.

[in] PropertyId

Valeur WINBIO_PROPERTY_ID qui spécifie la propriété à définir. Actuellement, cela doit être WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Toutes les autres propriétés sont en lecture seule.

[in, optional] UnitId

Valeur WINBIO_UNIT_ID qui identifie l’unité biométrique. Pour la propriété WINBIO_PROPERTY_ANTI_SPOOF_POLICY , cette valeur doit être 0.

[in, optional] Identity

Adresse d’une structure WINBIO_IDENTITY qui spécifie le compte pour lequel vous souhaitez définir la propriété.

[in, optional] SubFactor

Réservé. Cela doit être WINBIO_SUBTYPE_NO_INFORMATION.

[in] PropertyBuffer

Pointeur vers une structure qui spécifie la nouvelle valeur de la propriété. Cette valeur ne peut pas être NULL. Pour définir la propriété WINBIO_PROPERTY_ANTI_SPOOF_POLICY , la structure doit être une structure WINBIO_ANTI_SPOOF_POLICY .

[in] PropertyBufferSize

Taille, en octets, de la structure vers laquelle pointe le paramètre PropertyBuffer . Cette valeur ne peut pas être 0.

Valeur retournée

Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code de retour Description
E_HANDLE
Le handle de session spécifié par le paramètre SessionHandle n’est pas valide.
E_POINTER
Les paramètres Identity et PropertyBuffer ne peuvent pas être NULL.
E_INVALIDARG
Le paramètre PropertyType, PropertyId ou PropertyBufferSize ne peut pas être 0.
WINBIO_E_INVALID_PROPERTY_TYPE
La valeur de l’argument PropertyType est incorrecte.
WINBIO_E_INVALID_PROPERTY_ID
La valeur de l’argument PropertyId est incorrecte.
WINBIO_E_LOCK_VIOLATION
L’appelant a tenté de définir une propriété qui réside à l’intérieur d’une région verrouillée.
WINBIO_E_UNSUPPORTED_PROPERTY
L’objet ne prend pas en charge la propriété spécifiée.
WINBIO_E_ENROLLMENT_IN_PROGRESS
L’opération n’a pas pu être effectuée, car l’unité biométrique spécifiée est actuellement utilisée pour une transaction d’inscription (pool système uniquement).

Remarques

Pour utiliser WinBioSetProperty de manière synchrone, appelez la fonction avec un handle de session créé en appelant WinBioOpenSession. La fonction est bloquée jusqu’à ce que l’opération se termine ou qu’une erreur soit rencontrée. Pour éviter les fuites de mémoire, vous devez appeler WinBioFree pour libérer la mémoire pointée par le paramètre PropertyBuffer lorsque vous avez terminé d’utiliser les données contenues dans la mémoire tampon.

Pour utiliser WinBioSetProperty de manière asynchrone, appelez la fonction avec un handle de session créé en appelant WinBioAsyncOpenSession. L’infrastructure alloue une structure de WINBIO_ASYNC_RESULT et l’utilise pour retourner des informations sur la réussite ou l’échec de l’opération. La structure WINBIO_ASYNC_RESULT est retournée au rappel de l’application ou à la file d’attente des messages de l’application, en fonction de la valeur que vous définissez dans le paramètre NotificationMethod de la fonction WinBioAsyncOpenSession :

  • Si vous choisissez de recevoir des notifications d’achèvement à l’aide d’un rappel, vous devez implémenter une fonction PWINBIO_ASYNC_COMPLETION_CALLBACK et définir le paramètre NotificationMethod sur WINBIO_ASYNC_NOTIFY_CALLBACK.
  • Si vous choisissez de recevoir des notifications d’achèvement à l’aide de la file d’attente de messages d’application, vous devez définir le paramètre NotificationMethodsur WINBIO_ASYNC_NOTIFY_MESSAGE. L’infrastructure retourne un pointeur WINBIO_ASYNC_RESULT vers le champ LPARAM du message de fenêtre.
Pour éviter les fuites de mémoire, vous devez appeler WinBioFree pour libérer la structure WINBIO_ASYNC_RESULT une fois que vous avez terminé de l’utiliser.

Configuration requise

   
Client minimal pris en charge Windows 10 (applications de bureau uniquement)
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
Plateforme cible Windows
En-tête winbio.h
Bibliothèque Winbio.lib
DLL Winbio.dll

Voir aussi

WinBioFree

WinBioGetProperty