18{
24
26 SystemBuffer =
Irp->AssociatedIrp.SystemBuffer;
28
29 switch (
Stack->Parameters.QueryFile.FileInformationClass)
30 {
32 {
34
35 TRACE_(SERIAL,
"IRP_MJ_QUERY_INFORMATION / FileStandardInformation\n");
38 else if (!StandardInfo)
40 else
41 {
49 }
50 break;
51 }
53 {
55
57
58 TRACE_(SERIAL,
"IRP_MJ_QUERY_INFORMATION / FilePositionInformation\n");
61 else if (!PositionInfo)
63 else
64 {
68 }
69 break;
70 }
71 default:
72 {
73 TRACE_(SERIAL,
"IRP_MJ_QUERY_INFORMATION: Unexpected file information class 0x%02x\n",
Stack->Parameters.QueryFile.FileInformationClass);
75 }
76 }
77
82}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
@ FilePositionInformation
DRIVER_DISPATCH ForwardIrpAndForget
#define FILE_STANDARD_INFORMATION
struct _FILE_POSITION_INFORMATION FILE_POSITION_INFORMATION
struct _FILE_POSITION_INFORMATION * PFILE_POSITION_INFORMATION
#define IoCompleteRequest
struct _FILE_STANDARD_INFORMATION * PFILE_STANDARD_INFORMATION
#define FileStandardInformation
#define STATUS_BUFFER_OVERFLOW
#define STATUS_INVALID_PARAMETER
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information