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 요소는 수정되지 않습니다.

사용할 수 없는 레지스터가 마스크로 표시되면 해당 레지스터에 대해 확정되지 않은 값이 반환됩니다.

레지스터가 64개 이상인 플랫폼에는 ICorDebugRegisterSet2::GetRegisters 메서드가 필요합니다. 예를 들어 IA64에는 128개의 범용 레지스터와 128개의 부동 소수점 레지스터가 있으므로 비트 마스크에 64비트보다 많이 필요합니다.

x86과 같은 플랫폼의 경우처럼 레지스터가 64개 이하인 경우 GetRegisters 메서드는 mask 바이트 배열의 바이트를 ULONG64로 변환하고 ULONG64 마스크를 사용하는 합니다. ICorDebugRegisterSet::GetRegisters 메서드를 호출합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목