IItemMetadata::TryGetFieldByteArray
Obtient la valeur d'un champ de tableau d'octets.
HRESULT TryGetFieldByteArray(
LPCWSTR pcszFieldName,
BYTE * pbValue,
ULONG * pcbValue);
Paramètres
- pcszFieldName
[in, string] Nom du champ.
- pbValue
[in, out, unique, size_is(* pcbValue)] Retourne la valeur du champ spécifié.
- pcbValue
[in, out] Spécifie le nombre d'octets contenus dans pbValue. Retourne le nombre d'octets requis pour récupérer la valeur du champ spécifié lorsque pbValue est trop petit ; sinon, retourne le nombre d'octets écrits.
Valeur de retour
S_OK.
S_FALSE si la valeur n'a pas été définie ou si la valeur NULL a été affectée.
E_POINTER.
E_INVALIDARG.
SYNC_E_METADATA_FIELD_INVALID_NAME si le champ n'existe pas.
SYNC_E_METADATA_FIELD_INVALID_TYPE si le champ n'est pas un tableau d'octets.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) lorsque pbValue n'est pas assez grand pour recevoir la valeur du champ. Dans ce cas, pcbValue retourne le nombre d'octets requis.
Notes
Les champs personnalisés doivent être définis à l'aide d'une structure CUSTOM_FIELD_DEFINITION lorsque les métadonnées de réplica sont initialisées pour la première fois.
Si IItemMetadata::SetFieldByteArray a été appelée pour définir la valeur de champ, mais que la modification n'a pas encore été enregistrée par un appel à IReplicaMetadata::SaveItemMetadata, TryGetFieldByteArray retourne la valeur contenue dans l'objet IItemMetadata et non la valeur stockée dans le magasin des métadonnées.