Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Предоставляет механизм перечисления среды CLR в процессе.
Синтаксис
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
Параметры
debuggeePID
[in] Идентификатор процесса, из которого будут перечисляться загруженные среды CLR.
ppHandleArrayOut
[out] Указатель на массив, содержащий дескриптор событий, используемый для продолжения запуска среды CLR. Каждый дескриптор в массиве не гарантируется допустимым. Если допустимо, дескриптор будет использоваться в качестве события продолжения запуска для соответствующей среды выполнения, расположенной в том же индексе ppStringArrayOut.
ppStringArrayOut
[out] Указатель на массив строк, указывающих полные пути к clR, загруженным в процессе.
pdwArrayLengthOut
[out] Указатель на DWORD, содержащий длину равного размера ppHandleArrayOut и pdwArrayLengthOut.
Возвращаемое значение
S_OK
Количество clR в процессе было успешно определено, а соответствующие массивы дескрипторов и путей были правильно заполнены.
E_INVALIDARG
Либо ppHandleArrayOut имеет значение NULL, либо ppStringArrayOutpdwArrayLengthOut имеет значение NULL.
E_OUTOFMEMORY
Функция не может выделить достаточно памяти для массивов дескрипторов и путей.
E_FAIL (или другие E_ коды возврата)
Не удается перечислить загруженные среды CLR.
Замечания
Для целевого процесса, определяемого debuggeePIDфункцией, возвращается массив путей, ppStringArrayOutдля clRs, загруженных в процессе; массив дескрипторов событий, ppHandleArrayOutкоторый может содержать событие продолжения запуска среды CLR в том же индексе, а также размер массивов, pdwArrayLengthOutкоторый указывает количество загруженных clR.
В операционной системе debuggeePID Windows сопоставляется с идентификатором процесса ОС.
Память для ppHandleArrayOut этой функции выделяется и ppStringArrayOut выделяется. Чтобы освободить выделенную память, необходимо вызвать функцию CloseCLREnumeration.
Эту функцию можно вызвать с обоими параметрами массива, равными NULL, чтобы вернуть количество clR в целевом процессе. Из этого числа вызывающий объект может определить размер созданного буфера: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH)
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: dbgshim.h
Библиотека: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Версии .NET: Доступно с версии .NET Core 2.1