Partager via


Fonction MonikerCommonPrefixWith (objbase.h)

Crée un nouveau moniker basé sur le préfixe commun que ce moniker (celui qui comprend les données de cet objet moniker) partage avec un autre moniker.

Cette fonction est destinée à être appelée uniquement dans les implémentations de IMoniker ::CommonPrefixWith.

Syntaxe

HRESULT MonikerCommonPrefixWith(
  [in]  LPMONIKER pmkThis,
  [in]  LPMONIKER pmkOther,
  [out] LPMONIKER *ppmkCommon
);

Paramètres

[in] pmkThis

Pointeur vers l’interface IMoniker sur l’un des monikers pour lesquels un préfixe commun est recherché ; généralement le moniker dans lequel cet appel est utilisé pour implémenter IMoniker ::CommonPrefixWith.

[in] pmkOther

Pointeur vers l’interface IMoniker sur le moniker à comparer au premier moniker.

[out] ppmkCommon

Adresse d’une variable de pointeur IMoniker* qui reçoit le pointeur d’interface vers le moniker en fonction du préfixe commun de pmkThis et pmkOther. En cas de réussite, la fonction a appelé AddRef sur le moniker et l’appelant est responsable de l’appel de Release. Si une erreur se produit, la valeur du pointeur d’interface fournie est NULL.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
Il existe un préfixe commun qui n’est ni pmkThis ni pmkOther.
MK_S_HIM
Le moniker pmkOther entier est un préfixe du moniker pmkThis .
MK_S_ME
Le moniker pmkThis entier est un préfixe du moniker pmkOther .
MK_S_US
Les monikers pmkThis et pmkOther sont égaux.
MK_E_NOPREFIX
Les monikers n’ont pas de préfixe commun.
MK_E_NOTBINDABLE
Cette fonction a été appelée sur un moniker relatif. Il n’est pas significatif de prendre le préfixe commun des monikers relatifs.

Remarques

Votre implémentation de IMoniker ::CommonPrefixWith doit d’abord case activée si l’autre moniker est d’un type que vous reconnaissez et gérez d’une manière spéciale. Si ce n’est pas le cas, vous devez appeler MonikerCommonPrefixWith, en se transmettant comme pmkThis et l’autre moniker comme pmkOther. MonikerCommonPrefixWith gère correctement les cas où un moniker est un composite générique.

Vous devez appeler cette fonction uniquement si pmkThis et pmkOther sont tous deux des monikers absolus (où un moniker absolu est un moniker de fichier ou un composite générique dont le composant le plus à gauche est un moniker de fichier, et où le moniker de fichier représente un chemin absolu). N’appelez pas cette fonction sur les monikers relatifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objbase.h
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

IMoniker ::CommonPrefixWith