23#define BugCheckFileId (CDFS_BUG_CHECK_VOLINFO)
63#define PFILE_FS_SECTOR_SIZE_INFORMATION PVOID
75#pragma alloc_text(PAGE, CdCommonQueryVolInfo)
76#pragma alloc_text(PAGE, CdQueryFsAttributeInfo)
77#pragma alloc_text(PAGE, CdQueryFsDeviceInfo)
78#pragma alloc_text(PAGE, CdQueryFsSizeInfo)
79#pragma alloc_text(PAGE, CdQueryFsVolumeInfo)
80#pragma alloc_text(PAGE, CdQueryFsSectorSizeInfo)
189#if (NTDDI_VERSION >= NTDDI_WIN8)
190 case FileFsSectorSizeInformation:
274 Buffer->VolumeSerialNumber =
Vcb->Vpb->SerialNumber;
304 &
Vcb->Vpb->VolumeLabel[0],
363 Buffer->AvailableAllocationUnits.QuadPart = 0;
364 Buffer->SectorsPerAllocationUnit = 1;
424 Buffer->Characteristics =
Vcb->TargetDeviceObject->Characteristics;
428 Buffer->DeviceType =
Vcb->TargetDeviceObject->DeviceType;
500 Buffer->MaximumComponentNameLength = 110;
504 Buffer->MaximumComponentNameLength = 221;
546#if (NTDDI_VERSION >= NTDDI_WIN8)
590 ASSERT( *
Length >=
sizeof( FILE_FS_SECTOR_SIZE_INFORMATION ));
597 Status = FsRtlGetSectorSizeInformation(
Vcb->Vpb->RealDevice,
606 *
Length -=
sizeof( FILE_FS_SECTOR_SIZE_INFORMATION );
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
NTSTATUS CdQueryFsSizeInfo(_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _Out_ PFILE_FS_SIZE_INFORMATION Buffer, _Inout_ PULONG Length)
NTSTATUS CdQueryFsAttributeInfo(_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _Out_ PFILE_FS_ATTRIBUTE_INFORMATION Buffer, _Inout_ PULONG Length)
NTSTATUS CdQueryFsSectorSizeInfo(_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _Out_writes_bytes_(*Length) PFILE_FS_SECTOR_SIZE_INFORMATION Buffer, _Inout_ PULONG Length)
NTSTATUS CdQueryFsDeviceInfo(_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _Out_ PFILE_FS_DEVICE_INFORMATION Buffer, _Inout_ PULONG Length)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN TypeOfOpen
#define CdReleaseVcb(IC, V)
VOID CdVerifyVcb(_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb)
#define CdAcquireVcbShared(IC, V, I)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
#define LlSectorsFromBytes(L)
enum _TYPE_OF_OPEN TYPE_OF_OPEN
#define _Requires_lock_held_(lock)
#define NT_SUCCESS(StatCode)
_In_ PIO_STACK_LOCATION IrpSp
#define ClearFlag(_F, _SF)
#define FILE_READ_ONLY_VOLUME
@ FileFsDeviceInformation
@ FileFsAttributeInformation
@ FileFsVolumeInformation
struct _FILE_FS_SIZE_INFORMATION FILE_FS_SIZE_INFORMATION
#define FILE_CASE_SENSITIVE_SEARCH
#define FILE_SUPPORTS_OPEN_BY_FILE_ID
#define FILE_UNICODE_ON_DISK
_In_ UINT _In_ UINT BytesToCopy
#define _Analysis_assume_
#define _Out_writes_bytes_(s)
struct _FILE_FS_DEVICE_INFORMATION FILE_FS_DEVICE_INFORMATION
#define UNREFERENCED_PARAMETER(P)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define FILE_DEVICE_CD_ROM
#define STATUS_BUFFER_OVERFLOW
struct _IO_STACK_LOCATION::@3978::@3991 QueryVolume
union _IO_STACK_LOCATION::@1579 Parameters
#define FIELD_OFFSET(t, f)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
union _LARGE_INTEGER * PLARGE_INTEGER
#define STATUS_INVALID_PARAMETER