CUSTOM_FIELD_DEFINITION 構造体

メタデータ ストア内の項目のカスタム フィールドを定義するスキーマ情報を格納しています。

typedef struct _CUSTOM_FIELD_DEFINITION
{
  WCHAR wszFieldName[129];
  SYNC_METADATA_FIELD_TYPE ulFieldType;
  ULONG ulFieldSize;
} CUSTOM_FIELD_DEFINITION;

メンバー

  • wszFieldName
    フィールドの名前。最大長は 128 文字と NULL 終端です。
  • ulFieldType
    フィールドのデータ型。
  • ulFieldSize
    文字列やバイト配列などの可変長フィールドの場合は、フィールドの最大長。固定長型の場合、この値は無視されます。

解説

項目メタデータには一連のカスタム フィールドを定義できます。各フィールドは一意の文字列の名前と値で構成されます。これらのフィールドを使用すると、項目の既定のメタデータ セットではサポートされていない追加のメタデータを保存できます。フィールドにアクセスするには、IItemMetadata::TryGetFieldByteArrayIItemMetadata::SetFieldByteArray などさまざまなメソッドを IItemMetadata で使用します。これらのフィールドとその形式 (サイズやデータ型など) は、ISyncMetadataStore::InitializeReplicaMetadata を使用してレプリカのメタデータ ストアを初期化するときに定義されます。

スキーマには、フィールド値の長さが含まれています。固定長フィールドの場合、この値はデータ型のサイズをバイト単位で表します。可変長フィールドの場合、この値はフィールドの最大長 (フィールドがバイト配列の場合はバイト数、文字列の場合は文字数) を指定します。

Metadata Storage Service で提供される実装を使用するときの注意事項

フィールド名については、以下の制限に従う必要があります。

  • フィールド名はフィールド定義セット内で一意でなければなりません。

  • 名前の先頭の文字には、Unicode 標準で定義されている英字 (たとえば A ~ Z や a ~ z) またはアンダースコア (_) を使用します。

  • 名前の以降の文字には、英字、小数点、または _@#$ のいずれかの記号を使用できます。

  • 埋め込みスペース、タブ、またはその他の特殊文字を名前に含めることはできません。

  • Transact-SQL の予約語と同じ名前は使用できません。

メタデータ ストアには、フィールド値に影響するサイズ制限も設けられています。各項目メタデータ エントリの合計サイズは最大 8060 バイトに制限されています。メタデータ ストア ファイルのサイズは最大 4 GB に制限されています。

必要条件

ヘッダー : Metastore.h

参照

概念

Sync Framework Metadata Storage Service のコンポーネント