Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает дескриптор, который упаковывает указанный объект.
Синтаксис
HRESULT CreateHandle(
[in] ObjectID object,
[in] COR_PRF_HANDLE_TYPE type,
[out] ObjectHandleID* pHandle);
Параметры
object
[in] Ссылка на объект для упаковки с помощью дескриптора.
type
[in] Тип создаваемого дескриптора.
pHandle
[out] Указатель, предоставленный вызывающим, который указывает на дескриптор, созданный для упаковки указанного objectобъекта.
Замечания
Ниже приведены ожидаемые значения в зависимости от указанного COR_PRF_HANDLE_TYPE значения:
-
COR_PRF_HANDLE_TYPE_WEAK: отслеживает, остается ли объект в памяти с течением времени. Если объект оболочки был собран, ICorProfilerInfo13::GetObjectIDFromHandle возвращает значение NULLObjectID. -
COR_PRF_HANDLE_TYPE_STRONG: применяет, что объект выживает сборки мусора, даже если ни один другой объект не ссылается на него. -
COR_PRF_HANDLE_TYPE_PINNED: то же самое, что и сильный дескриптор, но и гарантирует, что объект остается в памяти во время сборок мусора.
Чтобы убедиться, что object ссылка допустима, этот метод должен вызываться из ICorProfilerCallback такого метода, как ICorProfilerCallback::ObjectAllocated. Не удается вызвать CreateHandle асинхронный прослушиватель EventPipe. Объект, полученный с помощью полезных данных события, может быть удален или перемещен в память, если сборка мусора произошла между временем выдачи события и момента его получения.
Не забудьте вызвать ICorProfilerInfo13::D epple после того, как созданный дескриптор больше не нужен. Рекомендуется одновременно выделить менее 4096 дескрипторов, чтобы избежать влияния на производительность сборщика мусора.
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: CorProf.idl, CorProf.h
Версии .NET: Доступно с .NET 7.0