IKnowledgeWithMarkers::NextAllChangeUnitsRequiredMarker
すべての変更単位が必要であることを示すマークが付いている項目の一覧内の次の項目を返します。
HRESULT NextAllChangeUnitsRequiredMarker(
BYTE * pItemId,
DWORD * pIdSize);
パラメーター
- pItemId
[in, out, unique, size_is(*pIdSize)] すべての変更単位が必要であることを示すマークが付いている項目 ID の一覧内の次の項目 ID を返します。
- pIdSize
[in, out] pItemId のバイト数を指定します。書き込まれたバイト数を返します。pItemId が小さすぎる場合は、ID を取得するのに必要なバイト数を返します。
戻り値
S_OK
S_FALSE (一覧内の項目がなくなった場合、またはすべての変更単位を含んでいることを示すマークが付いている項目がナレッジ オブジェクトに含まれている場合)
HRESULT_FROM_WIN32(ERROR_MORE_DATA) (pItemId が小さすぎる場合。この場合、必要なバイト数が pIdSize で返されます。)
E_INVALIDARG (pIdSize が項目 ID 形式スキーマによって指定された最大サイズより大きい場合)
E_POINTER (項目 ID が可変長で、pIdSize が NULL の場合)
解説
カスタム フィルターが使用される場合、同期元プロバイダーでは、変更バッチに追加される項目ですべての変更単位を含める必要があるかどうかを確認する必要があります。これを行うには、IKnowledgeWithMarkers::ContainsAllChangeUnitsRequiredMarker を呼び出すか、NextAllChangeUnitsRequiredMarker を使用して項目を列挙します。すべての変更単位が必要であることを示すマークが項目に付いている場合、同期元プロバイダーには、その項目のフィルターに合致するすべての変更単位が含まれている必要があります。