32{
37
38
43
44
46 {
49 }
50
51
53
54
55 VolumeProperties->DeviceType =
Volume->DeviceObject->DeviceType;
56 VolumeProperties->DeviceObjectFlags =
Volume->DeviceObject->Flags;
57 VolumeProperties->AlignmentRequirement =
Volume->DeviceObject->AlignmentRequirement;
58 VolumeProperties->SectorSize =
Volume->DeviceObject->SectorSize;
59 if (
Volume->DiskDeviceObject)
60 {
61 VolumeProperties->DeviceCharacteristics =
Volume->DiskDeviceObject->Characteristics;
62 }
63 else
64 {
65 VolumeProperties->DeviceCharacteristics =
Volume->DeviceObject->Characteristics;
66 }
67
68
71
72
74 {
75
76 VolumeProperties->FileSystemDeviceName.Length = 0;
77 VolumeProperties->FileSystemDeviceName.MaximumLength =
Volume->CDODeviceName.
Length;
78 VolumeProperties->FileSystemDeviceName.Buffer = (
PWCH)
Ptr;
80 Ptr += VolumeProperties->FileSystemDeviceName.Length;
81
82
83 VolumeProperties->FileSystemDriverName.Length = 0;
84 VolumeProperties->FileSystemDriverName.MaximumLength =
Volume->CDODriverName.
Length;
85 VolumeProperties->FileSystemDriverName.Buffer = (
PWCH)
Ptr;
87 Ptr += VolumeProperties->FileSystemDriverName.Length;
88
89
90 VolumeProperties->RealDeviceName.Length = 0;
91 VolumeProperties->RealDeviceName.MaximumLength =
Volume->DeviceName.
Length;
92 VolumeProperties->RealDeviceName.Buffer = (
PWCH)
Ptr;
94
96
98 }
99 else
100 {
102 }
103
104
107}
_In_ ULONG VolumePropertiesLength
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FILE_INFORMATION_CLASS _Out_opt_ PULONG LengthReturned
struct _FLT_VOLUME_PROPERTIES FLT_VOLUME_PROPERTIES
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
#define STATUS_BUFFER_OVERFLOW
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten