MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2QueueRequest

Function Ext2QueueRequest

Ext4Fsd/dispatch.c:149–174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147}
148
149NTSTATUS
150Ext2QueueRequest (IN PEXT2_IRP_CONTEXT IrpContext)
151{
152 ASSERT(IrpContext);
153
154 ASSERT((IrpContext->Identifier.Type == EXT2ICX) &&
155 (IrpContext->Identifier.Size == sizeof(EXT2_IRP_CONTEXT)));
156
157 /* set the flags of "can wait" and "queued" */
158 SetFlag(IrpContext->Flags, IRP_CONTEXT_FLAG_WAIT);
159 SetFlag(IrpContext->Flags, IRP_CONTEXT_FLAG_REQUEUED);
160
161 /* make sure the buffer is kept valid in system context */
162 Ext2LockIrp(IrpContext, IrpContext->Irp);
163
164 /* initialize workite*/
165 ExInitializeWorkItem(
166 &IrpContext->WorkQueueItem,
167 Ext2DeQueueRequest,
168 IrpContext );
169
170 /* dispatch it */
171 ExQueueWorkItem(&IrpContext->WorkQueueItem, CriticalWorkQueue);
172
173 return STATUS_PENDING;
174}
175
176
177VOID

Callers 15

Ext2QueryDirectoryFunction · 0.85
Ext2CleanupFunction · 0.85
Ext2SetVolumeInformationFunction · 0.85
Ext2GetRetrievalPointersFunction · 0.85
Ext2GetReparsePointFunction · 0.85
Ext2SetReparsePointFunction · 0.85
Ext2DeleteReparsePointFunction · 0.85
Ext2QueryEaFunction · 0.85

Calls 1

Ext2LockIrpFunction · 0.85

Tested by

no test coverage detected