错误发生如下:error C2664: 'OleCreateFromFile' : cannot convert parameter 2 from 'const char *' to 'const unsigned short *'

解决方案 »

  1.   

    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       //Address of output variable that 
                               // receives the interface pointer 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] 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 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. 
      

  2.   

    ::OleCreateFromFile(CLSID_NULL,
                                       T2COLE(templ),
                                       IID_IUnknown,
                                       OLERENDER_DRAW,
                                       NULL,
                                       lpClientSite,
                                       m_lpStorage,
                                       (LPVOID*)&m_lpObject);
      

  3.   

    没错,同意 itmaster(传说中的大师) (:每天一个微笑:) com要求unicode。L"c:\\****"这样应该也可以吧
      

  4.   

    是啊,我的第二个参数就是套用itmaster(传说中的大师) 所提到的用法,怎么又显示T2COLE未定义呢?