Función OleCreate (ole.h)

Crea un objeto incrustado identificado por un CLSID. Normalmente, se usa para implementar el elemento de menú que permite al usuario final insertar un nuevo objeto.

Sintaxis

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

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente y admite el valor devuelto estándar E_OUTOFMEMORY.

Código devuelto Descripción
E_OUTOFMEMORY
Memoria insuficiente para la operación.

Comentarios

La función OleCreate crea un nuevo objeto incrustado y normalmente se llama para implementar el elemento de menú Insertar nuevo objeto. Cuando OleCreate devuelve, el objeto que ha creado está en blanco (no contiene datos), a menos que renderopt se OLERENDER_DRAW o OLERENDER_FORMAT y se cargue. Los contenedores suelen llamar a la función OleRun o A IOleObject::D oVerb para mostrar el objeto para la edición inicial.

El parámetro rclsid especifica el CLSID del objeto solicitado. Los CLSID de objetos registrados se almacenan en el registro del sistema. Cuando un usuario de la aplicación selecciona Insertar objeto, un cuadro de selección permite al usuario seleccionar el tipo de objeto deseado de los del Registro. Cuando OleCreate se usa para implementar el elemento de menú Insertar objeto, el CLSID asociado al elemento seleccionado se asigna al parámetro rclsid de OleCreate.

El parámetro riid especifica la interfaz que el cliente usará para comunicarse con el nuevo objeto. Tras la devolución correcta, el parámetro ppvObject contiene un puntero a la interfaz solicitada.

La memoria caché del objeto creado contiene información que permite una presentación de un objeto contenido cuando se abre el contenedor. La información sobre lo que se debe almacenar en caché se pasa en los valores renderopt y pFormatetc . Cuando OleCreate vuelve, la memoria caché del objeto creado no se rellena necesariamente. En su lugar, la memoria caché se rellena la primera vez que el objeto entra en estado de ejecución. El autor de la llamada puede agregar un control de caché adicional con una llamada a IOleCache::Cache después de la devolución de OleCreate y antes de que se ejecute el objeto. Si renderopt es OLERENDER_DRAW o OLERENDER_FORMAT, OleCreate requiere que el objeto admita la interfaz IOleCache . No hay este requisito para ningún otro valor de renderopt.

Si pClientSite no es NULL, OleCreate llama a IOleObject::SetClientSite a través del puntero pClientSite . IOleClientSite es la interfaz principal por la que un objeto solicita servicios de su contenedor. Si pClientSite es NULL, debe realizar una llamada específica a IOleObject::SetClientSite antes de intentar realizar cualquier operación.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ole.h (include Ole2.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

FORMATETC

IOleClientSite

IOleObject

OLERENDER