Метод ICorDebugRegisterSet2::GetRegisters

Возвращает значение каждого регистра (для платформы, на которой выполняется код), заданного заданной битовой маской.

Синтаксис

HRESULT GetRegisters (  
    [in] ULONG32 maskCount,  
    [in, size_is(maskCount)] BYTE mask[],  
    [in] ULONG32 regCount,  
    [out, size_is(regCount)] CORDB_REGISTER regBuffer[]  
);  

Параметры

maskCount
[in] Размер массива mask в байтах.

mask
[in] Массив байтов, каждый бит которого соответствует регистру. Если бит равен 1, будет извлечено значение соответствующего регистра.

regCount
[in] Количество извлекаемых значений регистра.

regBuffer
[out] Массив CORDB_REGISTER объектов , каждый из которых получает значение регистра.

Комментарии

Метод GetRegisters возвращает массив значений из регистров, указанных маской. Массив не содержит значений регистров, для которых не задан бит маски. Таким образом, размер массива regBuffer должен быть равен числу 1 в маске. Если значение regCount слишком мало для числа регистров, указанных маской, значения регистров с более высокими номерами будут усечены из набора. Если regCount значение слишком велико, неиспользуемые regBuffer элементы будут не изменены.

Если маска указывает на недоступный регистр, для этого регистра будет возвращено неопределенное значение.

Метод ICorDebugRegisterSet2::GetRegisters необходим для платформ с более чем 64 регистрами. Например, IA64 имеет 128 регистров общего назначения и 128 регистров с плавающей запятой, поэтому в битовой маске требуется более 64 бит.

Если у вас не более 64 регистров, как в случае с такими платформами, как x86, GetRegisters метод просто преобразует байты в массив байтов в mask , ULONG64 а затем вызывает метод ICorDebugRegisterSet::GetRegisters , который принимает маску ULONG64 .

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorDebug.idl, CorDebug.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел