#include "fs_rec.h"
#include <debug.h>
Go to the source code of this file.
◆ NDEBUG
Definition at line 14 of file fat.c.
◆ FsRecIsFatVolume()
Definition at line 21 of file fat.c.
22{
26
28
29
32
33
34 if ((PackedBootSector->Jump[0] != 0x49) &&
35 (PackedBootSector->Jump[0] != 0xE9) &&
36 (PackedBootSector->Jump[0] != 0xEB))
37 {
38
40 }
47 {
48
50 }
59 {
60
62 }
64 {
65
67 }
69 {
70
72 }
73 else if ((Bpb.
Media != 0x00) &&
74 (Bpb.
Media != 0x01) &&
75 (Bpb.
Media != 0xf0) &&
76 (Bpb.
Media != 0xf8) &&
77 (Bpb.
Media != 0xf9) &&
78 (Bpb.
Media != 0xfa) &&
79 (Bpb.
Media != 0xfb) &&
80 (Bpb.
Media != 0xfc) &&
81 (Bpb.
Media != 0xfd) &&
82 (Bpb.
Media != 0xfe) &&
84 {
85
87 }
89 {
90
92 }
93
94
96}
#define FatUnpackBios(Bios, Pbios)
#define RtlZeroMemory(Destination, Length)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Referenced by FsRecVfatFsControl().
◆ FsRecVfatFsControl()
Definition at line 100 of file fat.c.
102{
111
112
114 switch (
Stack->MinorFunction)
115 {
117
118
120
121
122 MountDevice =
Stack->Parameters.MountVolume.DeviceObject;
124 {
125
128 512,
131 &DeviceError))
132 {
133
135 {
136
138 }
139 }
140
141
143 }
144 else
145 {
146
148 }
149
150
151 if (DeviceError)
152 {
153
155 {
156
158 }
159 }
160
161 break;
162
164
165
167 L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\fastfat");
168 break;
169
170 default:
171
172
174 }
175
176
178}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
BOOLEAN NTAPI FsRecIsFatVolume(IN PPACKED_BOOT_SECTOR PackedBootSector)
BOOLEAN NTAPI FsRecReadBlock(IN PDEVICE_OBJECT DeviceObject, IN PLARGE_INTEGER Offset, IN ULONG Length, IN ULONG SectorSize, IN OUT PVOID *Buffer, OUT PBOOLEAN DeviceError OPTIONAL)
BOOLEAN NTAPI FsRecGetDeviceSectorSize(IN PDEVICE_OBJECT DeviceObject, OUT PULONG SectorSize)
NTSTATUS NTAPI FsRecLoadFileSystem(IN PDEVICE_OBJECT DeviceObject, IN PWCHAR DriverServiceName)
#define FILE_FLOPPY_DISKETTE
_In_ ULONG _In_ ULONG Offset
#define STATUS_FS_DRIVER_REQUIRED
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_UNRECOGNIZED_VOLUME
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
#define IRP_MN_LOAD_FILE_SYSTEM
#define IRP_MN_MOUNT_VOLUME
Referenced by FsRecFsControl().