IoInitializeTimer 함수(wdm.h)

IoInitializeTimer 루틴은 지정된 디바이스 개체와 연결된 드라이버 제공 IoTimer 루틴을 설정합니다.

구문

NTSTATUS IoInitializeTimer(
  [in]           PDEVICE_OBJECT         DeviceObject,
  [in]           PIO_TIMER_ROUTINE      TimerRoutine,
  [in, optional] __drv_aliasesMem PVOID Context
);

매개 변수

[in] DeviceObject

I/O 작업이 시간 초과할 수 있는 디바이스를 나타내는 디바이스 개체에 대한 포인터입니다.

[in] TimerRoutine

드라이버 제공 IoTimer 루틴에 대한 포인터입니다.

[in, optional] Context

IoTimer 루틴이 호출될 드라이버 결정 컨텍스트에 대한 포인터입니다.

반환 값

IoInitializeTimer는IoTimer 루틴이 설정된 경우 STATUS_SUCCESS 반환합니다.

설명

IoInitializeTimer는 디바이스 개체당 한 번만 호출해야 합니다.

드라이버가 IoStartTimer를 호출하여 타이머를 사용하도록 설정한 후 드라이버의 IoTimer 루틴은 초당 한 번 호출됩니다. 드라이버는 IoStopTimer 를 호출하여 타이머를 사용하지 않도록 설정하고 IoStartTimer를 사용하여 다시 활성화할 수 있습니다.

드라이버의 IoTimer 루틴은 IRQL = DISPATCH_LEVEL 호출되므로 페이저블 코드를 포함해서는 안됩니다.

타이머가 실행 중일 때 I/O 관리자는 드라이버 제공 IoTimer 루틴을 초당 한 번 호출합니다. 시간 제한 루틴을 가변 간격 또는 더 세분성 간격으로 호출해야 하는 드라이버는 CustomTimerDpc 루틴을 설정하고 KeXxx타이머 루틴을 사용할 수 있습니다.

요구 사항

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

추가 정보

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer