Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzy uchwyt, który opakowuje określony obiekt.
Składnia
HRESULT CreateHandle(
[in] ObjectID object,
[in] COR_PRF_HANDLE_TYPE type,
[out] ObjectHandleID* pHandle);
Parametry
object
[in] Odwołanie do obiektu do zawijania za pomocą uchwytu.
type
[in] Typ uchwytu do utworzenia.
pHandle
[out] Wskaźnik dostarczony przez obiekt wywołujący, który wskaże utworzony uchwyt w celu opakowania określonego objectelementu .
Uwagi
Poniżej przedstawiono oczekiwane użycie w zależności od określonej COR_PRF_HANDLE_TYPE wartości:
-
COR_PRF_HANDLE_TYPE_WEAK: monitoruje, czy obiekt pozostaje w pamięci w czasie. Jeśli opakowany obiekt został zebrany, ICorProfilerInfo13::GetObjectIDFromHandle zwraca wartość nullObjectID. -
COR_PRF_HANDLE_TYPE_STRONG: wymusza, że obiekt przetrwa odzyskiwanie pamięci, nawet jeśli żaden inny obiekt nie odwołuje się do niego. -
COR_PRF_HANDLE_TYPE_PINNED: Taki sam jak silny uchwyt, ale także zapewnia, że obiekt pozostaje pod tym samym adresem w pamięci podczas odzyskiwania pamięci.
Aby upewnić się, że object odwołanie jest prawidłowe, ta metoda musi zostać wywołana z ICorProfilerCallback metody, takiej jak ICorProfilerCallback::ObjectAllocated. Nie można wywołać CreateHandle z asynchronicznego odbiornika EventPipe. Obiekt odebrany za pośrednictwem ładunku zdarzenia mógł zostać usunięty lub przeniesiony w pamięci, jeśli wystąpiło odzyskiwanie pamięci między czasem emisji zdarzenia a odebraniem.
Nie zapomnij wywołać metody ICorProfilerInfo13::D estroyHandle po utworzeniu uchwytu nie jest już potrzebny. Zaleca się przydzielenie w tym samym czasie mniej niż 4096 dojść, aby uniknąć wpływu na wydajność modułu odśmiecania pamięci.
Wymagania
Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.
Nagłówek: CorProf.idl, CorProf.h
Wersje platformy .NET: Dostępne od wersji .NET 7.0