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.
Define um buffer de transporte para informações de bloco de sincronização.
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 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 é gratuito. Se esse membro estiver definido, nenhum outro campo será útil. |
SyncBlockPointer |
O endereço do bloco de sincronização. |
COMFlags |
Sinalizadores que descrevem os dados de interoperabilidade COM associados ao bloco de sincronização. |
MonitorHeld |
O número de vezes que o monitor é mantido. |
Recursion |
A contagem de recursão do monitor. |
HoldingThread |
O endereço do 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 do aplicativo associado ao bloco de sincronização. |
SyncBlockCount |
O número de blocos de sincronização. Os blocos de sincronização podem ser solicitados de 1 a esse valor. |
Request |
Popula a estrutura chamando ISOSDacInterface::GetSyncBlockData. |
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