IFilterKeyMap::Serialize
필터 키 맵 데이터를 바이트 배열로 직렬화합니다.
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가 반환됩니다.