PshedSynchronizeExecution 함수(ntddk.h)

PshedSynchronizeExecution 함수는 지정된 함수의 실행을 오류 원본에 대한 하드웨어 오류 처리와 동기화합니다.

구문

NTPSHEDAPI BOOLEAN PshedSynchronizeExecution(
  [in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in] PKSYNCHRONIZE_ROUTINE         SynchronizeRoutine,
  [in] PVOID                         SynchronizeContext
);

매개 변수

[in] ErrorSource

오류 원본을 설명하는 WHEA_ERROR_SOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.

[in] SynchronizeRoutine

ErrorSource 매개 변수에 설명된 오류 원본에 대한 하드웨어 오류 처리와 실행이 동기화되는 호출자 제공 함수에 대한 포인터입니다. SynchronizeRoutine 함수는 다음과 같이 선언됩니다.

BOOLEAN
SynchronizeRoutine(
    _In_ PVOID  SynchronizeContext
    );

SynchronizeContext

SynchronizeContext 매개 변수에서 PshedSynchronizeExecution 함수에 전달되는 컨텍스트 값입니다.

[in] SynchronizeContext

SynchronizeRoutine 매개 변수가 가리키는 함수에 전달되는 호출자 제공 컨텍스트 영역에 대한 포인터입니다.

반환 값

PshedSynchronizeExecutionSynchronizeRoutine 매개 변수가 가리키는 함수에서 반환하는 값을 반환합니다.

설명

PSHED 플러그 인은 PshedSynchronizeExecution 함수를 호출하여 지정된 함수의 실행을 오류 원본에 대한 하드웨어 오류 처리와 동기화합니다. 이는 PSHED 플러그 인이 일반 하드웨어 오류 처리 흐름 외부에서 실행되는 코드와 일반 하드웨어 오류 처리 흐름의 일부로 실행되는 코드 간에 리소스를 공유할 때마다 필요합니다. 하드웨어 오류 처리에 대한 자세한 내용은 오류 처리를 참조하세요.

이 함수가 호출되면 다음이 발생합니다.

  1. IRQL은 오류 원본에 대한 LLHEH(하위 수준 하드웨어 오류 처리기)가 실행되는 IRQL로 발생합니다.

  2. SynchronizeContext 매개 변수로 지정된 컨텍스트 영역에 대한 액세스는 연결된 스핀 잠금을 획득하여 LLHEH와 동기화됩니다.

  3. SynchronizeRoutine 매개 변수에 지정된 함수가 호출됩니다.

PshedSynchronizeExecution 함수의 호출자는 IRQL = DIRQL<에서 실행되어야 합니다. 즉, 오류 원본에 대한 LLHEH가 실행되는 IRQL보다 작거나 같아야 합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 Pshed.lib
DLL Pshed.dll
IRQL IRQL <= DIRQL

추가 정보

WHEA_ERROR_SOURCE_DESCRIPTOR