次の方法で共有


ReplicaMetadata.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
public abstract ItemMetadata CreateItemMetadata (
    SyncId globalId, 
    SyncVersion creationVersion
)
public abstract function CreateItemMetadata (
    globalId : SyncId, 
    creationVersion : SyncVersion
) : ItemMetadata

パラメーター

  • globalId
    作成する項目のグローバル ID です。グローバル ID は一意でなければなりません。
  • creationVersion
    この項目に関連付ける作成バージョンです。

戻り値

新規で作成された項目メタデータ オブジェクトです。

例外

例外の種類 条件

ObjectDisposedException

オブジェクトが破棄されているか、正しく初期化されていません。

ArgumentNullException

globalId または creationVersion が 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;
}

参照

リファレンス

ReplicaMetadata クラス
ReplicaMetadata メンバー
Microsoft.Synchronization.MetadataStorage 名前空間