21#pragma alloc_text(PAGE, Ext2QueryVolumeInformation)
22#pragma alloc_text(PAGE, Ext2SetVolumeInformation)
73 VcbResourceAcquired =
TRUE;
75 Irp = IrpContext->Irp;
90 ULONG VolumeLabelLength;
101 VolumeLabelLength =
Vcb->Vpb->VolumeLabelLength;
107 + VolumeLabelLength -
sizeof(
WCHAR);
110 Irp->IoStatus.Information =
138 Vcb->BlockSize /
Vcb->DiskGeometry.BytesPerSector;
140 Vcb->DiskGeometry.BytesPerSector;
158 Vcb->TargetDeviceObject->DeviceType;
165 Vcb->TargetDeviceObject->Characteristics;
202 Irp->IoStatus.Information =
210 }
else if (
Vcb->IsExt3fs) {
221#if (_WIN32_WINNT >= 0x0500)
257 Vcb->BlockSize /
Vcb->DiskGeometry.BytesPerSector;
275 if (VcbResourceAcquired) {
279 if (!IrpContext->ExceptionInProgress) {
335 VcbResourceAcquired =
TRUE;
339 Irp = IrpContext->Irp;
360 if (VolLabelLen > (16 *
sizeof(
WCHAR))) {
379 Vcb->Vpb->VolumeLabelLength = (
USHORT) VolLabelLen;
385 Irp->IoStatus.Information = 0;
395 if (VcbResourceAcquired) {
399 if (!IrpContext->ExceptionInProgress) {
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define IRP_CONTEXT_FLAG_WAIT
#define ExAcquireResourceExclusiveLite(res, wait)
#define ExAcquireResourceSharedLite(res, wait)
NTSTATUS Ext2QueryVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2SetVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
static ext3_fsblk_t ext3_blocks_count(struct ext3_super_block *es)
static ext3_fsblk_t ext3_free_blocks_count(struct ext3_super_block *es)
#define IsVcbReadOnly(Vcb)
#define IsExt2FsDevice(DO)
NTSTATUS Ext2QueueRequest(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2VerifyVcb(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
struct _EXT2_VCB * PEXT2_VCB
NTSTATUS Ext2UnicodeToOEM(IN PEXT2_VCB Vcb, IN OUT POEM_STRING Oem, IN PUNICODE_STRING Unicode)
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
#define EXT4_FEATURE_INCOMPAT_EXTENTS
IN PDCB IN POEM_STRING OemName
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FS_INFORMATION_CLASS FsInformationClass
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES
#define FILE_SUPPORTS_REPARSE_POINTS
#define FILE_READ_ONLY_VOLUME
struct _FILE_FS_ATTRIBUTE_INFORMATION FILE_FS_ATTRIBUTE_INFORMATION
#define FILE_SUPPORTS_HARD_LINKS
@ FileFsDeviceInformation
@ FileFsAttributeInformation
@ FileFsVolumeInformation
struct _FILE_FS_ATTRIBUTE_INFORMATION * PFILE_FS_ATTRIBUTE_INFORMATION
struct _FILE_FS_SIZE_INFORMATION FILE_FS_SIZE_INFORMATION
#define FILE_CASE_SENSITIVE_SEARCH
enum _FSINFOCLASS FS_INFORMATION_CLASS
struct _FILE_FS_FULL_SIZE_INFORMATION FILE_FS_FULL_SIZE_INFORMATION
struct _FILE_FS_FULL_SIZE_INFORMATION * PFILE_FS_FULL_SIZE_INFORMATION
#define FILE_CASE_PRESERVED_NAMES
struct _FILE_FS_SIZE_INFORMATION * PFILE_FS_SIZE_INFORMATION
struct _FILE_FS_DEVICE_INFORMATION * PFILE_FS_DEVICE_INFORMATION
struct _FILE_FS_DEVICE_INFORMATION FILE_FS_DEVICE_INFORMATION
#define FILE_READ_ONLY_DEVICE
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define FileFsFullSizeInformation
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
#define STATUS_VOLUME_DISMOUNTED
#define STATUS_INVALID_INFO_CLASS
struct _FILE_FS_VOLUME_INFORMATION * PFILE_FS_VOLUME_INFORMATION
struct _FILE_FS_VOLUME_INFORMATION FILE_FS_VOLUME_INFORMATION
#define STATUS_BUFFER_OVERFLOW
struct _IO_STACK_LOCATION::@3974::@3987 QueryVolume
union _IO_STACK_LOCATION::@1575 Parameters
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_MEDIA_WRITE_PROTECTED
#define STATUS_UNSUCCESSFUL
#define STATUS_INVALID_VOLUME_LABEL
_In_ PDEVICE_OBJECT DeviceObject
_In_ ULONG _Out_opt_ PULONG RequiredLength
struct _FILE_FS_LABEL_INFORMATION * PFILE_FS_LABEL_INFORMATION