다음을 통해 공유


IDebugRegisters2::GetValues2 메서드(dbgeng.h)

GetValues2 메서드는 대상 레지스터의 여러 값을 가져옵니다.

구문

HRESULT GetValues2(
  [in]           ULONG        Source,
  [in]           ULONG        Count,
  [in, optional] PULONG       Indices,
  [in]           ULONG        Start,
  [out]          PDEBUG_VALUE Values
);

매개 변수

[in] Source

쿼리할 레지스터 원본을 지정합니다.

가능한 값은 다음 표에 나와 있습니다.

원본 등록
DEBUG_REGSRC_DEBUGGEE 대상에서 등록 정보를 가져옵니다.
DEBUG_REGSRC_EXPLICIT 현재 명시적 레지스터 컨텍스트에서 레지스터 정보를 가져옵니다.
DEBUG_REGSRC_FRAME 현재 scope 레지스터 컨텍스트에서 등록 정보를 가져옵니다.
참고 스택 해제는 레지스터 컨텍스트의 정확한 업데이트를 보장하지 않으므로 scope 프레임의 레지스터 컨텍스트가 모든 경우에 정확하지 않을 수 있습니다.
 

[in] Count

값이 요청된 레지스터 수를 지정합니다.

[in, optional] Indices

값을 가져올 레지스터의 인덱스를 포함하는 배열을 지정합니다. 이 배열의 요소 수는 Count입니다. 인덱스가NULL이면 Start가 대신 사용됩니다.

[in] Start

인덱스가NULL인 경우 레지스터는 이 인덱스에서 시작하여 연속적으로 읽습니다. 그렇지 않은 경우 이 설정은 무시됩니다.

[out] Values

레지스터의 값을 받습니다. 이 배열이 보유하는 요소의 수는 Count입니다. 이 매개 변수 형식에 대한 설명은 DEBUG_VALUE 참조하세요.

반환 값

이 목록에 발생할 수 있는 모든 오류가 포함되어 있지는 않습니다. 가능한 오류 목록은 HRESULT 값을 참조하세요.

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.
E_INVALIDARG
레지스터 중 하나의 인덱스 값이 대상 컴퓨터의 레지스터 수보다 큽니다. 부분 결과를 얻었을 수 있습니다. 읽을 수 없는 레지스터에는 DEBUG_VALUE_INVALID 형식이 포함됩니다.

설명

반환 값이 S_OK 않으면 일부 레지스터가 여전히 읽혀졌을 수 있습니다. 대상에 액세스할 수 없는 경우 반환 형식은 E_UNEXPECTED 은 변경되지 않습니다. 그렇지 않으면 에 부분 결과가 포함되고 읽을 수 없는 레지스터에는 DEBUG_VALUE_INVALID 형식이 포함됩니다. 반환 값 E_UNEXPECTED 경우 이 메서드를 호출하기 전에 의 메모리를 0으로 설정하여 모호성을 방지할 수 있습니다.

GetValues 메서드는 이 메서드와 동일한 작업을 수행하지만 항상 대상을 레지스터 원본으로 사용합니다.

IDebugRegisters 인터페이스 및 기타 레지스터 관련 메서드에 대한 개요는 레지스터를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(DbgEng.h 포함)

추가 정보

GetValue

GetValues

IDebugRegisters2