Aracılığıyla paylaş


ICLRDebugging::OpenVirtualProcess Yöntemi

İşlemde yüklenen ortak dil çalışma zamanı (CLR) modülüne karşılık gelen ICorDebugProcess arabirimini alır.

Sözdizimi

HRESULT OpenVirtualProcess(
    [in] ULONG64 moduleBaseAddress,
    [in] IUnknown * pDataTarget,
    [in] ICLRDebuggingLibraryProvider * pLibraryProvider,
    [in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
    [in] REFIID riidProcess,
    [out, iid_is(riidProcess)] IUnknown ** ppProcess,
    [in, out] CLR_DEBUGGING_VERSION * pVersion,
    [out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);

Parametreler

moduleBaseAddress [in] Hedef işlemdeki bir modülün temel adresi. COR_E_NOT_CLR belirtilen modül bir CLR modülü değilse döndürülür.

pDataTarget [in] Yönetilen hata ayıklayıcının işlem durumunu incelemesine olanak tanıyan bir veri hedefi soyutlaması. Hata ayıklayıcının ICorDebugDataTarget arabirimini uygulaması gerekir. Hata ayıklanan CLR'nin bilgisayara yerel olarak yüklenmediği senaryoları desteklemek için ICLRDebuggingLibraryProvider arabirimini uygulamanız gerekir.

pLibraryProvider [in] Sürüme özgü hata ayıklama kitaplıklarının isteğe bağlı olarak bulunmasına ve yüklenmesine izin veren bir kitaplık sağlayıcısı geri çağırma arabirimi. Bu parametre yalnızca veya pFlags değilse ppProcessnullgereklidir.

pMaxDebuggerSupportedVersion [in] Bu hata ayıklayıcının hata ayıklayabildiği en yüksek CLR sürümü. Bu hata ayıklayıcının desteklediği en son CLR sürümünden birincil, ikincil ve derleme sürümlerini belirtmeniz ve gelecekteki yerinde CLR hizmet sürümlerine uyum sağlamak için düzeltme numarasını 65535 olarak ayarlamanız gerekir.

riidProcess [in] Alınacak ICorDebugProcess arabiriminin kimliği. Şu anda yalnızca , IID_CORDEBUGPROCESS2ve IID_CORDEBUGPROCESSkabul edilen değerlerdirIID_CORDEBUGPROCESS3.

ppProcess [out] tarafından riidProcesstanımlanan COM arabirimi işaretçisi.

pVersion [in, out] CLR sürümü. Girişte bu değer olabilir null. Ayrıca CLR_DEBUGGING_VERSION bir yapıya işaret edebilir, bu durumda yapının wStructVersion alanı 0 (sıfır) olarak başlatılmalıdır.

Çıkışta, döndürülen CLR_DEBUGGING_VERSION yapı CLR için sürüm bilgileriyle doldurulur.

pdwFlags [out] Belirtilen çalışma zamanı hakkında bilgi bayrakları. Bayrakların açıklaması için bkz. CLR_DEBUGGING_PROCESS_FLAGS.

Dönüş Değeri

Bu yöntem, aşağıdaki belirli HRESULTs ve yöntem hatasını gösteren HRESULT hatalarını döndürür.

HRESULT Description
S_OK Yöntem başarıyla tamamlandı.
E_POINTER pDataTarget, null'e eşittir.
CORDBG_E_LIBRARY_PROVIDER_ERROR ICLRDebuggingLibraryProvider geri çağrısı bir hata döndürür veya geçerli bir tanıtıcı sağlamaz.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget çalışma zamanının bu sürümü için gerekli veri hedefi arabirimlerini uygulamaz.
CORDBG_E_NOT_CLR Belirtilen modül bir CLR modülü değil. Bu HRESULT, bellek bozuk olduğundan, modül kullanılamadığından veya CLR sürümü dolgu sürümünden daha sonra olduğundan CLR modülü algılanamadıysa da döndürülür.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Bu çalışma zamanı sürümü bu hata ayıklama modelini desteklemiyor. Şu anda hata ayıklama modeli .NET Framework 4'ün önceki CLR sürümleri tarafından desteklenmiyor. Çıkış pwszVersion parametresi yine de bu hatadan sonra doğru değere ayarlanır.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT CLR sürümü, bu hata ayıklayıcının desteklediğini iddia eden sürümden daha büyük. Çıkış pwszVersion parametresi yine de bu hatadan sonra doğru değere ayarlanır.
E_NO_INTERFACE Arabirim riidProcess kullanılamıyor.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT Yapısı CLR_DEBUGGING_VERSION için wStructVersiontanınan bir değere sahip değil. Şu anda kabul edilen tek değer 0'dır.

Exceptions

Açıklamalar

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: CorDebug.idl, CorDebug.h

Kütüphane: CorGuids.lib

.NET Framework Sürümleri: 4'ten beri kullanılabilir

.NET Sürümleri: .NET Core 2.1'den itibaren kullanılabilir

Ayrıca bakınız