OleCreate
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.
pClientSite
[no] Se você desejar OleCreate Para chamar IOleObject::SetClientSite, pClientSite é o ponteiro para o IOleClientSite interface no contêiner.O valor pode ser NULL, no qual maiúsculas e minúsculas especificamente você deve chamar IOleClientSite::SetClientSite Antes de tentar operações.
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