關於 CoCreateInstance( ) 函數呼叫的問題 |
尚未結案
|
jvory2k
一般會員 發表:2 回覆:5 積分:1 註冊:2003-12-30 發送簡訊給我 |
在下面的程式中,
HRESULT hr =CoCreateInstance( ..... );
而傳回的 hr 值為 -2147221008 ,這表示CoCreateInstance( ..... )失敗,所以在 if (SUCCEEDED(hr)) 這一行時判斷值為" 假 ",那接下來的程式便無法正常執行了,請問各位高手這到底是什麼原因? //------------------------------------ IGraphBuilder *pGraph;
ICaptureGraphBuilder2 *pBuild; // Create the Capture Graph Builder.
HRESULT hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, (void**)&pBuild);
if (SUCCEEDED(hr))
{
// Create the Filter Graph Manager.
Form1->Edit1->Text="Create Capture Graph Builder Seccess";
hr = CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&pGraph);
if (SUCCEEDED(hr))
{
Form1->Edit1->Text="Create Filter Graph Manager Success";
// Initialize the Capture Graph Builder.
pBuild->SetFiltergraph(pGraph);
}
else
{
Form1->Edit1->Text="Create Filter Graph Manager Failed";
pBuild->Release();
}
ICreateDevEnum *pDevEnum = NULL;
IEnumMoniker *pEnum = NULL; // Create the System Device Enumerator.
hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, reinterpret_cast
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
jvory2k您好:
PO程式碼請參考版規說明
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=43591
謝謝您的配合 順心
|
jvory2k
一般會員 發表:2 回覆:5 積分:1 註冊:2003-12-30 發送簡訊給我 |
引言: jvory2k您好: PO程式碼請參考版規說明 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=43591 謝謝您的配合 順心 >>< face="Verdana, Arial, Helvetica"> 謝謝,下次知道了。 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 在下面的程式中, HRESULT hr =CoCreateInstance( ..... ); 而傳回的 hr 值為 -2147221008 ,這表示CoCreateInstance( ..... )失敗,所以在 if (SUCCEEDED(hr)) 這一行時判斷值為" 假 ",那接下來的程式便無法正常執行了,請問各位高手這到底是什麼原因?jvory2k 你好: 這段程式碼的目的應該是呼叫某個 ActiveX,先試試看在前後加上這些程式碼, 看看可不可以呼叫 (不過你要先確定作業系統裡面有你要呼叫的 ActiveX) < class="code"> HRESULT hr=S_FALSE; hr=CoInitialize(0); if(SUCCEEDED(hr)) { //...Do something... //...CoCreateInstance... } CoUninitialize(); -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
jvory2k
一般會員 發表:2 回覆:5 積分:1 註冊:2003-12-30 發送簡訊給我 |
引言:謝謝,可以用了引言: 在下面的程式中, HRESULT hr =CoCreateInstance( ..... ); 而傳回的 hr 值為 -2147221008 ,這表示CoCreateInstance( ..... )失敗,所以在 if (SUCCEEDED(hr)) 這一行時判斷值為" 假 ",那接下來的程式便無法正常執行了,請問各位高手這到底是什麼原因?jvory2k 你好: 這段程式碼的目的應該是呼叫某個 ActiveX,先試試看在前後加上這些程式碼, 看看可不可以呼叫 (不過你要先確定作業系統裡面有你要呼叫的 ActiveX) < class="code"> HRESULT hr=S_FALSE; hr=CoInitialize(0); if(SUCCEEDED(hr)) { //...Do something... //...CoCreateInstance... } CoUninitialize(); -- Enjoy Researching & Developing -- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |