Freigeben über


IItemMetadata::TryGetFieldByteArray

Ruft den Wert eines Bytearrayfelds ab.

HRESULT TryGetFieldByteArray(
  LPCWSTR pcszFieldName,
  BYTE * pbValue,
  ULONG * pcbValue);

Parameter

  • pcszFieldName
    [in, string] Der Name des Felds.
  • pbValue
    [in, out, unique, size_is(* pcbValue)] Gibt den Wert des angegebenen Felds zurück.
  • pcbValue
    [in, out] Gibt die Anzahl der Bytes in pbValue an. Gibt die Anzahl der zum Abrufen des angegebenen Feldwerts erforderlichen Bytes zurück, wenn pbValue zu klein ist. Gibt andernfalls die Anzahl der geschriebenen Bytes zurück.

Rückgabewert

  • S_OK.

  • S_FALSE, wenn der Wert nicht festgelegt wurde oder auf NULL festgelegt wurde.

  • E_POINTER.

  • E_INVALIDARG.

  • SYNC_E_METADATA_FIELD_INVALID_NAME, wenn das Feld nicht vorhanden ist.

  • SYNC_E_METADATA_FIELD_INVALID_TYPE, wenn das Feld kein Bytearray ist.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), wenn pbValue nicht groß genug ist, um den Feldwert zu empfangen. In dieser Situation gibt pcbValue die erforderliche Anzahl von Bytes zurück.

Hinweise

Benutzerdefinierte Felder müssen bei erstmaliger Initialisierung der Replikatmetadaten mit einer CUSTOM_FIELD_DEFINITION-Struktur definiert werden.

Wenn IItemMetadata::SetFieldByteArray aufgerufen wurde, um den Feldwert festzulegen, die Änderung jedoch noch nicht durch einen Aufruf von IReplicaMetadata::SaveItemMetadata gespeichert wurde, gibt TryGetFieldByteArray den Wert zurück, der im IItemMetadata-Objekt enthalten ist, und nicht den Wert im Metadatenspeicher.

Siehe auch

Verweis

IItemMetadata-Schnittstelle