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 オブジェクトに含まれている値を返します。