Compartilhar via


IMoniker::Inverse

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Thismethod Retorna o inverso do moniker.

Syntax

HRESULT Inverse( 
  IMoniker** ppmk
);

Parameters

  • ppmk
    [out] Endereço do IMonikervariável * pointer que recebe o ponteiro interface para um moniker que é o inverso deste moniker.

    Quando bem-sucedido, a implementação deve chamar o IUnknown::AddRef método sobre o novo moniker inverso.

    É responsabilidade do chamador para chamar o IUnknown::Release método. Se ocorrer um erro, a implementação deve definir *ppmk para NULL.

Return Value

O método suporta o padrão valor de retorno E_OUTOFMEMORY. A seguinte tabela mostra os adicionais retornam valores para este método.

Valor Descrição

S_OK

O moniker inverso foi retornado com êxito.

MK_E_NOINVERSE

A classe moniker não possui um inverso.

Remarks

O inverso de um moniker é parecido com o ".." Diretório em sistemas arquivo MS-DOS; o ".." Diretório atua como o inverso para quaisquer outros nome do diretório, pois acrescentando ".." Para um resultados nome do diretório em um vazio caminho.

Da mesma maneira, o inverso de um moniker geralmente também é o inverso de todos os identificadores de origem na mesma classe. No entanto, ele não é necessariamente o inverso de um moniker de uma classe diferente.

O inverso de uma composição moniker é uma composição consiste de inverses dos componentes do original moniker, organizado em ordem inversa. De exemplo, se o inverso de um for INV (A) e a composição de A, B e C será comp (A, B, C), em seguida,

Inv( Comp( A, B, C ) ) 
    is equal to
Comp( Inv( C ), Inv( B ), Inv( A ) ).

Nem todos os identificadores de origem têm inverses. A maioria dos identificadores de origem que estão próprios inverses, como anti-monikers, não é necessário inverses. Identificadores de origem que não tenham nenhum inverso Não é possível ter relativo monikers formado de dentro de objetos eles identificam a outros objetos fora.

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Notas para chamadores

Um objeto que está usando um moniker para localizar outro objeto geralmente não conhece a classe do moniker está usando. Para get o inverso de um moniker, você deve sempre chamar IMoniker::Inverse Em vez de CreateAntiMoniker função, porque você não pode ser determinado que você estiver usando o moniker considera um anti-moniker seja o seu inverso.

O IMoniker::Inverse método também é chamado, a implementação das IMoniker::RelativePathTo método, para ajudar na construindo um relativo moniker.

Notas para Implementers

Se seu monikers não tem nenhuma estrutura interna, você poderá chamar o CreateAntiMoniker função para get um anti-moniker em sua implementação de IMoniker::Inverse.

Em sua implementação das IMoniker::ComposeWith método, você precisa verificar para o inverso você fornecer na implementação de IMoniker::Inverse.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

CreateAntiMoniker
IMoniker::ComposeWith
IUnknown::AddRef
IUnknown::Release