IFilterKeyMap::Serialize
Serializa os dados do mapa de chave de filtro para uma matriz de bytes.
HRESULT Serialize(
BYTE * pbFilterKeyMap,
DWORD * pcbFilterKeyMap);
Parâmetros
- pbFilterKeyMap
[in, out, unique, size_is(*pcbFilterKeyMap)] A matriz de bytes que recebe os dados serializados.
- pcbFilterKeyMap
[in, out] Especifica o número de bytes em pbFilterKeyMap. Retorna o número de bytes necessários para serializar os dados do mapa de chave de filtro quando pbFilterKeyMap é muito pequeno, ou retorna o número de bytes gravados.
Valor de retorno
S_OK.
E_INVALIDARG quando um filtro armazenado no mapa relata que ele foi serializado com êxito, mas o número de bytes gravados não corresponde ao tamanho do filtro.
E_POINTER.
E_OUTOFMEMORY.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pbFilterKeyMap for muito pequeno. Nessa situação, o número de bytes necessário é retornado em pcbFilterKeyMap.
Comentários
Para serializar os filtros contidos no mapa de chave de filtro, este método primeiro obtém os tamanhos dos filtros chamando ISyncFilter::Serialize em cada filtro, especificando NULL para o parâmetro de matriz de bytes. Os filtros são serializados então chamando ISyncFilter::Serialize novamente em cada filtro. Quando o número de bytes gravado na matriz de bytes de um filtro não corresponde ao tamanho do filtro relatado pela primeira chamada para ISyncFilter::Serialize, a serialização é cancelada e E_INVALIDARG é retornado.