다음을 통해 공유


FltQueueGenericWorkItem 함수(fltkernel.h)

FltQueueGenericWorkItem 은 특정 I/O 작업과 연결되지 않은 작업 항목을 작업 큐에 게시합니다.

구문

NTSTATUS FLTAPI FltQueueGenericWorkItem(
  [in]           PFLT_GENERIC_WORKITEM         FltWorkItem,
  [in]           PVOID                         FltObject,
  [in]           PFLT_GENERIC_WORKITEM_ROUTINE WorkerRoutine,
  [in]           WORK_QUEUE_TYPE               QueueType,
  [in, optional] PVOID                         Context
);

매개 변수

[in] FltWorkItem

작업 큐에 추가할 작업 항목에 대한 포인터입니다. FltAllocateGenericWorkItem을 호출하여 작업 항목을 할당해야 합니다.

[in] FltObject

호출자에 대한 불투명 필터(PFLT_FILTER) 또는 instance(PFLT_INSTANCE) 포인터입니다.

[in] WorkerRoutine

호출자가 제공한 작업자 루틴에 대한 포인터입니다. 이 루틴은 다음과 같이 선언됩니다.

typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
 _In_ PFLT_GENERIC_WORKITEM FltWorkItem,
 _In_ PVOID FltObject,
 _In_opt_ PVOID Context
      );

FltWorkItem

제네릭 작업 항목 구조에 대한 불투명 포인터입니다.

FltObject

FltQueueGenericWorkItemFltObject 매개 변수로 전달된 불투명 필터 포인터입니다.

Context

FltQueueGenericWorkItemContext 매개 변수로 전달된 컨텍스트 정보 포인터입니다. 이 매개 변수는 선택적 요소입니다.

[in] QueueType

FltWorkItem이 가리키는 작업 항목을 삽입할 큐를 지정합니다. QueueType 은 다음 중 하나일 수 있습니다.

의미
CriticalWorkQueue 실시간 우선 순위 특성이 있는 시스템 스레드가 작업 항목을 처리하는 큐에 작업 항목을 삽입합니다.
DelayedWorkQueue 변수 우선 순위 특성이 있는 시스템 스레드가 작업 항목을 처리하는 큐에 작업 항목을 삽입합니다.
 

QueueTypeHyperCriticalWorkQueue는 시스템 사용을 위해 예약되어 있습니다.

[in, optional] Context

WorkerRoutine 매개 변수에 지정된 콜백 루틴의 Context 매개 변수로 전달될 호출자 정의 컨텍스트 정보에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다.

반환 값

FltQueueGenericWorkItem 은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_FLT_DELETING_OBJECT
미니필터 드라이버가 언로드되고 있습니다. 오류 코드입니다.

설명

FltQueueGenericWorkItem 은 특정 I/O 작업과 연결되지 않은 작업 항목을 시스템 작업 큐에 삽입합니다. 지정된 WorkerRoutine 콜백 루틴은 IRQL PASSIVE_LEVEL 시스템 스레드의 컨텍스트에서 호출됩니다.

작업 항목을 할당하려면 FltAllocateGenericWorkItem을 호출합니다.

더 이상 필요하지 않은 작업 항목을 해제하려면 FltFreeGenericWorkItem을 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

추가 정보

FltAllocateGenericWorkItem

FltFreeGenericWorkItem