Estrutura DacpThreadData

Define um buffer de transporte para informações de thread de runtime.

Note

Essa API foi originalmente desenvolvida para uso interno no runtime. Embora ela agora tenha suporte para uso de terceiros, recomendamos trabalhar com as APIs ICorDebug e ICorProfiler quando possível.

Sintaxe

struct DacpThreadData : ZeroInit<DacpThreadData>
{
    DWORD corThreadId;
    DWORD osThreadId;
    int state;
    ULONG preemptiveGCDisabled;
    CLRDATA_ADDRESS allocContextPtr;
    CLRDATA_ADDRESS allocContextLimit;
    CLRDATA_ADDRESS context;
    CLRDATA_ADDRESS domain;
    CLRDATA_ADDRESS pFrame;
    DWORD lockCount;
    CLRDATA_ADDRESS firstNestedException; // Pass this pointer to DacpNestedExceptionInfo
    CLRDATA_ADDRESS teb;
    CLRDATA_ADDRESS fiberData;
    CLRDATA_ADDRESS lastThrownObjectHandle;
    CLRDATA_ADDRESS nextThread;

    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetThreadData(addr, this);
    }
};

Members

Membro Descrição
corThreadId O identificador de thread gerenciado.
osThreadId O identificador de thread do sistema operacional.
state Os sinalizadores de estado do thread.
preemptiveGCDisabled Um valor que indica se a coleta de lixo preemptiva está desabilitada para o thread.
allocContextPtr O ponteiro de contexto de alocação atual para o thread.
allocContextLimit O limite de contexto de alocação para o thread.
context O endereço do contexto do thread.
domain O endereço do domínio do aplicativo para o thread.
pFrame O endereço do quadro atual.
lockCount O número de bloqueios mantidos pelo thread.
firstNestedException O endereço da primeira exceção aninhada. Passe este ponteiro para DacpNestedExceptionInfo.
teb O endereço do bloco de ambiente de thread.
fiberData O endereço dos dados de fibra.
lastThrownObjectHandle O identificador do último objeto lançado no thread.
nextThread O endereço do próximo thread na lista de threads de runtime.
Request Popula a estrutura chamando ISOSDacInterface::GetThreadData.

Remarks

Essa estrutura reside dentro do runtime e não é exposta por meio de cabeçalhos ou arquivos de biblioteca. Para usá-la, defina a estrutura conforme especificado acima.

Requisitos

Plataformas: confira Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
versões do .NET Framework: disponíveis desde 4.7

Consulte também