IDebugHostStatus::P ollUserInterrupt 메서드(dbgmodel.h)
PollUserInterrupt 메서드는 디버그 호스트의 사용자가 현재 작업의 중단을 요청했는지 여부를 문의하는 데 사용됩니다. 데이터 모델의 속성 접근자는 instance 임의의 코드(예: JavaScript 메서드)를 호출할 수 있습니다. 해당 코드는 임의의 시간이 걸릴 수 있습니다. 디버그 호스트의 응답성을 유지하기 위해 임의 시간이 걸릴 수 있는 이러한 코드는 이 메서드 호출을 통해 인터럽트 요청에 대해 검사 합니다. interruptRequested 값이 true로 돌아오면 호출자는 즉시 중단하고 E_ABORT 결과를 반환해야 합니다.
E_ABORT 오류를 수신하는 데이터 모델 API의 호출자는 해당 오류를 외부로 전파하고 그냥 삼키지 않는 것이 중요합니다.
특정 호스트(특히 Windows용 디버깅 도구)는 인터럽트 보류 중 발생하는 문의 실패를 선택할 수 있습니다. 이러한 경우 IDebugHost* 인터페이스에 대한 많은 메서드 호출은 컨트롤이 디버그 호스트로 반환될 때까지 E_ABORT 반환합니다.
구문
HRESULT PollUserInterrupt(
bool *interruptRequested
);
매개 변수
interruptRequested
사용자 인터럽트 보류 중인지 여부를 나타내는 표시가 반환됩니다. 반환된 값이 true이면 호출자는 수행 중인 작업을 즉시 중지하고 E_ABORT 오류 코드를 바깥쪽으로 전파해야 합니다.
반환 값
이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.
설명
예제 코드
// within some method...
ComPtr<IDebugHost> spHost; /* get the host*/
ComPtr<IDebugHostStatus> spStatus;
spHost.As(&spStatus);
bool isInterruptRequested;
if (spStatus != nullptr && SUCCEEDED(spStatus->PollUserInterrupt(&isInterruptRequested)) && isInterruptRequested)
{
// This is the return code to indicate a user initiated abort.
return E_ABORT;
}
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbgmodel.h |