Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria um identificador que encapsula um objeto especificado.
Sintaxe
HRESULT CreateHandle(
[in] ObjectID object,
[in] COR_PRF_HANDLE_TYPE type,
[out] ObjectHandleID* pHandle);
Parâmetros
object
[in] A referência de objeto a ser encapsulada com um identificador.
type
[in] O tipo de identificador a ser criado.
pHandle
[out] Um ponteiro fornecido pelo chamador que apontará para o identificador criado para encapsular o especificado object
.
Observações
A seguir estão os usos esperados, dependendo do valor especificado COR_PRF_HANDLE_TYPE
:
-
COR_PRF_HANDLE_TYPE_WEAK
: monitora se um objeto permanece na memória ao longo do tempo. Se o objeto encapsulado tiver sido coletado, ICorProfilerInfo13::GetObjectIDFromHandle retornará um valor nuloObjectID
. -
COR_PRF_HANDLE_TYPE_STRONG
: impõe que um objeto sobreviva às coletas de lixo mesmo que nenhum outro objeto faça referência a ele. -
COR_PRF_HANDLE_TYPE_PINNED
: o mesmo que uma alça forte, mas também garante que o objeto permaneça no mesmo endereço na memória durante as coletas de lixo.
Para garantir que a object
referência seja válida, esse método deve ser chamado de um ICorProfilerCallback
método como ICorProfilerCallback::ObjectAllocated. Você não pode chamar CreateHandle
de um ouvinte assíncrono do EventPipe. O objeto recebido por meio de uma carga de evento pode ter sido descartado ou movido na memória se uma coleta de lixo ocorreu entre o momento em que o evento foi emitido e quando foi recebido.
Não se esqueça de chamar ICorProfilerInfo13::D estroyHandle depois que um identificador criado não for mais necessário. É recomendável ter menos de 4.096 identificadores alocados ao mesmo tempo para evitar afetar o desempenho do coletor de lixo.
Requisitos
Plataformas: Consulte sistemas operacionais com suporte do .NET.
Cabeçalho: CorProf.idl, CorProf.h
Versões do .NET: Disponível desde o .NET 7.0