#include <iostream>
#include <objbase.h> //CoInitializeEx(),CoUninitialzie()
#include <unknwn.h>
#include <Propvarutil.h>
#import "khopenapi.ocx" no_namespace named_guids raw_interfaces_only
using std::cout;
int main()
{
CoInitializeEx(nullptr, COINIT_MULTITHREADED);
{
HRESULT hr;
CLSID clsid;
CLSIDFromProgID(OLESTR("KHOPENAPI.KHOpenAPICtrl"), &clsid);
KHOpenAPI* pApp = nullptr;
hr = CoCreateInstance(clsid, nullptr, CLSCTX_INPROC_SERVER, __uuidof(KHOpenAPI), reinterpret_cast<LPVOID*>(&pApp));
if (SUCCEEDED(hr))
cout << "succss";
else
cout << "failed";
//pApp->CommConnect();
}
CoUninitialize();
return 0;
}
tlh
//
// Smart pointer typedef declarations
//
_COM_SMARTPTR_TYPEDEF(_DKHOpenAPI, __uuidof(_DKHOpenAPI));
_COM_SMARTPTR_TYPEDEF(_DKHOpenAPIEvents, __uuidof(_DKHOpenAPIEvents));
//
// Type library items
//
struct __declspec(uuid("cf20fbb6-edd4-4be5-a473-fef91977deb6"))
_DKHOpenAPI : IDispatch
{};
struct __declspec(uuid("7335f12d-8973-4bd5-b7f0-12df03d175b7"))
_DKHOpenAPIEvents : IDispatch
{};
struct __declspec(uuid("a1574a0d-6bfa-4bd7-9020-ded88711818d"))
KHOpenAPI;
// [ default ] dispinterface _DKHOpenAPI
// [ default, source ] dispinterface _DKHOpenAPIEvents
hr = CoCreateInstance 실패하는데 이유가 머임??
모르지 hr 값 switch 문으로 확인해봐
https://docs.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-cocreateinstance