Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyediakan mekanisme untuk menghitung CLR dalam suatu proses.
Sintaksis
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
Parameter-parameternya
debuggeePID
[di] Pengidentifikasi proses dari mana CLR yang dimuat akan dijumlahkan.
ppHandleArrayOut
[out] Penunjuk ke array yang berisi handel peristiwa yang digunakan untuk melanjutkan startup CLR. Setiap handel dalam array tidak dijamin valid. Jika valid, handel akan digunakan sebagai peristiwa startup lanjutan untuk runtime yang sesuai yang terletak di indeks yang sama dari ppStringArrayOut.
ppStringArrayOut
[out] Penunjuk ke array string yang menentukan jalur penuh ke CLR yang dimuat dalam proses.
pdwArrayLengthOut
[out] Penunjuk ke DWORD yang berisi panjang berukuran ppHandleArrayOut sama dan pdwArrayLengthOut.
Mengembalikan nilai
S_OK
Jumlah CLR dalam proses berhasil ditentukan, dan handel dan array jalur yang sesuai diisi dengan benar.
E_INVALIDARG
Baik ppHandleArrayOut atau ppStringArrayOut null, atau pdwArrayLengthOut null.
E_OUTOFMEMORY
Fungsi ini tidak dapat mengalokasikan memori yang cukup untuk array handel dan jalur.
E_FAIL (atau kode pengembalian lainnya E_ )
Tidak dapat menghitung CLR yang dimuat.
Komentar
Untuk proses target yang diidentifikasi oleh debuggeePID, fungsi mengembalikan array jalur, ppStringArrayOut, ke CLR yang dimuat dalam proses; array handel peristiwa, ppHandleArrayOut, yang mungkin berisi peristiwa startup lanjutan untuk CLR pada indeks yang sama; dan ukuran array, pdwArrayLengthOut, yang menentukan jumlah CLR yang dimuat.
Pada sistem operasi Windows, debuggeePID petakan ke pengidentifikasi proses OS.
Memori untuk ppHandleArrayOut dan ppStringArrayOut dialokasikan oleh fungsi ini. Untuk membebaskan memori yang dialokasikan, Anda harus memanggil Fungsi CloseCLREnumeration.
Fungsi ini dapat dipanggil dengan kedua parameter array diatur ke null untuk mengembalikan jumlah CLR dalam proses target. Dari jumlah ini, penelepon dapat menyimpulkan ukuran buffer yang akan dibuat: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH).
Persyaratan
Platform: Lihat Sistem operasi yang didukung .NET.
Header: dbgshim.h
Pustaka: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versi .NET: Tersedia sejak .NET Core 2.1