Méthode IROTData ::GetComparisonData (objidl.h)
Récupère les données d’un moniker qui peut être utilisé pour tester l’égalité du moniker par rapport à un autre moniker.
Syntaxe
HRESULT GetComparisonData(
[out] byte *pbData,
[in] ULONG cbMax,
[out] ULONG *pcbData
);
Paramètres
[out] pbData
Pointeur vers une mémoire tampon qui reçoit les données de comparaison.
[in] cbMax
Longueur de la mémoire tampon spécifiée dans pbData.
[out] pcbData
Pointeur vers une variable qui reçoit la longueur des données de comparaison.
Valeur retournée
Cette méthode peut retourner les valeurs de retour standard E_OUTOFMEMORY et S_OK.
Remarques
La méthode GetComparisonData est principalement appelée par la table d’objets en cours d’exécution (ROT). Les données de comparaison retournées par la méthode sont testées pour l’égalité binaire par rapport aux données de comparaison retournées par un autre moniker. Le paramètre pcbData permet au ROT de localiser la fin des données récupérées.
Notes aux implémenteurs
Les données de comparaison que vous retournez doivent identifier de manière unique le moniker, tout en étant aussi courts que possible. Les données de comparaison doivent inclure des informations sur l’état interne du moniker, ainsi que le CLSID du moniker. Par exemple, les données de comparaison d’un moniker de fichier incluent le nom du chemin d’accès stocké dans le moniker, ainsi que le CLSID de l’implémentation du moniker de fichier. Cela permet de distinguer deux monikers qui stockent des informations d’état similaires, mais qui sont des instances de classes de moniker différentes.Les données de comparaison d’un moniker ne peuvent pas dépasser 2 048 octets. Pour les monikers composites, la longueur totale des données de comparaison pour tous ses composants ne peut pas dépasser 2 048 octets ; par conséquent, si votre moniker peut être un composant d’un moniker composite, les données de comparaison que vous retournez doivent être nettement inférieures à 2 048 octets.
Si vos données de comparaison sont plus longues que la valeur spécifiée par le paramètre cbMax , vous devez retourner une erreur. Notez que lorsque GetComparisonData est appelé sur les composants d’un moniker composite, la valeur de cbMax devient plus petite pour chaque moniker dans l’ordre.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | objidl.h |