Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяет буфер транспорта для сведений о блоке синхронизации.
Note
Этот API изначально был разработан для внутреннего использования во время выполнения. Хотя она теперь поддерживается для 3-го стороннего использования, мы рекомендуем по возможности работать с ICorDebugICorProfiler и API.
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
| Член | Описание |
|---|---|
Object |
Адрес объекта, связанного с блоком синхронизации. |
bFree |
Значение, указывающее, является ли блок синхронизации бесплатным. Если этот элемент задан, другие поля не полезны. |
SyncBlockPointer |
Адрес блока синхронизации. |
COMFlags |
Флаги, описывающие данные взаимодействия COM, связанные с блоком синхронизации. |
MonitorHeld |
Количество времени проведения монитора. |
Recursion |
Число рекурсий монитора. |
HoldingThread |
Адрес потока, в котором хранится монитор. |
AdditionalThreadCount |
Количество дополнительных потоков, связанных с блоком синхронизации. |
appDomainPtr |
Адрес домена приложения, связанного с блоком синхронизации. |
SyncBlockCount |
Количество блоков синхронизации. Блоки синхронизации можно запрашивать от 1 до этого значения. |
Request |
Заполняет структуру путем вызова ISOSDacInterface::GetSyncBlockData. |
Remarks
Эта структура находится внутри среды выполнения и не предоставляется с помощью каких-либо заголовков или файлов библиотеки. Чтобы использовать его, определите структуру, как указано выше.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: Никакой
Библиотека: Никакой
версии платформы .NET: доступно с версии 4.7