IGraphBuilder::RenderFile()的第一个参数为LPCWSTR类型,我获得的为PCHAR类型,怎么转换能够成功调用呢?
申明一下,强制转换调用的结果不正确。

解决方案 »

  1.   

    int MultiByteToWideChar(
      UINT CodePage,         // code page
      DWORD dwFlags,         // character-type options
      LPCSTR lpMultiByteStr, // address of string to map
      int cchMultiByte,      // number of bytes in string
      LPWSTR lpWideCharStr,  // address of wide-character buffer
      int cchWideChar        // size of buffer
    );
      

  2.   

    CodePage为代码页,由于你要转换的是ANSI文本,所以这里取CP_ACP。
    dwFlags可以取0。
    lpMultiByteStr就是你要转换的char *。
    cchMultiByte取-1,表示全部转换。
    lpWideCharStr是你要接收转换结果的宽字符缓冲区,注意要预留足够大小。
    cchWideChar缓冲区的字符数。