IoInitializeWorkItem 함수(wdm.h)
IoInitializeWorkItem 루틴은 호출자가 이미 할당한 작업 항목을 초기화합니다.
구문
void IoInitializeWorkItem(
[in] PVOID IoObject,
[in] PIO_WORKITEM IoWorkItem
);
매개 변수
[in] IoObject
호출자의 드라이버 개체 또는 호출자의 디바이스 개체 중 하나에 대한 포인터입니다. 호출자가 나중에 작업 항목을 IoQueueWorkItem에 전달하는 경우 IoObject 는 디바이스 개체를 가리킵니다.
[in] IoWorkItem
초기화할 IO_WORKITEM 구조체에 대한 포인터입니다.
반환 값
없음
설명
드라이버는 IO_WORKITEM 구조에 대해 자체 스토리지를 할당한 다음 IoInitializeWorkItem 을 호출하여 초기화합니다. 메모리는 페이지가 없는 풀에서 할당해야 합니다. IO_WORKITEM 구조를 보유하는 데 필요한 바이트 수를 확인하려면 IoSizeofWorkItem을 호출합니다.
IoInitializeWorkItem에 의해 초기화된 IO_WORKITEM 구조체는 해제되기 전에 IoUninitializeWorkItem에 의해 초기화되지 않아야 합니다.
관련 루틴인 IoAllocateWorkItem은 작업 항목을 할당하고 초기화합니다. 할당 및 초기화를 단일 호출로 결합하면 초기화만 수행하는 IoInitializeWorkItem보다 일부 드라이버에서 IoAllocateWorkItem을 사용하는 것이 더 편리할 수 있습니다. 그러나 이전에 할당된 스토리지에서 작업 항목을 초기화해야 하는 드라이버에는 IoInitializeWorkItem 이 필요합니다.
예를 들어 드라이버는 작업 항목 풀에 대한 스토리지 블록을 할당할 수 있습니다. 드라이버는 IoInitializeWorkItem 을 호출하여 작업 항목이 풀에서 할당되면 작업 항목을 초기화할 수 있습니다. 드라이버는 IoUninitializeWorkItem 을 호출하여 풀로 반환되는 작업 항목을 초기화할 수 있습니다. 풀에 대한 초기 스토리지 할당 중에 드라이버는 IoSizeofWorkitem 을 호출하여 각 작업 항목에 할당할 스토리지 양을 결정할 수 있습니다.
작업 항목에 대한 자세한 내용은 시스템 작업자 스레드를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준 |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기