Share via


Función OleCreateFromFile (ole2.h)

Crea un objeto incrustado a partir del contenido de un archivo con nombre.

Sintaxis

HRESULT OleCreateFromFile(
  [in]  REFCLSID        rclsid,
  [in]  LPCOLESTR       lpszFileName,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     lpFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Parámetros

[in] rclsid

Este parámetro está reservado y debe ser CLSID_NULL.

[in] lpszFileName

Puntero a una cadena que especifica la ruta de acceso completa del archivo desde el que se debe inicializar el objeto.

[in] riid

Referencia al identificador de la interfaz que el autor de la llamada usa posteriormente para comunicarse con el nuevo objeto (normalmente IID_IOleObject, definido en los encabezados OLE como identificador de interfaz de IOleObject).

[in] renderopt

Valor de la enumeración OLERENDER que indica las funcionalidades de dibujo o recuperación de datos almacenadas localmente en caché que debe tener el objeto recién creado. El valor OLERENDER elegido afecta a los valores posibles para el parámetro lpFormatEtc .

[in] lpFormatEtc

Según cuál de las marcas OLERENDER se use como valor de renderopt, puntero a uno de los valores de enumeración FORMATETC . Consulte también la enumeración OLERENDER para conocer las restricciones.

[in] pClientSite

Puntero a una instancia de IOleClientSite, la interfaz principal a través de la cual el objeto solicitará servicios de su contenedor. Este parámetro puede ser NULL.

[in] pStg

Puntero a la interfaz IStorage en el objeto de almacenamiento. Este parámetro no puede ser NULL.

[out] ppvObj

Dirección de la variable de puntero que recibe el puntero de interfaz solicitado en riid. Tras la devolución correcta, *ppvObj contiene el puntero de interfaz solicitado en el objeto recién creado.

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles son los siguientes.

Código devuelto Descripción
STG_E_FILENOTFOUND
Archivo no enlazado.
OLE_E_CANT_BINDTOSOURCE
No se puede enlazar al origen.
STG_E_MEDIUMFULL
El medio está lleno.
DV_E_TYMED
TYMED no válido.
DV_E_LINDEX
LINDEX no válido.
DV_E_FORMATETC
Estructura FORMATETC no válida.

Comentarios

La función OleCreateFromFile crea un nuevo objeto incrustado a partir del contenido de un archivo con nombre. Si el ProgID de la base de datos de registro contiene la clave PackageOnFileDrop, crea un paquete. Si no es así, la función llama a la función GetClassFile para obtener el CLSID asociado al parámetro lpszFileName y, a continuación, crea un objeto incrustado OLE 2 asociado a ese CLSID. El parámetro rclsid de OleCreateFromFile siempre se omitirá y debe establecerse en CLSID_NULL.

En cuanto a otras funciones OleCreateXxx, el objeto recién creado no se muestra al usuario para su edición, lo que requiere una operación DoVerb . Se usa para implementar operaciones de inserción de archivos.

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 ole2.h (include Ole2.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

GetClassFile