質問

JavaScript およびGetObjectと同等のC ++とはhttp://en.wikipedia.org/wiki/VBScript "rel =" nofollow noreferrer "> VBScript ?

質問に最も近いものは次のとおりです:

http://codewiz51.blogspot .com / 2008/06 / vb-script-getobject-c-api-cogetobject.html

ただし、サンプルでは存在しないインターフェイスを使用し、IUnknownを要求するとnullが返されます。誰かが動作する例がありましたか?

役に立ちましたか?

解決

問題を見つけました。アクセスしたいオブジェクトは

でした

winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv

私は誤って\\を脱進機として使用しました。 C ++では、正しいクエリは次のとおりです。

::CoGetObject(L"winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv", NULL, IID_IUnknown, (void**)&pUnk);

ありがとう:)

他のヒント

リンクした記事は正しいです。間違ったインターフェイスIDを指定したか、表示名が間違っている可能性があります。 CoGetObject呼び出しからの戻り値を確認する必要があります。

IUnknownを要求するとNULLが返される場合、その名前のオブジェクトはありません。各COMオブジェクトはIUnknownを実装します。

COMを呼び出す前にCOMを初期化しましたか?

CoInitializeExを調べます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top