代码之家  ›  专栏  ›  技术社区  ›  Aaron

COM方法调用返回灾难性失败

  •  1
  • Aaron  · 技术社区  · 17 年前

    注:

    • 通过 BSTR 可变到 组件对象模型 方法 回报是 8000FFFF
    • 以前与 接口指针 成功的 :HRESULT是 0
    • 成功 外部 失败 -发布和调试

    说明:

    const char *simFile;
    simFile = new char;
    //omitted
    _bstr_t simFileToOpen(simFile);
    BSTR raw_sim_Open = simFileToOpen.copy();
    SysFreeString(simFileToOpen);
    delete simFile;
    
    hresult = pis8->raw_Open (raw_sim_Open); //0x8000FFFF returned
    
    1 回复  |  直到 11 年前
        1
  •  4
  •   Brian R. Bondy    17 年前

    simFile看起来是存储在const char*中的单个字符。

    它不是以NULL结尾的字符串,除非它是空字符串且其内容为0。

    const char *simFile = new char[1024];
    strcpy(simFile, "path");
    

    更好的是,您可以直接使用SysAllocString来获取BSTR。

    BSTR str = SysAllocString(_T("path"));
    
    推荐文章