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::TryGetFieldByteArray や IItemMetadata::SetFieldByteArray などさまざまなメソッドを IItemMetadata で使用します。これらのフィールドとその形式 (サイズやデータ型など) は、ISyncMetadataStore::InitializeReplicaMetadata を使用してレプリカのメタデータ ストアを初期化するときに定義されます。
スキーマには、フィールド値の長さが含まれています。固定長フィールドの場合、この値はデータ型のサイズをバイト単位で表します。可変長フィールドの場合、この値はフィールドの最大長 (フィールドがバイト配列の場合はバイト数、文字列の場合は文字数) を指定します。
Metadata Storage Service で提供される実装を使用するときの注意事項
フィールド名については、以下の制限に従う必要があります。
フィールド名はフィールド定義セット内で一意でなければなりません。
名前の先頭の文字には、Unicode 標準で定義されている英字 (たとえば A ~ Z や a ~ z) またはアンダースコア (_) を使用します。
名前の以降の文字には、英字、小数点、または _@#$ のいずれかの記号を使用できます。
埋め込みスペース、タブ、またはその他の特殊文字を名前に含めることはできません。
Transact-SQL の予約語と同じ名前は使用できません。
メタデータ ストアには、フィールド値に影響するサイズ制限も設けられています。各項目メタデータ エントリの合計サイズは最大 8060 バイトに制限されています。メタデータ ストア ファイルのサイズは最大 4 GB に制限されています。
必要条件
ヘッダー : Metastore.h