OleCreateFromFile
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 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 pFormatEtc
parameter.
pFormatEtc
[in]
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.
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 IStorage
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 TYMED.
DV_E_LINDEX
Invalid
LINDEX.
DV_E_FORMATETC
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, such as the Create from File command in Word for Windows.
See Also