다음을 통해 공유


KeInitializeDpc 함수(wdm.h)

KeInitializeDpc 루틴은 DPC 개체를 초기화하고 해당 개체에 대한 CustomDpc 루틴을 등록합니다.

구문

void KeInitializeDpc(
  [out]          __drv_aliasesMem PRKDPC Dpc,
  [in]           PKDEFERRED_ROUTINE      DeferredRoutine,
  [in, optional] __drv_aliasesMem PVOID  DeferredContext
);

매개 변수

[out] Dpc

초기화할 DPC 개체를 나타내는 KDPC 구조체에 대한 포인터입니다. 호출자는 상주 메모리에서 구조체에 대한 스토리지를 할당해야 합니다.

[in] DeferredRoutine

DPC와 연결할 CustomDpc 루틴에 대한 포인터입니다.

[in, optional] DeferredContext

DeferredContext 매개 변수로 CustomDpc에 전달할 값을 지정합니다.

반환 값

없음

설명

호출자는 KeInsertQueueDpc를 사용하여 초기화된 DPC를 큐에 대기할 수 있습니다. 호출자는 초기화된 DPC 개체와 연결된 타이머 개체를 설정하고 KeSetTimer로 DPC를 큐에 대기할 수도 있습니다.

DPC 개체의 스토리지는 드라이버에서 만든 디바이스 개체의 디바이스 확장, 드라이버에서 만든 컨트롤러 개체의 컨트롤러 확장 또는 호출자가 할당한 비페이지 풀에 상주해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

CustomDpc

KeInsertQueueDpc

KeRemoveQueueDpc

KeSetTimer