CLSIDFromString 函数是 Windows API 中的一部分,位于 Combaseapi.h 头文件中。这个函数用于将字符串形式的 CLSID(Class Identifier)转换为对应的 CLSID 结构体。

以下是该函数的原型:
HRESULT CLSIDFromString(
  LPCOLESTR lpsz,
  LPCLSID   pclsid
);

参数解释:

  •  lpsz:要转换的字符串形式的 CLSID。

  •  pclsid:用于存储转换后的 CLSID 结构体。


函数返回 HRESULT 类型的值,如果操作成功,返回 S_OK,否则返回相应的错误代码。

示例用法:
#include <Windows.h>
#include <Combaseapi.h>
#include <iostream>

int main() {
    LPCOLESTR clsidString = L"{00020812-0000-0000-C000-000000000046}"; // Excel CLSID
    CLSID clsid;

    HRESULT hr = CLSIDFromString(clsidString, &clsid);

    if (SUCCEEDED(hr)) {
        std::cout << "CLSID from string: " << clsidString << " is: " << clsid << std::endl;
    } else {
        std::cerr << "Failed to convert CLSID from string. Error code: 0x" << std::hex << hr << std::endl;
    }

    return 0;
}

这个示例演示了如何使用 CLSIDFromString 函数将字符串形式的 CLSID 转换为对应的 CLSID 结构体。在这个例子中,我们使用了 Excel 的 CLSID 作为示例。

请注意,这是一个简单的示例,实际使用时,需要考虑错误处理等方面的情况。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24560/Win32 API/Combaseapi.h/CLSIDFromString