IoInitializeWorkItem 함수(wdm.h)
IoInitializeWorkItem 루틴은 호출자가 이미 할당한 작업 항목을 초기화합니다.
통사론
void IoInitializeWorkItem(
[in] PVOID IoObject,
[in] PIO_WORKITEM IoWorkItem
);
매개 변수
[in] IoObject
호출자의 드라이버 개체 또는 호출자의 디바이스 개체 중 하나에 대한 포인터입니다. 호출자가 나중에 작업 항목을 IoQueueWorkItem
[in] IoWorkItem
초기화할 IO_WORKITEM 구조체에 대한 포인터입니다.
반환 값
없음
발언
드라이버는 IO_WORKITEM 구조에 대해 자체 스토리지를 할당한 다음 IoInitializeWorkItem 호출하여 초기화합니다. 메모리는 페이지가 없는 풀에서 할당해야 합니다. IO_WORKITEM 구조를 보유하는 데 필요한 바이트 수를 확인하려면 IoSizeofWorkItem호출합니다.
IoInitializeWorkItem의해 초기화되는 IO_WORKITEM 구조체는 해제되기 전에 IoUninitializeWorkItem 초기화되지 않아야 합니다.
IoAllocateWorkItem
예를 들어 드라이버는 작업 항목 풀에 스토리지 블록을 할당할 수 있습니다. 드라이버는 IoInitializeWorkItem 호출하여 작업 항목이 풀에서 할당될 때 작업 항목을 초기화할 수 있습니다. 드라이버는 IoUninitializeWorkItem 호출하여 풀에 반환되는 작업 항목을 초기화할 수 있습니다. 풀에 대한 초기 스토리지 할당 중에 드라이버는 IoSizeofWorkitem 호출하여 각 작업 항목에 할당할 스토리지의 양을 결정할 수 있습니다.
작업 항목에 대한 자세한 내용은 System Worker Threads참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
모든 수준 |