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 |
---|---|
|
Existe un prefijo común que no es pmkThis ni pmkOther. |
|
Todo el pmkOther moniker es un prefijo del pmkThis moniker. |
|
Todo el pmkThis moniker es un prefijo del pmkOther moniker. |
|
Los monikers pmkThis y pmkOther son iguales. |
|
Los monikers no tienen ningún prefijo común. |
|
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 |