2017-12-12 11 views
0

私はICLRRuntimeInfoインスタンスがnullで取得しています私は、EnumerateInstalledRuntimesと試みたC++取得ICLRRuntimeInfoインスタンスがnullであるC++

DWORD pid = 2076; 
HRESULT hr; 
HANDLE hProcess; 
ICLRMetaHost *pMetaHost = NULL; 
IEnumUnknown *ppEnumerator = NULL; 
ICLRRuntimeInfo *CLRRuntimeInfo = NULL; 
ULONG pFetched = 0; 
DWORD versionLength; 

hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); 

if (hProcess == NULL) { 
    printf("process unable to open"); 
    return 0; 
} 

hr = CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost,*)&pMetaHost); 
pMetaHost->EnumerateLoadedRuntimes(hProcess, &ppEnumerator); 

if (ppEnumerator == 0) { 
    return 0; 
} 

hr = ppEnumerator->Next(1, (IUnknown **)&CLRRuntimeInfo, &pFetched); 
if (hr == S_FALSE) { 
    printError(TEXT("CLRRuntimeInfo")); 
    return 0; 
} 

ましインストールされているすべてのランタイム pMetaHost-> EnumerateInstalledRuntimes(& ppEnumerator) Windowsのエラー私が得ました: > VC++ディレクトリ - -

答えて

0

は、プロジェクトのプロパティで(これ以上ファイルがありません)エラー18で失敗しました>ライブラリDirctories-> $(NETFXKitsDir)のLib \ umの\ x86の

しかし、私はx64でソリューションを構築しています。今度はx86に変更されました。うまく動作します。

関連する問題