Compartir a través de


Función MonikerCommonPrefixWith (objbase.h)

Crea un nuevo moniker basado en el prefijo común que este moniker (el que comprende los datos de este objeto de moniker) comparte con otro moniker.

Esta función está pensada para llamarse solo en implementaciones de IMoniker::CommonPrefixWith.

Sintaxis

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

Parámetros

[in] pmkThis

Puntero a la interfaz IMoniker en uno de los monikers para los que se busca un prefijo común; normalmente, el moniker en el que se usa esta llamada para implementar IMoniker::CommonPrefixWith.

[in] pmkOther

Puntero a la interfaz IMoniker del moniker que se va a comparar con el primer moniker.

[out] ppmkCommon

Dirección de una variable de puntero IMoniker* que recibe el puntero de interfaz al moniker basado en el prefijo común de pmkThis y pmkOther. Cuando se ejecuta correctamente, la función ha llamado a AddRef en el moniker y el autor de la llamada es responsable de llamar a Release. Si se produce un error, el valor del puntero de interfaz proporcionado es NULL.

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_OUTOFMEMORY y E_UNEXPECTED, así como los siguientes valores.

Código devuelto Descripción
S_OK
Existe un prefijo común que no es pmkThis ni pmkOther.
MK_S_HIM
Todo el pmkOther moniker es un prefijo del pmkThis moniker.
MK_S_ME
Todo el pmkThis moniker es un prefijo del pmkOther moniker.
MK_S_US
Los monikers pmkThis y pmkOther son iguales.
MK_E_NOPREFIX
Los monikers no tienen ningún prefijo común.
MK_E_NOTBINDABLE
Se llamó a esta función en un moniker relativo. No es significativo tomar el prefijo común de monikers relativos.

Comentarios

La implementación de IMoniker::CommonPrefixWith debe comprobar primero si el otro moniker es de un tipo que reconoce y controla de forma especial. Si no es así, debe llamar a MonikerCommonPrefixWith, pasando a sí mismo como pmkThis y el otro moniker como pmkOther. MonikerCommonPrefixWith controla correctamente los casos en los que cualquiera de los moniker es un compuesto genérico.

Debe llamar a esta función solo si pmkThis y pmkOther son monikers absolutos (donde un moniker absoluto es un moniker de archivo o un compuesto genérico cuyo componente más izquierdo es un moniker de archivo y donde el moniker de archivo representa una ruta de acceso absoluta). No llame a esta función en monikers relativos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objbase.h
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

IMoniker::CommonPrefixWith