Compartilhar via


OleCreate

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria um objeto incorporado identificado por um CLSID. É geralmente usado para implementar um item de menu que permite que o usuário para inserir um novo objeto.

Syntax

WINOLEAPI OleCreate( 
  REFCLSID rclsid, 
  REFIID riid, 
  DWORD renderopt, 
  FORMATETC* pFormatEtc, 
  IOleClientSite* pClientSite, 
  IStorage* pStg, 
  void** ppvObject
); 

Parameters

  • rclsid
    [no] CLSID de objeto incorporado que deve ser criado.
  • riid
    [no] Referência para o identificador da interface, geralmente IID_IOleObject (definido em cabeçalhos de OLE como o identificador de interface IOleObject), por que o chamador se comunica com o novo objeto.
  • renderopt
    [no] Valor a partir de enumeração OLERENDER, indicando as capacidades de desenho localmente em cache o objeto recém-criado é ter. O OLERENDER valor escolhido afeta os valores possíveis para o pFormatEtc parâmetro.
  • pFormatEtc
    [no] Dependendo de qual OLERENDER sinalizador é usado como o valor de renderopt, este é um ponteiro para um FORMATETC valor de enumeração. Para obter restrições, consulte o OLERENDER enumeração.

    Este parâmetro, juntamente com o renderopt parâmetro, especifica que o novo objeto pode armazenar em cache inicialmente.

  • pStg
    [no] Ponteiro para uma instância das IStorage interface no objeto de armazenamento.

    Esse parâmetro não pode ser NULL.

  • ppvObject
    [out] Ponteiro para a variável ponteiro que recebe o ponteiro interface solicitado no riid.

    Após bem-sucedido retornar *ppvObject Contém o ponteiro interface solicitada.

Return Value

Essa função retorna S_OK se o objeto incorporado é criado.

Essa função retorna E_OUTOFMEMORY se ele falhar.

Remarks

Passagem inválido (e, em algumas circunstâncias NULL) ponteiros para essa função faz com que uma terminação inesperada do aplicativo.

O OleCreate função cria um objeto incorporado e é geralmente chamado para implementar o item de menu Insert New Object.

Quando OleCreate Retorna, ele cria o objeto é em branco (contém não dados), a menos que renderopt é OLERENDER_DRAW ou OLERENDER_FORMAT e é carregado. Recipientes geralmente e chamar o OleRun função ou IOleObject a apresentação de objeto para edição inicial.

O rclsid parâmetro Especifica a CLSID do objeto solicitado. CLSIDs dos objetos registrados são armazenadas em Registro o sistema. Quando um usuário aplicativo seleciona Objeto Insert, uma caixa seleção permite que o usuário para selecionar o tipo de objeto de as o Registro.

Quando OleCreate é usado para implementar o item de menu Insert Object, o associado CLSID com o item selecionado é atribuído ao rclsid parâmetro de OleCreate.

O riid parâmetro especifica a interface de cliente usa para se comunicar com o novo objeto. Após bem-sucedido retornar, a ppvObject parâmetro contém um ponteiro para a interface solicitada.

Armazenar em cache do objeto criado contém informações que permite uma apresentação de um objeto contido quando o contêiner é aberto. Informações sobre o que deve ser armazenada em cache são passadas na renderopt e pFormatetc Os valores.

Quando OleCreate Retorna, armazenar em cache do objeto criado não é necessariamente preenchida. Em vez disso, o armazenar em cache é preenchida quando o objeto primeiro entra a execução estado.

O chamador pode adicionar controle armazenar em cache com um chamar para IOleCache::Cache Após o retorno de OleCreate e antes que o objeto seja executar.

Se renderopt é OLERENDER_DRAW ou OLERENDER_FORMAT, OleCreate Requer que o suporte objeto a IOleCache interface. Não há nenhum tal requisito para qualquer outro valor de renderopt.

Se pClientSite não-NULL, OleCreate Chamadas IOleObject::SetClientSite Através de pClientSite ponteiro. IOleClientSite é a interface primária pelo qual um objeto solicita serviços de seu contêiner.

Se pClientSite é NULL, você deve fazer um chamar específica para IOleObject::SetClientSite Antes de tentar operações.

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

Requirements

Header ole2.h
Library ole32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Automation Functions
IOleObject
FORMATETC
IOleObject::SetClientSite
IOleClientSite
IStorage
OleRun
IOleObject::DoVerb
IOleObject::SetClientSite

Concepts

Determining Supported COM APIs