IMoniker::CommonPrefixWith
9/8/2008
Thismethod localiza o prefixo que o moniker tem em comum com outro moniker.
Syntax
HRESULT CommonPrefixWith(
IMoniker* pmkOther,
IMoniker** ppmkPrefix
);
Parameters
- pmkOther
[no] Ponteiro para o IMoniker interface no outro moniker para ser comparado com esse um para determinar se há um comum prefixo.
ppmkPrefix
[out] Endereço das IMonikervariável * pointer que recebe o ponteiro interface para o moniker que é o comum prefixo deste moniker e pmkOther.Quando bem-sucedido, a implementação deve chamar o IUnknown::AddRef método no moniker resultante; é responsabilidade do chamador para chamar o IUnknown::Release método.
Se ocorrer um erro ou se não houver nenhum comum prefixo, a implementação deve definir *ppmkPrefix 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 |
Um comum prefixo existe that is nem este moniker nem pmkOther. |
MK_S_NOPREFIX |
Nenhum comum prefixo existe. |
MK_S_HIM |
Todo o pmkOther moniker é um prefixo deste moniker. |
MK_S_US |
Os dois monikers são idênticos. |
MK_S_ME |
Este moniker é um prefixo da pmkOther moniker. |
MK_E_NOTBINDABLE |
Esse método foi chamado em um relativo moniker. Não é significativo tenham o comum prefixo em um relativo moniker. |
Remarks
IMoniker::CommonPrefixWith Cria um novo moniker que consiste de comum prefixos do moniker sobre esse objeto moniker e outro moniker.
Se, de exemplo, um moniker representa o caminho c:\projects\secret\art\pict1.bmp e outro moniker representa o caminho c:\projects\secret\docs\chap1.txt, o comum prefixo desses dois monikers seria um moniker que representa o caminho c:\projects\secret.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para chamadores
O IMoniker::CommonPrefixWith método é basicamente chamado na implementação das IMoniker::RelativePathTo método. Os clientes que usam um moniker para localizar um objeto raramente precisará chamar este método.
Chamar esse método somente se pmkOther e este moniker são os dois monikers absolutos. Um moniker absoluta é moniker um arquivo ou um genérico composição cujo componente mais à esquerda é um moniker arquivo que representa um caminho absoluto.
Fazer não chamar esse método em relativo monikers, porque ele não seria significativo gerar resultados.
Notas para Implementers
A implementação deve primeiro determinar se pmkOther é um moniker de uma classe que você reconhece e para o qual você pode fornecer manipulação especial (por exemplo, se ele estiver a mesma classe como este moniker). Se assim, sua implementação deve determinar o comum prefixo dos dois monikers.
Caso contrário, ele deve transmitir os dois monikers em um chamar para o MonikerCommonPrefixWith função, qual corretamente manipula o genérico maiúsculas e minúsculas.
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
MonikerCommonPrefixWith
IMoniker
IMoniker::RelativePathTo
IUnknown::AddRef
IUnknown::Release