CreateItemMetadata メソッド
派生クラスでオーバーライドされると、新規項目メタデータ エントリをメタデータ ストアに追加するために使用される、新規項目メタデータ オブジェクトを作成します。
名前空間: Microsoft.Synchronization.MetadataStorage
アセンブリ: Microsoft.Synchronization.MetadataStorage (Microsoft.Synchronization.MetadataStorage.dll 内)
構文
'宣言
Public MustOverride Function CreateItemMetadata ( _
globalId As SyncId, _
creationVersion As SyncVersion _
) As ItemMetadata
'使用
Dim instance As ReplicaMetadata
Dim globalId As SyncId
Dim creationVersion As SyncVersion
Dim returnValue As ItemMetadata
returnValue = instance.CreateItemMetadata(globalId, _
creationVersion)
public abstract ItemMetadata CreateItemMetadata(
SyncId globalId,
SyncVersion creationVersion
)
public:
virtual ItemMetadata^ CreateItemMetadata(
SyncId^ globalId,
SyncVersion^ creationVersion
) abstract
abstract CreateItemMetadata :
globalId:SyncId *
creationVersion:SyncVersion -> ItemMetadata
public abstract function CreateItemMetadata(
globalId : SyncId,
creationVersion : SyncVersion
) : ItemMetadata
パラメーター
- globalId
型 : Microsoft.Synchronization. . :: . .SyncId
作成する項目のグローバル ID です。グローバル ID は一意でなければなりません。
- creationVersion
型 : Microsoft.Synchronization. . :: . .SyncVersion
この項目に関連付ける作成バージョンです。
戻り値
型 : Microsoft.Synchronization.MetadataStorage. . :: . .ItemMetadata
新規で作成された項目メタデータ オブジェクトです。
例外
例外 | 条件 |
---|---|
ObjectDisposedException | オブジェクトが破棄されているか、正しく初期化されていません。 |
ArgumentNullException | globalId または creationVersion が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) です。 |
OutOfMemoryException | メモリ不足で項目メタデータを作成できません。 |
SyncIdFormatMismatchException | globalId の形式が、レプリカ メタデータを初期化したときに指定された形式と一致しません。 |
説明
この項目メタデータは、SaveItemMetadata が呼び出されない限り、メタデータ ストアに保存されません。
例
次の例では、項目のメタデータを作成し、項目内の各変更単位の変更単位バージョンを設定します。さらに、項目のインデックス フィールドのカスタム フィールド値を設定します。
private ItemMetadata CreateContactMetadata(Contact contact, SyncId itemId, SyncVersion creationVersion,
SyncVersion changeVersion)
{
// Create the item by using the metadata storage service.
ItemMetadata itemMeta = _ContactReplicaMetadata.CreateItemMetadata(itemId, creationVersion);
// Set the version information for each change unit.
itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.NameCU), changeVersion);
itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.PhoneCU), changeVersion);
itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.AddressCU), changeVersion);
itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.BirthdateCU), changeVersion);
// A unique index is defined for the combination of first name, last name, and phone number in order
// to map between the item ID and the contact.
// Set the field values for the index fields.
itemMeta.SetCustomField(FirstNameField, contact.FirstName);
itemMeta.SetCustomField(LastNameField, contact.LastName);
itemMeta.SetCustomField(PhoneNumberField, contact.PhoneNumber);
return itemMeta;
}