Função MonikerCommonPrefixWith (objbase.h)

Cria um novo moniker com base no prefixo comum que esse moniker (aquele que inclui os dados desse objeto moniker) compartilha com outro moniker.

Essa função destina-se a ser chamada somente em implementações de IMoniker::CommonPrefixWith.

Sintaxe

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

Parâmetros

[in] pmkThis

Um ponteiro para a interface IMoniker em um dos monikers para os quais um prefixo comum é procurado; geralmente o moniker no qual essa chamada é usada para implementar IMoniker::CommonPrefixWith.

[in] pmkOther

Um ponteiro para a interface IMoniker no moniker a ser comparado com o primeiro moniker.

[out] ppmkCommon

O endereço de uma variável de ponteiro IMoniker* que recebe o ponteiro de interface para o moniker com base no prefixo comum de pmkThis e pmkOther. Quando bem-sucedida, a função chamou AddRef no moniker e o chamador é responsável por chamar Release. Se ocorrer um erro, o valor do ponteiro de interface fornecido será NULL.

Retornar valor

Essa função pode retornar os valores de retorno padrão E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.

Código de retorno Descrição
S_OK
Existe um prefixo comum que não é pmkThis nem pmkOther.
MK_S_HIM
O moniker pmkOther inteiro é um prefixo do pmkThis moniker.
MK_S_ME
O moniker pmkThis inteiro é um prefixo do moniker pmkOther .
MK_S_US
Os monikers pmkThis e pmkOther são iguais.
MK_E_NOPREFIX
Os monikers não têm nenhum prefixo comum.
MK_E_NOTBINDABLE
Essa função foi chamada em um moniker relativo. Não é significativo usar o prefixo comum de monikers relativos.

Comentários

Sua implementação de IMoniker::CommonPrefixWith deve primeiro marcar se o outro moniker é de um tipo que você reconhece e manipula de maneira especial. Caso contrário, você deve chamar MonikerCommonPrefixWith, passando-se como pmkThis e o outro moniker como pmkOther. MonikerCommonPrefixWith manipula corretamente os casos em que qualquer moniker é uma composição genérica.

Você deverá chamar essa função somente se pmkThis e pmkOther forem monikers absolutos (em que um moniker absoluto é um moniker de arquivo ou uma composição genérica cujo componente mais à esquerda é um moniker de arquivo e onde o moniker de arquivo representa um caminho absoluto). Não chame essa função em monikers relativos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objbase.h
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

IMoniker::CommonPrefixWith