IMoniker::Inverse
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