Compartilhar via


CreateGenericComposite

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esta função executa um genérico composição de dois monikers e fornece um ponteiro para a composição resultante moniker.

Syntax

WINOLEAPI CreateGenericComposite(
  LPMONIKER pmkFirst,
  LPMONIKER pmkRest,
  LPMONIKER FAR* ppmkComposite
);

Parameters

  • pmkFirst
    [no] Ponteiro para o moniker seja composto à esquerda do moniker que pmkRest Aponta para. Pode apontar para qualquer tipo de moniker, incluindo um genérico composição.
  • pmkRest
    [no] Ponteiro para o moniker seja composto para o direito do moniker que pmkFirst Aponta para. Pode apontar para qualquer tipo de moniker compatível com o tipo da pmkRest moniker, incluindo um genérico composição.
  • ppmkComposite
    [out] Endereço do IMonikervariável * pointer que recebe o ponteiro interface para a composição objeto moniker que é o resultado de redigir pmkFirst e pmkRest.

    Este objeto oferece suporte a composição OLE implementação moniker de IMoniker.

    Quando bem-sucedido, a função tem chamado IUnknown::AddRef Sobre o moniker e o chamador é responsáveis por chamado IUnknown::Release.

    Se ambos pmkFirst Ou pmkRest São NULL, o ponteiro fornecido é aquele que é não-NULL.

    Se os dois pmkFirst e pmkRest são NULL, ou se ocorrer um erro, o ponteiro retornado for NULL.

Return Value

Essa função suporta o padrão valor de retorno E_OUTOFMEMORY, bem como o seguinte:

  • S_OK
    A entrada dois monikers foram compostas com êxito.
  • MK_E_SYNTAX
    Os dois monikers não podem ser compostos devido a um erro de sintaxe de um caminho (por exemplo, se dois pmkFirst e pmkRest arquivo monikers baseiam-se nos caminhos absolutos).

Remarks

CreateGenericComposite Associa dois monikers em uma. As classes moniker sendo associadas podem ser diferentes, assunto somente para as regras de composição.

Chamar essa função apenas de uma nova classe moniker Implementando o IMoniker interface, em uma implementação de IMoniker::ComposeWith que inclui genérico funcionalidade composição.

Moniker provedores devem chamar IMoniker::ComposeWith Para compor dois monikers juntos.

Implementações de ComposeWith Deve (como OLE implementações) tentam, quando razoável para a classe, para executar compositions non-Generic em primeiro lugar, no quais dois monikers da mesma classe são combinadas. Se isso não for possível, a implementação poderá chamar CreateGenericComposite Para fazer um genérico composição, que combina dois monikers das classes diferentes, Dentro as regras de composição.

Você pode definir novos tipos de não-genérico compositions se você gravar uma nova classe moniker.

Durante o processo de redigir os dois monikers, CreateGenericComposite torna todos os possíveis simplificações.

Considere o exemplo em que pmkFirst é o genérico composição moniker, A + B + C, e pmkRest é o genérico composição moniker, C-1 + B-1 + Z (onde C-1 é o inverso da C).

A função Primeiro redige C para C-1, que redige para nada.

Em seguida, ele redige B e o B-1 para nada.

Finalmente, ele redige da a Z e fornece um ponteiro para o genérico composição moniker, A + Z.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions