[問題] 有關於 CoCreateInstance
開發平台(Platform): (Ex: Win10, Linux, ...)
Windows 10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
餵入的資料(Input):
預期的正確結果(Expected Output):
No error
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
hr = CoCreateInstance(CLSID_MbnInterfaceManager,
NULL,
CLSCTX_ALL,
IID_IMbnInterfaceManager,
(void**)&m_gInterfaceMgr);
Debug::Write(__FUNCTION__, "Enter CLSID MbnInterfaceMrg.", DEBUG_TYPE);//QQ
if (FAILED(hr))
{
Debug::Write(__FUNCTION__, "Creating COM Instance of IMbnInterfaceManager Failed.", ERROR_TYPE);
goto __Exit_CreateWWANDevice;
}
hr = m_gInterfaceMgr->GetInterfaces(&psaObjects);
if (FAILED(hr))
{
Debug::Write(__FUNCTION__, "IMbnInterfaceManager::GetInterfaces Failed.", ERROR_TYPE);
goto __Exit_CreateDevice;
}
hr = SafeArrayGetLBound(psaObjects, 1, &lLower);
if (FAILED(hr))
{
Debug::Write(__FUNCTION__, "SafeArrayGetLBound Failed.", ERROR_TYPE);
goto __Exit_CreateDevice;
}
hr = SafeArrayGetUBound(psaObjects, 1, &lUpper);
if (FAILED(hr))
{
Debug::Write(__FUNCTION__, "SafeArrayGetLBound Failed.", ERROR_TYPE);
goto __Exit_CreateDevice;
}
補充說明(Supplement):
小弟為c++的新手 目前拿到一板source code 在debug
此為放在services 的一個服務器 目前遇到的問題是 create com instance 都可以正常過
但到了 GetInterface 還有 SafeArray 都會fail 更怪的是我用手動開啟這個服務器是可以
正常的但是我把系統重開機的話就會跑出這幾段error
請問有人遇過這樣的問題嗎? 真的無解了… 嗚嗚
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.23.76.67
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524552152.A.D58.html
→
04/24 16:00,
7年前
, 1F
04/24 16:00, 1F
我有下了 Debug::Write(__FUNCTION__, (const char*)hr, DEBUG_TYPE)
但是沒有東西跑出來 code還會hang住 不知是否我用的方式有錯
※ 編輯: jay70120 (211.23.76.67), 04/24/2018 16:04:26
→
04/24 16:28,
7年前
, 2F
04/24 16:28, 2F
嗚… 其實我不太知道怎樣去把他po 出來 我還在試…
※ 編輯: jay70120 (211.23.76.67), 04/24/2018 17:01:50
→
04/24 20:25,
7年前
, 3F
04/24 20:25, 3F
推
04/25 02:58,
7年前
, 4F
04/25 02:58, 4F
感謝各位的回復
目前我用 (const char*)hr 也是印不出來…
我發現這個function是抓我的device 然後拉出來認id
我有試過把device 拔掉手動去開 看起來是會show 一樣的log fail 在一樣的地方
看來我要查清楚為什麼reboot 他認不到…
神奇的是 我用innosetup 包起來exe 去安裝是沒問題的 我改成extension inf 就會這樣
※ 編輯: jay70120 (211.23.76.67), 04/25/2018 11:30:34
→
04/25 13:38,
7年前
, 5F
04/25 13:38, 5F
→
04/25 13:38,
7年前
, 6F
04/25 13:38, 6F
→
04/25 13:38,
7年前
, 7F
04/25 13:38, 7F
是的 我找到po 出來了
Debug::Write(__FUNCTION__, CHelpers::DWORDToString(hr)
這樣po才對,po出來的代碼是 2147943568
目前正在查原因
※ 編輯: jay70120 (211.23.76.67), 04/25/2018 14:02:45