IItemMetadata::GetGlobalId

項目のグローバル ID を取得します。

HRESULT GetGlobalId(
  BYTE * pbGlobalId,
  ULONG * pcbGlobalId);

パラメーター

  • pbGlobalId
    [in, out, size_is(*pcbGlobalId), unique] 項目のグローバル ID を返します。
  • pcbGlobalId
    [in, out] pbGlobalId のバイト数を指定します。書き込まれたバイト数を返します。pbGlobalId が小さすぎる場合は、グローバル ID を取得するのに必要なバイト数を返します。

戻り値

  • S_OK。

  • グローバル ID が設定されていない場合は S_FALSE。

  • E_POINTER。

  • pbGlobalId が小さすぎてフィールドの値を受け取れない場合は HRESULT_FROM_WIN32(ERROR_MORE_DATA)。この場合は、pcbGlobalId が必要なバイト数を返します。

解説

グローバル ID は、同期スコープ全体にわたって項目を一意に識別します。

返される ID の形式は、レプリカを初期化したときに指定した ID 形式スキーマによって異なります。ID 形式の詳細については、「標準プロバイダーのメタデータ要件」を参照してください。

グローバル ID の値を設定するために IItemMetadata::SetGlobalId を呼び出した場合、IReplicaMetadata::SaveItemMetadata の呼び出しによって変更がまだ保存されていなければ、GetGlobalId はメタデータ ストアに保存されている値ではなく、IItemMetadata オブジェクトに含まれている値を返します。

参照

リファレンス

IItemMetadata インターフェイス