Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Define um buffer de transporte para informação do bloco de sincronização.
Note
Esta API foi originalmente projetada para uso interno no tempo de execução. Embora agora seja suportado para uso de terceiros 3rd, recomendamos trabalhar com ICorDebug e ICorProfiler APIs quando possível.
Syntax
struct DacpSyncBlockData : ZeroInit<DacpSyncBlockData>
{
CLRDATA_ADDRESS Object;
BOOL bFree; // if set, no other fields are useful
// fields below provide data from this, so it's just for display
CLRDATA_ADDRESS SyncBlockPointer;
DWORD COMFlags;
UINT MonitorHeld;
UINT Recursion;
CLRDATA_ADDRESS HoldingThread;
UINT AdditionalThreadCount;
CLRDATA_ADDRESS appDomainPtr;
// SyncBlockCount will always be filled in with the number of SyncBlocks.
// SyncBlocks may be requested from [1,SyncBlockCount]
UINT SyncBlockCount;
// SyncBlockNumber must be from [1,SyncBlockCount]
// If there are no SyncBlocks, a call to Request with SyncBlockCount = 1
// will return E_FAIL.
HRESULT Request(ISOSDacInterface *sos, UINT SyncBlockNumber)
{
return sos->GetSyncBlockData(SyncBlockNumber, this);
}
};
Members
| Membro | Descrição |
|---|---|
Object |
O endereço do objeto associado ao bloco de sincronização. |
bFree |
Um valor que indica se o bloco de sincronização está livre. Se este membro estiver definido, nenhum outro campo é útil. |
SyncBlockPointer |
O endereço do bloco de sincronização. |
COMFlags |
Flags que descrevem dados de interoperabilidade COM associados ao bloco de sincronização. |
MonitorHeld |
O número de vezes que o monitor é segurado. |
Recursion |
A contagem de recursão dos monitores. |
HoldingThread |
O endereço da thread que contém o monitor. |
AdditionalThreadCount |
O número de threads adicionais associados ao bloco de sincronização. |
appDomainPtr |
O endereço do domínio de aplicação associado ao bloco de sincronização. |
SyncBlockCount |
O número de blocos sincronizados. Blocos de sincronização podem ser solicitados de 1 até este valor. |
Request |
Preenche a estrutura chamando ISOSDacInterface::GetSyncBlockData. |
Remarks
Essa estrutura vive dentro do tempo de execução e não é exposta através de cabeçalhos ou arquivos de biblioteca. Para o usar, defina a estrutura conforme especificado acima.
Requisitos
Plataformas: Consulte Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
Versões do .NET Framework: Disponíveis desde a 4.7