31 TRACE(
"IOCTL_MOUNTDEV_QUERY_STABLE_GUID\n");
44 TRACE(
"IOCTL_DISK_IS_WRITABLE\n");
97 le2 =
Vcb->devices.Flink;
122 ERR(
"IOCTL_MOUNTDEV_QUERY_DEVICE_NAME returned %08lx\n",
Status);
135 ERR(
"IOCTL_MOUNTDEV_QUERY_DEVICE_NAME returned %08lx\n",
Status);
139 itemsize +=
bfd->name_length;
143 bfd->name_length = 0;
186 ERR(
"IoGetDeviceObjectPointer returned %08lx\n",
Status);
192 ERR(
"get_device_pnp_name returned %08lx\n",
Status);
200 WARN(
"IOCTL_DISK_UPDATE_PROPERTIES returned %08lx\n",
Status);
217 ERR(
"insufficient privileges\n");
264 Irp->IoStatus.Information = 0;
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define STATUS_PRIVILEGE_NOT_HELD
void disk_arrival(PUNICODE_STRING devpath)
#define _Dispatch_type_(a)
void volume_removal(PUNICODE_STRING devpath)
NTSTATUS vol_device_control(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
bool volume_arrival(PUNICODE_STRING devpath, bool fve_callback)
static __inline void * map_user_buffer(PIRP Irp, ULONG priority)
#define IOCTL_BTRFS_QUERY_FILESYSTEMS
#define IOCTL_BTRFS_UNLOAD
#define IOCTL_BTRFS_PROBE_VOLUME
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
#define IOCTL_DISK_IS_WRITABLE
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
void do_shutdown(PIRP Irp)
NTSTATUS get_device_pnp_name(_In_ PDEVICE_OBJECT DeviceObject, _Out_ PUNICODE_STRING pnp_name, _Out_ const GUID **guid)
bool is_top_level(_In_ PIRP Irp)
NTSTATUS dev_ioctl(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG ControlCode, _In_reads_bytes_opt_(InputBufferSize) PVOID InputBuffer, _In_ ULONG InputBufferSize, _Out_writes_bytes_opt_(OutputBufferSize) PVOID OutputBuffer, _In_ ULONG OutputBufferSize, _In_ bool Override, _Out_opt_ IO_STATUS_BLOCK *iosb)
_In_ PIO_STACK_LOCATION IrpSp
#define IsListEmpty(ListHead)
#define RtlCompareMemory(s1, s2, l)
#define ExAcquireResourceSharedLite(res, wait)
static NTSTATUS probe_volume(void *data, ULONG length, KPROCESSOR_MODE processor_mode)
static NTSTATUS is_writable(device_extension *Vcb)
static NTSTATUS control_ioctl(PIRP Irp)
static NTSTATUS query_filesystems(void *data, ULONG length)
static NTSTATUS mountdev_query_stable_guid(device_extension *Vcb, PIRP Irp)
ERESOURCE global_loading_lock
static NTSTATUS ioctl_unload(PIRP Irp)
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME
#define IOCTL_MOUNTDEV_QUERY_STABLE_GUID
struct _MOUNTDEV_STABLE_GUID MOUNTDEV_STABLE_GUID
#define SE_MANAGE_VOLUME_PRIVILEGE
#define SE_LOAD_DRIVER_PRIVILEGE
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define _Function_class_(n)
#define FILE_READ_ATTRIBUTES
#define IOCTL_DISK_UPDATE_PROPERTIES
#define IoSkipCurrentIrpStackLocation(Irp)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
NTSTATUS NTAPI IoGetDeviceObjectPointer(IN PUNICODE_STRING ObjectName, IN ACCESS_MASK DesiredAccess, OUT PFILE_OBJECT *FileObject, OUT PDEVICE_OBJECT *DeviceObject)
#define IoCompleteRequest
VOID NTAPI IoSetTopLevelIrp(IN PIRP Irp)
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
#define IRP_MJ_DEVICE_CONTROL
#define offsetof(TYPE, MEMBER)
#define STATUS_BUFFER_OVERFLOW
struct _IO_STACK_LOCATION::@3983::@3998 FileSystemControl
struct _IO_STACK_LOCATION::@1584::@1585 DeviceIoControl
union _IO_STACK_LOCATION::@1584 Parameters
struct _LIST_ENTRY * Flink
btrfs_filesystem_device device
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_MEDIA_WRITE_PROTECTED
#define STATUS_INVALID_PARAMETER
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
#define ObDereferenceObject