Compartilhar via


Função MonikerRelativePathTo (objbase.h)

Fornece um moniker que, quando composto no final do primeiro moniker especificado (ou um com uma estrutura semelhante), produz o segundo moniker especificado.

Essa função destina-se a ser usada apenas por implementações IMoniker::RelativePathTo .

Sintaxe

HRESULT MonikerRelativePathTo(
  [in]  LPMONIKER pmkSrc,
  [in]  LPMONIKER pmkDest,
  [out] LPMONIKER *ppmkRelPath,
  [in]  BOOL      dwReserved
);

Parâmetros

[in] pmkSrc

Um ponteiro para a interface IMoniker no moniker que, quando composto com o moniker relativo a ser criado, produz pmkDest. Esse moniker identifica a "origem" do moniker relativo a ser criado.

[in] pmkDest

Um ponteiro para a interface IMoniker no moniker a ser expresso em relação ao pmkSrc. Esse moniker identifica o destino do moniker relativo a ser criado.

[out] ppmkRelPath

O endereço de uma variável de ponteiro IMoniker* que recebe o ponteiro de interface para o novo moniker relativo. 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 da interface será NULL.

[in] dwReserved

Esse parâmetro é reservado e deve ser diferente de zero.

Retornar valor

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

Código de retorno Descrição
S_OK
Um caminho relativo significativo foi retornado.
MK_S_HIM
A única forma do caminho relativo é o outro moniker.
MK_E_NOTBINDABLE
O parâmetro pmkSrc é um moniker relativo, como um moniker de item, e deve ser composto com o moniker de seu contêiner antes que um caminho relativo possa ser determinado.

Comentários

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

Você deverá chamar essa função somente se pmkSrc e pmkDest 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::RelativePathTo