OleCreateFromFile function (ole2.h)
Creates an embedded object from the contents of a named file.
Syntax
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
);
Parameters
[in] rclsid
This parameter is reserved and must be CLSID_NULL.
[in] lpszFileName
Pointer to a string specifying the full path of the file from which the object should be initialized.
[in] riid
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).
[in] renderopt
Value from the enumeration OLERENDER 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 lpFormatEtc parameter.
[in] lpFormatEtc
Depending on which of the OLERENDER flags is used as the value of renderopt, pointer to one of the FORMATETC enumeration values. Refer also to the OLERENDER enumeration for restrictions.
[in] pClientSite
Pointer to an instance of IOleClientSite, the primary interface through which the object will request services from its container. This parameter can be NULL.
[in] pStg
Pointer to the IStorage interface on the storage object. This parameter cannot be NULL.
[out] ppvObj
Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, *ppvObj contains the requested interface pointer on the newly created object.
Return value
This function returns S_OK on success. Other possible values include the following.
Return code | Description |
---|---|
|
File not bound. |
|
Not able to bind to source. |
|
The medium is full. |
|
Invalid TYMED. |
|
Invalid LINDEX. |
|
Invalid FORMATETC 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 GetClassFile 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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | ole2.h (include Ole2.h) |
Library | Ole32.lib |
DLL | Ole32.dll |