ReactOS  0.4.14-dev-49-gfb4591c
init.c File Reference
#include <ntifs.h>
#include <wdmsec.h>
#include "ffsdrv.h"
Include dependency graph for init.c:

Go to the source code of this file.

Macros

#define NLS_OEM_LEAD_BYTE_INFO   (*NlsOemLeadByteInfo)
 
#define FsRtlIsLeadDbcsCharacter(DBCS_CHAR)
 

Functions

NTSTATUS NTAPI DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
 
BOOLEAN FFSQueryParameters (IN PUNICODE_STRING RegistryPath)
 

Variables

PFFS_GLOBAL FFSGlobal = NULL
 

Macro Definition Documentation

◆ FsRtlIsLeadDbcsCharacter

#define FsRtlIsLeadDbcsCharacter (   DBCS_CHAR)
Value:
( \
(BOOLEAN)((UCHAR)(DBCS_CHAR) < 0x80 ? FALSE : \
(NLS_OEM_LEAD_BYTE_INFO[(UCHAR)(DBCS_CHAR)] != 0))) \
)
BOOLEAN NLS_MB_CODE_PAGE_TAG
unsigned char UCHAR
Definition: xmlstorage.h:181
#define NLS_OEM_LEAD_BYTE_INFO
Definition: init.c:187
#define BOOLEAN
Definition: pedump.c:73

Definition at line 190 of file init.c.

◆ NLS_OEM_LEAD_BYTE_INFO

#define NLS_OEM_LEAD_BYTE_INFO   (*NlsOemLeadByteInfo)

Definition at line 187 of file init.c.

Function Documentation

◆ DriverEntry()

NTSTATUS NTAPI DriverEntry ( IN PDRIVER_OBJECT  DriverObject,
IN PUNICODE_STRING  RegistryPath 
)

Definition at line 208 of file init.c.

