Compartilhar via


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