IItemMetadata::TryGetFieldString

文字列フィールドの値を返します。

HRESULT TryGetFieldString(
  LPCWSTR pcszFieldName,
  LPWSTR pszValue,
  ULONG * pcchValue);

パラメーター

  • pcszFieldName
    [in, string] フィールドの名前です。
  • pszValue
    [in, out, size_is(*pcchValue)] 指定したフィールドの値を返します。
  • pcchValue
    [in, out] pszValue の文字数を指定します。NULL 終端を含め、書き込まれた文字数を返します。ただし、pszValue が小さすぎる場合は、指定したフィールドの値を取得するのに必要な文字数を返します。

戻り値

  • S_OK。

  • 値が設定されていない場合や NULL に設定されている場合は S_FALSE。

  • E_POINTER。

  • E_INVALIDARG。

  • フィールドが存在しない場合は SYNC_E_METADATA_FIELD_INVALID_NAME。

  • フィールドが文字列でない場合は SYNC_E_METADATA_FIELD_INVALID_TYPE。

  • pszValue が小さすぎてフィールドの値を受け取れない場合は HRESULT_FROM_WIN32(ERROR_MORE_DATA)。この場合は、pcchValue が必要な文字数を返します。

解説

カスタム フィールドは、レプリカ メタデータを初めて初期化するときに、CUSTOM_FIELD_DEFINITION 構造体を使用して定義する必要があります。

フィールド値を設定するために IItemMetadata::SetFieldString を呼び出した場合、IReplicaMetadata::SaveItemMetadata の呼び出しによって変更がまだ保存されていなければ、TryGetFieldString はメタデータ ストアに保存されている値ではなく、IItemMetadata オブジェクトに含まれている値を返します。

参照

リファレンス

IItemMetadata インターフェイス