다음을 통해 공유


IDebugRegisters::SetValues 메서드(dbgeng.h)

SetValues 메서드는 대상 레지스터의 여러 값을 설정합니다.

구문

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

매개 변수

[in] Count

값을 설정할 레지스터 수를 지정합니다.

[in, optional] Indices

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

[in] Start

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

[in] Values

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

반환 값

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

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.
E_UNEXPECTED
대상에 액세스할 수 없거나 하나 이상의 레지스터에 액세스할 수 없습니다.
E_INVALIDARG
하나 이상의 레지스터 인덱스 값이 대상 컴퓨터의 레지스터 수보다 큽니다.

설명

엔진은 의 값을 레지스터 형식으로 강제 변환하기 위해 최선을 다합니다. 이 강제 변환은 CoerceValue에서 수행하는 것과 동일합니다. 값이 레지스터가 보유할 수 있는 것보다 크면 가장 중요하지 않은 비트가 삭제됩니다. 필요한 경우 부동 소수점 및 정수 변환도 수행됩니다.

반환 값이 S_OK 않으면 일부 레지스터가 여전히 설정되었을 수 있습니다.

하위 등록을 변경하면 하위 등록을 포함하는 레지스터도 변경됩니다.

단일 레지스터의 값만 설정하려면 SetValue 메서드를 대신 사용합니다.

SetValues2 메서드는 이 메서드와 동일한 작업을 수행하지만 레지스터 원본을 지정할 수도 있습니다.

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

요구 사항

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

추가 정보

IDebugRegisters

IDebugRegisters2

SetValue

SetValues2