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

Function Ext2DbgPrintCall

Ext4Fsd/debug.c:215–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

213
214
215VOID
216Ext2DbgPrintCall (IN PDEVICE_OBJECT DeviceObject,
217 IN PIRP Irp )
218{
219 PIO_STACK_LOCATION IoStackLocation;
220 PFILE_OBJECT FileObject;
221 PWCHAR FileName;
222 PEXT2_FCB Fcb;
223 FILE_INFORMATION_CLASS FileInformationClass;
224 FS_INFORMATION_CLASS FsInformationClass;
225
226 IoStackLocation = IoGetCurrentIrpStackLocation(Irp);
227
228 FileObject = IoStackLocation->FileObject;
229
230 FileName = L"Unknown";
231
232 if (DeviceObject == Ext2Global->DiskdevObject) {
233
234 FileName = DEVICE_NAME;
235
236 } else if (DeviceObject == Ext2Global->CdromdevObject) {
237
238 FileName = CDROM_NAME;
239
240 } else if (FileObject && FileObject->FsContext) {
241
242 Fcb = (PEXT2_FCB) FileObject->FsContext;
243
244 if (Fcb->Identifier.Type == EXT2VCB) {
245 FileName = L"\\Volume";
246 } else if (Fcb->Identifier.Type == EXT2FCB && Fcb->Mcb->FullName.Buffer) {
247 FileName = Fcb->Mcb->FullName.Buffer;
248 }
249 }
250
251 switch (IoStackLocation->MajorFunction) {
252
253 case IRP_MJ_CREATE:
254
255 FileName = NULL;
256
257 if (DeviceObject == Ext2Global->DiskdevObject) {
258 FileName = DEVICE_NAME;
259 } else if (DeviceObject == Ext2Global->CdromdevObject) {
260 FileName = CDROM_NAME;
261 } else if (IoStackLocation->FileObject->FileName.Length == 0) {
262 FileName = L"\\Volume";
263 }
264
265 if (FileName) {
266 DEBUGNI(DL_FUN, ("%s %s %S\n",
267 Ext2GetCurrentProcessName(),
268 IrpMjStrings[IoStackLocation->MajorFunction],
269 FileName
270 ));
271 } else if (IoStackLocation->FileObject->FileName.Buffer) {
272 DEBUGNI(DL_FUN, ("%s %s %S\n",

Callers 1

Ext2BuildRequestFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected