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비트 이상이 필요합니다.

x86 등의 플랫폼에서와 같이 레지스터가 64개 이하일 경우 GetRegisters 메서드는 실제로 mask 바이트 배열의 바이트를 ULONG64로 변환한 다음 ULONG64 마스크를 사용하는 ICorDebugRegisterSet::GetRegisters 메서드를 호출합니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICorDebugRegisterSet2 인터페이스

ICorDebugRegisterSet 인터페이스