Partager via


IFilterKeyMap::Serialize

Sérialise les données de mappage de clés de filtre en un tableau d'octets.

Syntaxe

HRESULT Serialize(
  BYTE * pbFilterKeyMap,
  DWORD * pcbFilterKeyMap);

Paramètres

  • pbFilterKeyMap
    [in, out, unique, size_is(*pcbFilterKeyMap)] Tableau d'octets qui reçoit les données sérialisées.

  • pcbFilterKeyMap
    [in, out] Spécifie le nombre d'octets contenus dans pbFilterKeyMap. Retourne le nombre d'octets requis pour sérialiser les données de mappage de clés de filtre lorsque pbFilterKeyMap est trop petit, ou le nombre d'octets écrits.

Valeur de retour

  • S_OK.

  • E_INVALIDARG lorsqu'un filtre a stocké dans les rapports de mappage qu'il s'est sérialisé lui-même avec succès, mais le nombre d'octets écrit ne correspond pas à la taille du filtre.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) lorsque pbFilterKeyMap est trop petit. Dans ce cas, le nombre requis d'octets est retourné dans pcbFilterKeyMap.

Notes

Pour sérialiser les filtres contenus dans le mappage de clés de filtre, cette méthode obtient en premier les tailles des filtres en appelant ISyncFilter::Serialize sur chaque filtre, en spécifiant NULL pour le paramètre de tableau d'octets. Puis les filtres sont sérialisés en appelant encore ISyncFilter::Serialize sur chaque filtre. Lorsque le nombre d'octets écrit dans le tableau d'octets pour un filtre ne correspond pas à la taille du filtre signalée par le premier appel à ISyncFilter::Serialize, la sérialisation est annulée et E_INVALIDARG est retourné.

Voir aussi

Autres ressources

Interface IFilterKeyMap