OleCreateFromFile  10L.1Z_

Creates an embedded object from the contents of a named file.

WINOLEAPI OleCreateFromFile(

    REFCLSID rclsid,

//Reserved. Must be CLSID_NULL

    LPCOLESTR lpszFileName,

//Pointer to full path of file used to create object

    REFIID riid,

//Reference to the identifier of the interface to be used to communicate with new object

    DWORD renderopt,

//Value from OLERENDER

    LPFORMATETC pFormatEtc,

//Pointer to the FORMATETC structure

    LPOLECLIENTSITE pClientSite,

//Pointer to an interface

    LPSTORAGE pStg,

//Pointer tothe interface to be used as object storage

    LPVOID FAR* ppvObj

//Indirect pointer to the interface requested in riid

   );

 

 

Parameters

rclsid

[in] Reserved. Must be CLSID_NULL.

lpszFileName

[in] Pointer to a string specifying the full path of the file from which the object should be initialized.

riid

[in] Reference to the identifier of the interface the caller later uses to communicate with the new object (usually IID_IOleObject, defined in the OLE headers as the interface ID of IOleObject).

renderopt

[in] Value from the enumeration OLERENDER1W1IE2P that indicates the locally cached drawing or data-retrieval capabilities the newly created object is to have. The OLERENDER value chosen affects the possible values for the pFormatEtc parameter.

pFormatEtc

[in] Depending on which of the OLERENDER flags is used as the value of renderopt, pointer to one of the FORMATETC8CSQ18 enumeration values. Refer also to the OLERENDER enumeration for restrictions.

pClientSite

[in] Pointer to an instance of IOleClientSite, the primary interface through which the object will request services from its container. May be NULL.

pStg

[in] Pointer to the IStorageFS1VT1 interface on the storage object. This parameter may not be NULL.

ppvObj

[out] Indirect pointer to the interface requested in riid on the newly created object on return.

 

Return Values

This function supports the standard return value E_OUTOFMEMORY, as well as the following:

S_OK

Embedded object successfully created.

STG_E_FILENOTFOUND

File not bound.

OLE_E_CANT_BINDTOSOURCE

Not able to bind to source.

STG_E_MEDIUMFULL

The medium is full.

DV_E_TYMED

Invalid TYMED1QNCE4N.

DV_E_LINDEX

Invalid LINDEX.

DV_E_FORMATETC

Invalid FORMATETC8CSQ18 structure.

 

Remarks

The OleCreateFromFile function creates a new embedded object from the contents of a named file. If the ProgID in the registration database contains the PackageOnFileDrop key, it creates a package. If not, the function calls the GetClassFile2XAODC function to get the CLSID associated with the lpszFileName parameter, and then creates an OLE 2-embedded object associated with that CLSID. The rclsid parameter of OleCreateFromFile will always be ignored, and should be set to CLSID_NULL.

As for other OleCreateXxx functions, the newly created object is not shown to the user for editing, which requires a DoVerb operation. It is used to implement insert file operations, such as the Create from File command in Word for Windows.

See Also

GetClassFile