211 {
214  PCACHE_MANAGER_CALLBACKS CacheManagerCallbacks;
215  PFFS_EXT DeviceExt;
217 #ifndef __REACTOS__
218  UNICODE_STRING Sddl;
219 #endif
221 #if FFS_UNLOAD
223 #endif
224 
225  DbgPrint(
226  "ffsdrv --"
227  " Version "
229 #if FFS_READ_ONLY
230  " (ReadOnly)"
231 #endif // FFS_READ_ONLY
232 #if DBG
233  " Checked"
234 #else
235  " Free"
236 #endif
237  " - Built at "
238  __DATE__" "
239  __TIME__".\n");
240 
241  FFSPrint((DBG_FUNC, "FFS DriverEntry ...\n"));
242 
244 #ifndef __REACTOS__
245  RtlInitUnicodeString(&Sddl, L"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;BU)");
246 
247  Status = IoCreateDeviceSecure(
248  DriverObject,
249  sizeof(FFS_EXT),
250  &DeviceName,
252  0,
253  FALSE,
254  &Sddl,
255  NULL,
256  &DeviceObject);
257 #else
258 
260  DriverObject,
261  sizeof(FFS_EXT),
262  &DeviceName,
264  0,
265  FALSE,
266  &DeviceObject);
267 #endif
268  if (!NT_SUCCESS(Status))
269  {
270  FFSPrint((DBG_ERROR, "IoCreateDevice fs object error.\n"));
271  return Status;
272  }
273 
274  DeviceExt = (PFFS_EXT)DeviceObject->DeviceExtension;
275  RtlZeroMemory(DeviceExt, sizeof(FFS_EXT));
276 
277  FFSGlobal = &(DeviceExt->FFSGlobal);
278 
280  FFSGlobal->Identifier.Size = sizeof(FFS_GLOBAL);
284 
286 
290 #if !FFS_READ_ONLY
292 #endif // !FFS_READ_ONLY
293 
296 
299 
301 #if !FFS_READ_ONLY
303 #endif // !FFS_READ_ONLY
304 
309 
311 
312 #if (_WIN32_WINNT >= 0x0500)
314 #endif //(_WIN32_WINNT >= 0x0500)
315 
316 #if FFS_UNLOAD
317 #ifdef _MSC_VER
318 #pragma prefast( suppress: 28175, "allowed to unload" )
319 #endif
321 #else
322 #ifdef _MSC_VER
323 #pragma prefast( suppress: 28175, "allowed to unload" )
324 #endif
326 #endif
327 
328  //
329  // Initialize the fast I/O entry points
330  //
331 
333 
336 #if DBG
338 #if !FFS_READ_ONLY
340 #endif // !FFS_READ_ONLY
341 #else
342 #ifdef _MSC_VER
343 #pragma prefast( suppress: 28155, "allowed in file system drivers" )
344 #endif
346 #if !FFS_READ_ONLY
347 #ifdef _MSC_VER
348 #pragma prefast( suppress: 28155, "allowed in file system drivers" )
349 #endif
351 #endif // !FFS_READ_ONLY
352 #endif
360 
361 #ifdef _MSC_VER
362 #pragma prefast( suppress: 28175, "allowed in file system drivers" )
363 #endif
365 
366  switch (MmQuerySystemSize())
367  {
368  case MmSmallSystem:
369 
370  FFSGlobal->MaxDepth = 16;
371  break;
372 
373  case MmMediumSystem:
374 
375  FFSGlobal->MaxDepth = 64;
376  break;
377 
378  case MmLargeSystem:
379 
380  FFSGlobal->MaxDepth = 256;
381  break;
382  }
383 
384  //
385  // Initialize the Cache Manager callbacks
386  //
387 
388  CacheManagerCallbacks = &(FFSGlobal->CacheManagerCallbacks);
389  CacheManagerCallbacks->AcquireForLazyWrite = FFSAcquireForLazyWrite;
390  CacheManagerCallbacks->ReleaseFromLazyWrite = FFSReleaseFromLazyWrite;
391  CacheManagerCallbacks->AcquireForReadAhead = FFSAcquireForReadAhead;
392  CacheManagerCallbacks->ReleaseFromReadAhead = FFSReleaseFromReadAhead;
393 
398 
399 
400  //
401  // Initialize the global data
402  //
403 
408 
410  NULL,
411  NULL,
412  0,
413  sizeof(FFS_IRP_CONTEXT),
414  'SFF',
415  0);
416 
418  NULL,
419  NULL,
420  0,
421  sizeof(FFS_FCB),
422  'SFF',
423  0);
424 
426  NULL,
427  NULL,
428  0,
429  sizeof(FFS_CCB),
430  'SFF',
431  0);
432 
434  NULL,
435  NULL,
436  0,
437  sizeof(FFS_MCB),
438  'SFF',
439  0);
440 
441 #if FFS_UNLOAD
444 #endif
445 
446 #if DBG
448 #endif
449 
451 
452  return Status;
453 }
CACHE_MANAGER_CALLBACKS CacheManagerNoOpCallbacks
Definition: ffsdrv.h:365
PFFS_GLOBAL FFSGlobal
Definition: init.c:22
PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle
Definition: iotypes.h:1697
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
BOOLEAN NTAPI FFSFastIoWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
VOID NTAPI ExInitializePagedLookasideList(IN PPAGED_LOOKASIDE_LIST Lookaside, IN PALLOCATE_FUNCTION Allocate OPTIONAL, IN PFREE_FUNCTION Free OPTIONAL, IN ULONG Flags, IN SIZE_T Size, IN ULONG Tag, IN USHORT Depth)
Definition: lookas.c:274
#define IRP_MJ_FLUSH_BUFFERS
Definition: ffsdrv.h:279
#define DbgPrint
Definition: loader.c:25
#define IRP_MJ_SHUTDOWN
USHORT MaxDepth
Definition: ffsdrv.h:377
#define DOS_DEVICE_NAME
Definition: ext2fs.h:159
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
LONG NTSTATUS
Definition: precomp.h:26
#define FFSDRV_VERSION
Definition: ffsdrv.h:48
#define IRP_MJ_SET_VOLUME_INFORMATION
NTSTATUS ExInitializeResourceLite(PULONG res)
Definition: env_spec_w32.h:641
NPAGED_LOOKASIDE_LIST FFSIrpContextLookasideList
Definition: ffsdrv.h:378
PFAST_IO_UNLOCK_ALL FastIoUnlockAll
Definition: iotypes.h:1698
struct _FFS_GLOBAL FFS_GLOBAL
PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo
Definition: iotypes.h:1704
WCHAR DeviceName[]
Definition: adapter.cpp:21
BOOLEAN NTAPI FFSFastIoLock(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, IN PEPROCESS Process, IN ULONG Key, IN BOOLEAN FailImmediately, IN BOOLEAN ExclusiveLock, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:708
PDEVICE_OBJECT DeviceObject
Definition: ffsdrv.h:371
ULONG ProcessNameOffset
__drv_mustHoldCriticalRegion BOOLEAN NTAPI FFSFastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_NETWORK_OPEN_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:557
__drv_mustHoldCriticalRegion VOID NTAPI FFSReleaseFromLazyWrite(IN PVOID Context)
Definition: cmcb.c:82
ERESOURCE CountResource
Definition: ffsdrv.h:355
VOID NTAPI FFSNoOpRelease(IN PVOID Fcb)
Definition: cmcb.c:202
__drv_mustHoldCriticalRegion BOOLEAN NTAPI FFSAcquireForReadAhead(IN PVOID Context, IN BOOLEAN Wait)
Definition: cmcb.c:121
NPAGED_LOOKASIDE_LIST FFSCcbLookasideList
Definition: ffsdrv.h:380
PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo
Definition: iotypes.h:1694
FFS_GLOBAL FFSGlobal
Definition: ffsdrv.h:412
struct _FAST_IO_DISPATCH FAST_IO_DISPATCH
#define FFS_READ_ONLY
Definition: ffsdrv.h:56
PVOID DeviceExtension
Definition: env_spec_w32.h:418
smooth NULL
Definition: ftsmooth.c:416
BOOLEAN NTAPI FFSFastIoCheckIfPossible(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, IN BOOLEAN CheckForReadOperation, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:41
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
#define DBG(x)
Definition: moztest.c:12
BOOLEAN NTAPI FFSFastIoUnlockSingle(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, IN PEPROCESS Process, IN ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:835
FFS_IDENTIFIER_TYPE Type
Definition: ffsdrv.h:294
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
BOOLEAN NTAPI FFSFastIoRead(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
ULONG Size
Definition: ffsdrv.h:295
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
__drv_mustHoldCriticalRegion BOOLEAN NTAPI FFSAcquireForLazyWrite(IN PVOID Context, IN BOOLEAN Wait)
Definition: cmcb.c:35
#define FILE_DEVICE_DISK_FILE_SYSTEM
Definition: winioctl.h:113
ULONG PartitionNumber
Definition: ffsdrv.h:397
#define DBG_FUNC
Definition: ffsdrv.h:1035
ERESOURCE LAResource
Definition: ffsdrv.h:358
VOID NTAPI ExInitializeNPagedLookasideList(IN PNPAGED_LOOKASIDE_LIST Lookaside, IN PALLOCATE_FUNCTION Allocate OPTIONAL, IN PFREE_FUNCTION Free OPTIONAL, IN ULONG Flags, IN SIZE_T Size, IN ULONG Tag, IN USHORT Depth)
Definition: lookas.c:222
NPAGED_LOOKASIDE_LIST FFSFcbLookasideList
Definition: ffsdrv.h:379
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define IRP_MJ_FILE_SYSTEM_CONTROL
MM_SYSTEMSIZE NTAPI MmQuerySystemSize(VOID)
Definition: mmsup.c:257
PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite
Definition: cctypes.h:39
PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey
Definition: iotypes.h:1699
NTSTATUS NTAPI FFSBuildRequest(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: dispatch.c:181
PACQUIRE_FOR_READ_AHEAD AcquireForReadAhead
Definition: cctypes.h:41
BOOLEAN NTAPI FFSFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:1042
static char DosDeviceName[DEVICE_SIZE]
Definition: lsdd.c:26
PFAST_IO_LOCK FastIoLock
Definition: iotypes.h:1696
ULONG FFSGetProcessNameOffset(VOID)
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
LIST_ENTRY VcbList
Definition: ffsdrv.h:374
static const WCHAR L[]
Definition: oid.c:1250
PDRIVER_UNLOAD DriverUnload
Definition: iotypes.h:2180
PRELEASE_FROM_READ_AHEAD ReleaseFromReadAhead
Definition: cctypes.h:42
#define DBG_ERROR
Definition: ffsdrv.h:1031
FAST_IO_DISPATCH FastIoDispatch
Definition: ffsdrv.h:361
__drv_mustHoldCriticalRegion BOOLEAN NTAPI FFSFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_BASIC_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:252
Status
Definition: gdiplustypes.h:24
#define FFSPrint(arg)
Definition: ffsdrv.h:1047
BOOLEAN FFSQueryParameters(IN PUNICODE_STRING RegistryPath)
Definition: init.c:78
PFAST_IO_READ FastIoRead
Definition: iotypes.h:1692
BOOLEAN NTAPI FFSFastIoUnlockAll(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:945
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
ERESOURCE Resource
Definition: ffsdrv.h:352
PFAST_IO_WRITE FastIoWrite
Definition: iotypes.h:1693
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
static DRIVER_UNLOAD DriverUnload
Definition: kbdclass.c:17
PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo
Definition: iotypes.h:1695
FAST_IO_DISPATCH FastIoDispatch
Definition: null.c:15
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_READ
Definition: rdpdr.c:46
__drv_mustHoldCriticalRegion VOID NTAPI FFSReleaseFromReadAhead(IN PVOID Context)
Definition: cmcb.c:153
BOOLEAN NTAPI FsRtlCopyRead(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:64
BOOLEAN NTAPI FsRtlCopyWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:264
struct FFS_EXT * PFFS_EXT
VOID NTAPI IoRegisterFileSystem(IN PDEVICE_OBJECT DeviceObject)
Definition: volume.c:992
struct _FAST_IO_DISPATCH * FastIoDispatch
Definition: iotypes.h:2177
#define IRP_MJ_CLEANUP
PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
Definition: iotypes.h:2181
PRELEASE_FROM_LAZY_WRITE ReleaseFromLazyWrite
Definition: cctypes.h:40
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
Definition: device.c:1031
PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible
Definition: iotypes.h:1691
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
_In_ PUNICODE_STRING RegistryPath
Definition: wmip.h:27
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define DEVICE_NAME
Definition: ext2fs.h:137
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
PDRIVER_OBJECT DriverObject
Definition: ffsdrv.h:368
FFS_IDENTIFIER Identifier
Definition: ffsdrv.h:349
__drv_mustHoldCriticalRegion BOOLEAN NTAPI FFSFastIoQueryStandardInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_STANDARD_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.c:392
PAGED_LOOKASIDE_LIST FFSMcbLookasideList
Definition: ffsdrv.h:381
CACHE_MANAGER_CALLBACKS CacheManagerCallbacks
Definition: ffsdrv.h:364
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
ULONG SizeOfFastIoDispatch
Definition: iotypes.h:1690
BOOLEAN NTAPI FFSNoOpAcquire(IN PVOID Fcb, IN BOOLEAN Wait)
Definition: cmcb.c:177

◆ FFSQueryParameters()

BOOLEAN FFSQueryParameters ( IN PUNICODE_STRING  RegistryPath)

Definition at line 78 of file init.c.

80 {
82  UNICODE_STRING ParameterPath;
84 
85  ULONG WritingSupport;
86  ULONG CheckingBitmap;
88 
89  ParameterPath.Length = 0;
90 
91  ParameterPath.MaximumLength =
92  RegistryPath->Length + sizeof(PARAMETERS_KEY) + sizeof(WCHAR);
93 
94  ParameterPath.Buffer =
96 
97  if (!ParameterPath.Buffer)
98  {
99  return FALSE;
100  }
101 
102  WritingSupport = 0;
103  CheckingBitmap = 0;
104  PartitionNumber = 0;
105 
106  RtlCopyUnicodeString(&ParameterPath, RegistryPath);
107 
108  RtlAppendUnicodeToString(&ParameterPath, PARAMETERS_KEY);
109 
111 
114  QueryTable[0].EntryContext = &WritingSupport;
115 
118  ParameterPath.Buffer,
119  &QueryTable[0],
120  NULL,
121  NULL);
122 
123  FFSPrint((DBG_USER, "FFSQueryParameters: WritingSupport=%xh\n", WritingSupport));
124 
126 
129  QueryTable[0].EntryContext = &CheckingBitmap;
130 
133  ParameterPath.Buffer,
134  &QueryTable[0],
135  NULL,
136  NULL);
137 
138  FFSPrint((DBG_USER, "FFSQueryParameters: CheckingBitmap=%xh\n", CheckingBitmap));
139 
141 
145 
148  ParameterPath.Buffer,
149  &QueryTable[0],
150  NULL,
151  NULL);
152 
153  FFSPrint((DBG_USER, "FFSQueryParameters: PartitionNumber=%xh\n", PartitionNumber));
154 
155  {
156  if (WritingSupport)
157  {
159  }
160  else
161  {
163  }
164 
165  if (CheckingBitmap)
166  {
168  }
169  else
170  {
172  }
173 
174  if (PartitionNumber)
175  {
177  }
178 
179  }
180 
181  ExFreePool(ParameterPath.Buffer);
182 
183  return TRUE;
184 }
PFFS_GLOBAL FFSGlobal
Definition: init.c:22
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
Definition: rtlfuncs.h:4004
#define PARTITION_NUMBER
Definition: ffsdrv.h:109
#define TRUE
Definition: types.h:120
#define FFS_SUPPORT_WRITING
Definition: ffsdrv.h:405
USHORT MaximumLength
Definition: env_spec_w32.h:370
uint16_t * PWSTR
Definition: typedefs.h:54
#define PARAMETERS_KEY
Definition: ext2fs.h:142
LONG NTSTATUS
Definition: precomp.h:26
ULONG Flags
Definition: ffsdrv.h:395
_In_ ULONG _In_ ULONG PartitionNumber
Definition: iofuncs.h:2056
#define FFS_CHECKING_BITMAP
Definition: ffsdrv.h:406
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
#define WRITING_SUPPORT
Definition: ext2fs.h:146
smooth NULL
Definition: ftsmooth.c:416
ULONG PartitionNumber
Definition: ffsdrv.h:397
NTSTATUS RtlAppendUnicodeToString(IN PUNICODE_STRING Str1, IN PWSTR Str2)
Definition: string_lib.cpp:62
#define DBG_USER
Definition: ffsdrv.h:1032
__wchar_t WCHAR
Definition: xmlstorage.h:180
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
#define FFS_POOL_TAG
Definition: ffsdrv.h:817
#define RTL_REGISTRY_ABSOLUTE
Definition: nt_native.h:161
ClearFlag(Dirent->Flags, DIRENT_FLAG_NOT_PERSISTENT)
Status
Definition: gdiplustypes.h:24
#define FFSPrint(arg)
Definition: ffsdrv.h:1047
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
_In_ PUNICODE_STRING RegistryPath
Definition: wmip.h:27
#define RTL_QUERY_REGISTRY_REQUIRED
Definition: nt_native.h:132
#define CHECKING_BITMAP
Definition: ext2fs.h:147
#define ExFreePool(addr)
Definition: env_spec_w32.h:352
#define RTL_QUERY_REGISTRY_DIRECT
Definition: nt_native.h:144

Referenced by DriverEntry().

Variable Documentation

◆ FFSGlobal