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

パラメーター

戻り値

型 : 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;
}

参照

参照

ReplicaMetadataクラス

ReplicaMetadata メンバー

Microsoft.Synchronization.MetadataStorage 名前空間