Função OleCreate (ole.h)

Cria um objeto inserido identificado por um CLSID. Normalmente, você o usa para implementar o item de menu que permite que o usuário final insira um novo objeto.

Sintaxe

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

Parâmetros

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

Retornar valor

Essa função retorna S_OK com êxito e dá suporte ao valor retornado padrão E_OUTOFMEMORY.

Código de retorno Descrição
E_OUTOFMEMORY
Memória insuficiente para a operação.

Comentários

A função OleCreate cria um novo objeto inserido e normalmente é chamada para implementar o item de menu Inserir Novo Objeto. Quando OleCreate retorna, o objeto que ele criou fica em branco (não contém dados), a menos que renderopt seja OLERENDER_DRAW ou OLERENDER_FORMAT e seja carregado. Normalmente, os contêineres chamam a função OleRun ou IOleObject::D oVerb para mostrar o objeto para edição inicial.

O parâmetro rclsid especifica o CLSID do objeto solicitado. CLSIDs de objetos registrados são armazenados no registro do sistema. Quando um usuário do aplicativo seleciona Inserir Objeto, uma caixa de seleção permite que o usuário selecione o tipo de objeto desejado daqueles no registro. Quando OleCreate é usado para implementar o item de menu Inserir Objeto, o CLSID associado ao item selecionado é atribuído ao parâmetro rclsid de OleCreate.

O parâmetro riid especifica a interface que o cliente usará para se comunicar com o novo objeto. Após o retorno bem-sucedido, o parâmetro ppvObject mantém um ponteiro para a interface solicitada.

O cache do objeto criado contém informações que permitem uma apresentação de um objeto independente quando o contêiner é aberto. Informações sobre o que deve ser armazenado em cache são passadas nos valores renderopt e pFormatetc . Quando OleCreate retorna, o cache do objeto criado não é necessariamente preenchido. Em vez disso, o cache é preenchido na primeira vez que o objeto entra no estado em execução. O chamador pode adicionar um controle de cache adicional com uma chamada para IOleCache::Cache após o retorno de OleCreate e antes que o objeto seja executado. Se renderopt for OLERENDER_DRAW ou OLERENDER_FORMAT, OleCreate exigirá que o objeto dê suporte à interface IOleCache . Não há nenhum requisito desse tipo para qualquer outro valor de renderopt.

Se pClientSite não for NULL, OleCreatechamará IOleObject::SetClientSite por meio do ponteiro pClientSite . IOleClientSite é a interface primária pela qual um objeto solicita serviços de seu contêiner. Se pClientSite for NULL, você deverá fazer uma chamada específica para IOleObject::SetClientSite antes de tentar qualquer operação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ole.h (inclua Ole2.h)
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

FORMATETC

Ioleclientsite

Ioleobject

OLERENDER