將篩選機碼對應資料序列化為位元組陣列。
HRESULT Serialize(
BYTE * pbFilterKeyMap,
DWORD * pcbFilterKeyMap);
參數
- pbFilterKeyMap
[in, out, unique, size_is(*pcbFilterKeyMap)] 接收序列化資料的位元組陣列。
- pcbFilterKeyMap
[in, out] 指定 pbFilterKeyMap 中的位元組數目。當 pbFilterKeyMap 太小時傳回序列化篩選機碼對應資料所需的位元組數目,或傳回寫入的位元組數目。
傳回值
S_OK。
如果儲存在對應中的篩選報告它成功序列化了本身,但是寫入的位元組數目與篩選的大小不符,則為 E_INVALIDARG。
E_POINTER。
E_OUTOFMEMORY。
當 pbFilterKeyMap 太小時,為 HRESULT_FROM_WIN32(ERROR_MORE_DATA)。在這種情況下,所需的位元組數目是在 pcbFilterKeyMap 中傳回。
備註
若要序列化包含在篩選機碼對應中的篩選,此方法會先針對每個篩選呼叫 ISyncFilter::Serialize,然後指定位元組陣列參數的 NULL 來取得篩選的大小。接著,此方法會再次針對每個篩選呼叫 ISyncFilter::Serialize 來序列化篩選。當寫入篩選之位元組陣列的位元組數目與第一次呼叫 ISyncFilter::Serialize 時所報告的篩選器大小不符時,序列化又會遭到取消,並傳回 E_INVALIDARG。