ReactOS  0.4.14-dev-317-g96040ec
protos.h
Go to the documentation of this file.
1 // Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
3 // All rights reserved
4 // This file was released under the GPLv2 on June 2015.
6 /*************************************************************************
7 *
8 * File: protos.h
9 *
10 * Module: UDF File System Driver (Kernel mode execution only)
11 *
12 * Description:
13 * Contains the prototypes for functions in UDF FSD.
14 *
15 *************************************************************************/
16 
17 #ifndef _UDF_PROTOS_H_
18 #define _UDF_PROTOS_H_
19 
20 #include "mem.h"
21 
22 /*************************************************************************
23 * Prototypes for the file create.cpp
24 *************************************************************************/
25 extern NTSTATUS NTAPI UDFCreate(
26  IN PDEVICE_OBJECT DeviceObject, // the logical volume device object
27  IN PIRP Irp); // I/O Request Packet
28 
30  IN PtrUDFIrpContext PtrIrpContext,
31  IN PIRP Irp);
32 
34  IN PVCB Vcb, // volume control block
35  IN PFILE_OBJECT PtrNewFileObject, // I/O Mgr. created file object
36  OUT PtrUDFFCB* PtrNewFcb,
37  IN PUDF_FILE_INFO RelatedFileInfo,
38  IN PUDF_FILE_INFO NewFileInfo,
39  IN PUNICODE_STRING LocalPath,
40  IN PUNICODE_STRING CurName);
41 
42 extern NTSTATUS UDFOpenFile(
43  IN PVCB Vcb, // volume control block
44  IN PFILE_OBJECT PtrNewFileObject, // I/O Mgr. created file object
45  IN PtrUDFFCB PtrNewFcb);
46 
48  IN PtrUDFFCB PtrNewFcb, // FCB structure to be initialized
49  IN PVCB Vcb, // logical volume (VCB) pointer
50  IN PtrUDFObjectName PtrObjectName, // name of the object
51  IN ULONG Flags, // is this a file/directory, etc.
52  IN PFILE_OBJECT FileObject); // optional file object to be initialized
53 
54 /*************************************************************************
55 * Prototypes for the file cleanup.cpp
56 *************************************************************************/
58 PDEVICE_OBJECT DeviceObject, // the logical volume device object
59 PIRP Irp); // I/O Request Packet
60 
62 PtrUDFIrpContext PtrIrpContext,
63 PIRP Irp);
64 
66  IN PUDF_FILE_INFO fi,
67  IN ULONG TreeLength,
68  IN BOOLEAN VcbAcquired);
69 /*************************************************************************
70 * Prototypes for the file close.cpp
71 *************************************************************************/
72 extern NTSTATUS NTAPI UDFClose(
73 PDEVICE_OBJECT DeviceObject, // the logical volume device object
74 PIRP Irp); // I/O Request Packet
75 
77 PtrUDFIrpContext PtrIrpContext,
78 PIRP Irp);
79 
80 #define UDF_CLOSE_NTREQFCB_DELETED 0x01
81 #define UDF_CLOSE_FCB_DELETED 0x02
82 
84  IN PUDF_FILE_INFO fi,
85  IN ULONG TreeLength,
86  IN BOOLEAN VcbAcquired);
87 
89 
91 
94  IN BOOLEAN System);
95 
96 #define UDFCloseAllDelayedInDir(Vcb,FI) \
97  UDFCloseAllXXXDelayedInDir(Vcb,FI,FALSE);
98 
99 #define UDFCloseAllSystemDelayedInDir(Vcb,FI) \
100  UDFCloseAllXXXDelayedInDir(Vcb,FI,TRUE);
101 
103  PtrUDFFCB Fcb);
104 
105 //extern VOID UDFRemoveFromDelayedQueue(PtrUDFFCB Fcb);
106 #define UDFRemoveFromDelayedQueue(Fcb) \
107  UDFCloseAllDelayedInDir((Fcb)->Vcb, (Fcb)->FileInfo)
108 
109 #define UDFRemoveFromSystemDelayedQueue(Fcb) \
110  UDFCloseAllSystemDelayedInDir((Fcb)->Vcb, (Fcb)->FileInfo)
111 
112 /*************************************************************************
113 * Prototypes for the file dircntrl.cpp
114 *************************************************************************/
116 PDEVICE_OBJECT DeviceObject, // the logical volume device object
117 PIRP Irp); // I/O Request Packet
118 
120 PtrUDFIrpContext PtrIrpContext,
121 PIRP Irp);
122 
124 PtrUDFIrpContext PtrIrpContext,
125 PIRP Irp,
128 PtrUDFFCB Fcb,
129 PtrUDFCCB Ccb);
130 
132 PtrUDFIrpContext PtrIrpContext,
133 PIRP Irp,
136 PtrUDFFCB Fcb,
137 PtrUDFCCB Ccb);
138 
139 /*************************************************************************
140 * Prototypes for the file devcntrl.cpp
141 *************************************************************************/
143 PDEVICE_OBJECT DeviceObject, // the logical volume device object
144 PIRP Irp); // I/O Request Packet
145 
147 PtrUDFIrpContext PtrIrpContext,
148 PIRP Irp);
149 
151 PDEVICE_OBJECT PtrDeviceObject,
152 PIRP Irp,
153 PVOID Context);
154 
156 PVOID BufferPointer);
157 
158 /*************************************************************************
159 * Prototypes for the file fastio.cpp
160 *************************************************************************/
164 IN ULONG Length,
165 IN BOOLEAN Wait,
170 
172 IN PtrUDFFCB Fcb);
173 
176 IN BOOLEAN Wait,
180 
183 IN BOOLEAN Wait,
187 
190 
193 
196 IN BOOLEAN Wait);
197 
198 extern VOID NTAPI UDFRelLazyWrite(
199 IN PVOID Context);
200 
203 IN BOOLEAN Wait);
204 
205 extern VOID NTAPI UDFRelReadAhead(
206 IN PVOID Context);
207 
210 
211 // the remaining are only valid under NT Version 4.0 and later
212 #if(_WIN32_WINNT >= 0x0400)
213 
214 extern BOOLEAN NTAPI UDFFastIoQueryNetInfo(
216 IN BOOLEAN Wait,
220 
221 extern BOOLEAN NTAPI UDFFastIoMdlRead(
224 IN ULONG Length,
226 OUT PMDL* MdlChain,
229 
230 extern BOOLEAN UDFFastIoMdlReadComplete(
234 
235 extern BOOLEAN NTAPI UDFFastIoPrepareMdlWrite(
238 IN ULONG Length,
240 OUT PMDL* MdlChain,
243 
244 extern BOOLEAN NTAPI UDFFastIoMdlWriteComplete(
249 
250 extern NTSTATUS NTAPI UDFFastIoAcqModWrite(
255 
256 extern NTSTATUS NTAPI UDFFastIoRelModWrite(
260 
261 extern NTSTATUS NTAPI UDFFastIoAcqCcFlush(
264 
265 extern NTSTATUS NTAPI UDFFastIoRelCcFlush(
268 
269 extern BOOLEAN NTAPI UDFFastIoDeviceControl (
271 IN BOOLEAN Wait,
279 
280 extern BOOLEAN
281 NTAPI
285  IN ULONG Length,
286  IN BOOLEAN Wait,
287  IN ULONG LockKey,
288  IN PVOID Buffer,
291  );
292 
293 #endif // (_WIN32_WINNT >= 0x0400)
294 
295 /*************************************************************************
296 * Prototypes for the file fileinfo.cpp
297 *************************************************************************/
298 extern NTSTATUS NTAPI UDFFileInfo(
299 PDEVICE_OBJECT DeviceObject, // the logical volume device object
300 PIRP Irp); // I/O Request Packet
301 
303 PtrUDFIrpContext PtrIrpContext,
304 PIRP Irp);
305 
308  IN PtrUDFFCB Fcb,
309  IN PFILE_BASIC_INFORMATION PtrBuffer,
310  IN OUT LONG* PtrReturnedLength);
311 
313  IN PtrUDFFCB Fcb,
315  IN OUT PLONG PtrReturnedLength);
316 
318  IN PtrUDFFCB Fcb,
319  IN PFILE_STANDARD_INFORMATION PtrBuffer,
320  IN OUT PLONG PtrReturnedLength);
321 
323  PtrUDFIrpContext PtrIrpContext,
324  IN PtrUDFFCB Fcb,
325  IN PtrUDFCCB Ccb,
326  IN PFILE_INTERNAL_INFORMATION PtrBuffer,
327  IN OUT PLONG PtrReturnedLength);
328 
330  PtrUDFIrpContext PtrIrpContext,
331  IN PtrUDFFCB Fcb,
332  IN PFILE_EA_INFORMATION PtrBuffer,
333  IN OUT PLONG PtrReturnedLength);
334 
337  IN PFILE_NAME_INFORMATION PtrBuffer,
338  IN OUT PLONG PtrReturnedLength);
339 
341  IN PtrUDFFCB Fcb,
342  IN PFILE_NAME_INFORMATION PtrBuffer,
343  IN OUT PLONG PtrReturnedLength);
344 
347  IN PFILE_POSITION_INFORMATION PtrBuffer,
348  IN OUT PLONG PtrReturnedLength);
349 
351  IN PtrUDFFCB Fcb,
352  IN PFILE_STREAM_INFORMATION PtrBuffer,
353  IN OUT PLONG PtrReturnedLength);
354 
356  IN PtrUDFFCB Fcb,
357  IN PtrUDFCCB Ccb,
359  IN PFILE_BASIC_INFORMATION PtrBuffer);
360 
362  IN PVCB Vcb,
363  IN PtrUDFFCB Fcb,
364  IN BOOLEAN ForDel);
365 
367  IN PtrUDFFCB Fcb,
368  IN PtrUDFCCB Ccb,
369  IN PVCB Vcb,
371  IN BOOLEAN Delete);
372 
374  IN PtrUDFFCB Fcb,
375  IN PtrUDFCCB Ccb,
376  IN PVCB Vcb,
378  IN PtrUDFIrpContext PtrIrpContext,
379  IN PIRP Irp,
380  IN PFILE_ALLOCATION_INFORMATION PtrBuffer);
381 
382 extern NTSTATUS UDFSetEOF(
383  IN PIO_STACK_LOCATION PtrSp,
384  IN PtrUDFFCB Fcb,
385  IN PtrUDFCCB Ccb,
386  IN PVCB Vcb,
388  IN PIRP Irp,
390 
392  IN PtrUDFFCB Fcb,
393  IN PtrUDFCCB Ccb,
395  IN PFILE_RENAME_INFORMATION PtrBuffer);
396 
397 extern NTSTATUS UDFStoreFileId(
398  IN PVCB Vcb,
399  IN PtrUDFCCB Ccb,
400  IN PUDF_FILE_INFO fi,
401  IN LONGLONG Id);
402 
404  IN PVCB Vcb,
405  IN LONGLONG Id);
406 
407 #define UDFRemoveFileId__(Vcb, fi) \
408  UDFRemoveFileId(Vcb, UDFGetNTFileId(Vcb, fi, &(fi->Fcb->FCBName->ObjectName)));
409 
411  IN PVCB Vcb);
412 
414  IN PVCB Vcb,
415  IN LONGLONG Id,
416  OUT PUNICODE_STRING* FName,
417  OUT BOOLEAN* CaseSens);
418 
419 extern NTSTATUS UDFHardLink(
420  IN PIO_STACK_LOCATION PtrSp,
421  IN PtrUDFFCB Fcb1,
422  IN PtrUDFCCB Ccb1,
423  IN PFILE_OBJECT FileObject1, // Source File
424  IN PFILE_LINK_INFORMATION PtrBuffer);
425 /*************************************************************************
426 * Prototypes for the file flush.cpp
427 *************************************************************************/
428 extern NTSTATUS NTAPI UDFFlush(
429 PDEVICE_OBJECT DeviceObject, // the logical volume device object
430 PIRP Irp); // I/O Request Packet
431 
432 extern NTSTATUS UDFCommonFlush(
433 PtrUDFIrpContext PtrIrpContext,
434 PIRP Irp);
435 
436 extern ULONG UDFFlushAFile(
437 PtrUDFFCB Fcb,
438 PtrUDFCCB Ccb,
439 PIO_STATUS_BLOCK PtrIoStatus,
440 IN ULONG FlushFlags = 0);
441 
443 IN PVCB Vcb,
444 IN PUDF_FILE_INFO FI,
445 OUT PIO_STATUS_BLOCK PtrIoStatus,
446 ULONG FlushFlags = 0);
447 
449 PtrUDFIrpContext PtrIrpContext,
450 PIRP Irp,
451 PVCB Vcb,
452 ULONG FlushFlags = 0);
453 
455 PDEVICE_OBJECT PtrDeviceObject,
456 PIRP Irp,
457 PVOID Context);
458 
460 IN PVCB Vcb,
461 IN ULONG FlushFlags = 0);
462 
463 extern VOID UDFFlushTryBreak(
464 IN PVCB Vcb);
465 
466 /*************************************************************************
467 * Prototypes for the file fscntrl.cpp
468 *************************************************************************/
469 
472 PIRP Irp);
473 
475 PtrUDFIrpContext PtrIrpContext,
476 PIRP Irp); // I/O Request Packet
477 
479 PtrUDFIrpContext PtrIrpContext,
480 PIRP Irp);
481 
483 PtrUDFIrpContext PtrIrpContext,
484 PIRP Irp);
485 
487 
488 extern VOID UDFScanForDismountedVcb (IN PtrUDFIrpContext IrpContext);
489 
491 
493 
494 extern VOID UDFCleanupVCB(IN PVCB Vcb);
495 
497  IN PIRP Irp);
498 
499 extern NTSTATUS UDFIsVolumeDirty(IN PtrUDFIrpContext IrpContext,
500  IN PIRP Irp);
501 
502 extern NTSTATUS UDFGetStatistics(IN PtrUDFIrpContext IrpContext,
503  IN PIRP Irp);
504 
505 extern NTSTATUS UDFLockVolume (IN PtrUDFIrpContext IrpContext,
506  IN PIRP Irp,
507  IN ULONG PID = -1);
508 
509 extern NTSTATUS UDFUnlockVolume (IN PtrUDFIrpContext IrpContext,
510  IN PIRP Irp,
511  IN ULONG PID = -1);
512 
514  IN PIRP Irp);
515 
517  IN PIRP Irp);
518 
520  IN PIRP Irp);
521 
523  IN PIRP Irp,
524  IN ULONG Special);
525 
527  IN PIRP Irp);
528 
529 /*************************************************************************
530 * Prototypes for the file LockCtrl.cpp
531 *************************************************************************/
532 
534  IN PDEVICE_OBJECT DeviceObject, // the logical volume device object
535  IN PIRP Irp); // I/O Request Packet
536 
538  IN PtrUDFIrpContext PtrIrpContext,
539  IN PIRP Irp);
540 
541 extern BOOLEAN NTAPI UDFFastLock(
546  ULONG Key,
551 
557  ULONG Key,
560 
566 
570  ULONG Key,
573 
574 /*************************************************************************
575 * Prototypes for the file misc.cpp
576 *************************************************************************/
578 VOID);
579 
580 extern VOID UDFDestroyZones(
581 VOID);
582 
584 PIRP Irp); // the IRP sent to our dispatch routine
585 
586 extern long UDFExceptionFilter(
587 PtrUDFIrpContext PtrIrpContext,
588 PEXCEPTION_POINTERS PtrExceptionPointers);
589 
591 PtrUDFIrpContext PtrIrpContext,
592 PIRP Irp);
593 
594 extern VOID UDFLogEvent(
595 NTSTATUS UDFEventLogId, // the UDF private message id
596 NTSTATUS RC); // any NT error code we wish to log ...
597 
599 VOID);
600 
602 PtrUDFObjectName PtrObjectName);
603 
605 VOID);
606 
608 PtrUDFCCB Ccb);
609 
611 PtrUDFCCB Ccb);
612 
614 VOID);
615 
616 /*extern VOID __fastcall UDFReleaseFCB(
617 PtrUDFFCB Fcb);*/
618 __inline
619 VOID
621  PtrUDFFCB Fcb
622  )
623 {
624  ASSERT(Fcb);
625 
626  MyFreePool__(Fcb);
627 
628  return;
629 }
630 
632 PtrUDFFCB Fcb) ;
633 
635 PIRP Irp,
636 PDEVICE_OBJECT PtrTargetDeviceObject);
637 
639 PtrUDFIrpContext PtrIrpContext);
640 
641 extern NTSTATUS UDFPostRequest(
642 PtrUDFIrpContext PtrIrpContext,
643 PIRP Irp);
644 
646 VOID *Context); // actually an IRPContext structure
647 
649 PDEVICE_OBJECT PtrVolumeDeviceObject,
650 PDEVICE_OBJECT PtrTargetDeviceObject,
651 PVPB PtrVPB);
652 
653 extern VOID
655  PVCB Vcb,
656  BOOLEAN Update,
657  BOOLEAN UseCfg);
658 
660  IN PVCB Vcb,
661  IN PCWSTR Name,
662  IN ULONG DefValue = 0);
663 
664 extern ULONG
666  IN PVCB Vcb,
667  IN PCWSTR Name,
668  IN ULONG DefValue
669  );
670 
671 extern VOID UDFReleaseVCB(
672  PVCB Vcb);
673 
676  IN PCWSTR Name,
677  IN PUNICODE_STRING PtrVolumePath,
678  IN PCWSTR DefaultPath,
679  IN ULONG DefValue = 0);
680 
682  OUT PtrUDFIrpContext *IrpContext,
683  IN PtrUDFIrpContextLite IrpContextLite);
684 
686  OUT PtrUDFIrpContextLite *IrpContextLite,
687  IN PtrUDFIrpContext IrpContext,
688  IN PtrUDFFCB Fcb);
689 
690 
692  PDEVICE_OBJECT DeviceObject, // the logical volume device object
693  PIRP Irp // I/O Request Packet
694  );
695 
696 extern ULONG
699  );
700 
703  );
704 
707  );
708 
710  IN PVOID Context,
711  IN PWCACHE_ERROR_CONTEXT ErrorInfo
712  );
713 
714 /*************************************************************************
715 * Prototypes for the file NameSup.cpp
716 *************************************************************************/
717 
718 #include "namesup.h"
719 
720 /*************************************************************************
721 * Prototypes for the file Udf_info\physical.cpp
722 *************************************************************************/
723 #if 0
724 
725 extern OSSTATUS UDFTRead(PVOID _Vcb,
726  PVOID Buffer, // Target buffer
727  ULONG Length,
728  ULONG LBA,
730  ULONG Flags = 0);
731 
732 extern OSSTATUS UDFTWrite(IN PVOID _Vcb,
733  IN PVOID Buffer, // Target buffer
734  IN ULONG Length,
735  IN ULONG LBA,
736  OUT PULONG WrittenBytes,
737  IN ULONG Flags = 0);
738 
740  IN PVCB Vcb,
741  IN ULONG Lba,
742  IN ULONG BCount);
743 
744 extern OSSTATUS UDFReadDiscTrackInfo(PDEVICE_OBJECT DeviceObject, // the target device object
745  PVCB Vcb); // Volume Control Block for ^ DevObj
746 
747 extern OSSTATUS UDFReadAndProcessFullToc(PDEVICE_OBJECT DeviceObject, // the target device object
748  PVCB Vcb);
749 
750 extern OSSTATUS UDFUseStandard(PDEVICE_OBJECT DeviceObject, // the target device object
751  PVCB Vcb); // Volume control block fro this DevObj
752 
753 extern OSSTATUS UDFGetBlockSize(PDEVICE_OBJECT DeviceObject, // the target device object
754  PVCB Vcb); // Volume control block fro this DevObj
755 
756 extern OSSTATUS UDFGetDiskInfo(IN PDEVICE_OBJECT DeviceObject, // the target device object
757  IN PVCB Vcb); // Volume control block from this DevObj
758 
760 
762 
763 //extern OSSTATUS UDFPrepareForReadOperation(IN PVCB Vcb,
764 // IN ULONG Lba);
765 //#define UDFPrepareForReadOperation(a,b) (STATUS_SUCCESS)
766 
767 extern VOID UDFUpdateNWA(PVCB Vcb,
768  ULONG LBA,
769  ULONG BCount,
770  OSSTATUS RC);
771 
774  IN BOOLEAN Eject);
775 
776 // read physical sectors
777 /*OSSTATUS UDFReadSectors(IN PVCB Vcb,
778  IN BOOLEAN Translate,// Translate Logical to Physical
779  IN ULONG Lba,
780  IN ULONG BCount,
781  IN BOOLEAN Direct,
782  OUT PCHAR Buffer,
783  OUT PULONG ReadBytes);*/
784 #define UDFReadSectors(Vcb, Translate, Lba, BCount, Direct, Buffer, ReadBytes) \
785  (( WCacheIsInitialized__(&((Vcb)->FastCache)) && (KeGetCurrentIrql() < DISPATCH_LEVEL)) ? \
786  (WCacheReadBlocks__(&((Vcb)->FastCache), Vcb, Buffer, Lba, BCount, ReadBytes, Direct)) : \
787  (UDFTRead(Vcb, Buffer, ((SIZE_T)(BCount))<<((Vcb)->BlockSizeBits), Lba, ReadBytes, 0)))
788 
789 
790 // read data inside physical sector
792  IN BOOLEAN Translate, // Translate Logical to Physical
793  IN ULONG Lba,
794  IN ULONG i, // offset in sector
795  IN ULONG l, // transfer length
796  IN BOOLEAN Direct,
797  OUT PCHAR Buffer,
799 // read unaligned data
801  IN BOOLEAN Translate, // Translate Logical to Physical
803  IN ULONG Length,
804  IN BOOLEAN Direct,
805  OUT PCHAR Buffer,
807 
808 // write physical sectors
810  IN BOOLEAN Translate, // Translate Logical to Physical
811  IN ULONG Lba,
812  IN ULONG WBCount,
813  IN BOOLEAN Direct, // setting this flag delays flushing of given
814  // data to indefinite term
815  IN PCHAR Buffer,
816  OUT PULONG WrittenBytes);
817 // write directly to cached sector
819  IN BOOLEAN Translate, // Translate Logical to Physical
820  IN ULONG Lba,
821  IN ULONG i, // offset in sector
822  IN ULONG l, // transfer length
823  IN BOOLEAN Direct,
824  OUT PCHAR Buffer,
825  OUT PULONG WrittenBytes);
826 // write data at unaligned offset & length
828  IN BOOLEAN Translate, // Translate Logical to Physical
830  IN ULONG Length,
831  IN BOOLEAN Direct, // setting this flag delays flushing of given
832  // data to indefinite term
833  IN PCHAR Buffer,
834  OUT PULONG WrittenBytes);
835 
838  IN BOOLEAN Unlock);
839 #endif
840 /*************************************************************************
841 * Prototypes for the file Pnp.cpp
842 *************************************************************************/
843 NTSTATUS
844 UDFPnp (
846  IN PIRP Irp
847  );
848 
849 /*************************************************************************
850 * Prototypes for the file read.cpp
851 *************************************************************************/
852 extern OSSTATUS NTAPI UDFRead(
853  PDEVICE_OBJECT DeviceObject, // the logical volume device object
854  PIRP Irp); // I/O Request Packet
855 
857  IN PtrUDFIrpContext PtrIrpContext,
858  IN PIRP Irp,
859  IN PtrUDFFCB Fcb);
860 
862  IN PVOID Context,
863  IN PKEVENT Event);
864 
865 extern NTSTATUS UDFCommonRead(
866  PtrUDFIrpContext PtrIrpContext,
867  PIRP Irp);
868 
870  PtrUDFIrpContext PtrIrpContext,
871  PIRP Irp);
872 
874  PtrUDFIrpContext PtrIrpContext,
875  PIRP Irp,
876  BOOLEAN IsReadOperation,
877  uint32 Length);
878 
880  PtrUDFIrpContext PtrIrpContext,
881  PIRP Irp,
882  PVOID SystemBuffer);
883 
884 extern VOID UDFMdlComplete(
885  PtrUDFIrpContext PtrIrpContext,
886  PIRP Irp,
888  BOOLEAN ReadCompletion);
889 
890 /*************************************************************************
891 * Prototypes for the file SecurSup.cpp
892 *************************************************************************/
893 extern NTSTATUS UDFGetSecurity(
894 PDEVICE_OBJECT DeviceObject, // the logical volume device object
895 PIRP Irp); // I/O Request Packet
896 
897 extern NTSTATUS UDFSetSecurity(
898 PDEVICE_OBJECT DeviceObject, // the logical volume device object
899 PIRP Irp); // I/O Request Packet
900 
902 PtrUDFIrpContext PtrIrpContext,
903 PIRP Irp);
904 
906 PtrUDFIrpContext PtrIrpContext,
907 PIRP Irp);
908 
909 extern NTSTATUS
911  IN PVCB Vcb,
912  IN PtrUDFFCB Fcb,
913  IN PSECURITY_DESCRIPTOR* SecurityDesc);
914 
915 extern NTSTATUS
917  IN PVCB Vcb,
918  IN PFILE_OBJECT FileObject, // OPTIONAL
919  IN PtrUDFFCB Fcb,
921 
922 extern VOID
925  IN BOOLEAN AutoInherited);
926 
927 extern NTSTATUS
929  IN PVCB Vcb,
930  IN PtrUDFFCB Fcb,
931  IN PSECURITY_DESCRIPTOR* SecurityDesc);
932 
933 extern NTSTATUS
937  PtrUDFFCB Fcb,
938  PtrUDFCCB Ccb,
941 
942 extern NTSTATUS
946  PtrUDFFCB Fcb,
947  PtrUDFCCB Ccb,
950 
951 /*************************************************************************
952 * Prototypes for the file Shutdown.cpp
953 *************************************************************************/
954 extern NTSTATUS NTAPI UDFShutdown(
955 PDEVICE_OBJECT DeviceObject, // the logical volume device object
956 PIRP Irp); // I/O Request Packet
957 
959 PtrUDFIrpContext PtrIrpContext,
960 PIRP Irp);
961 
962 /*************************************************************************
963 * Prototypes for the file Udf_dbg.cpp
964 *************************************************************************/
965 extern BOOLEAN
968  IN BOOLEAN Wait,
969  ULONG BugCheckId,
970  ULONG Line);
971 
972 extern BOOLEAN
975  IN BOOLEAN Wait,
976  ULONG BugCheckId,
977  ULONG Line);
978 
979 extern BOOLEAN
982  IN BOOLEAN Wait,
983  ULONG BugCheckId,
984  ULONG Line);
985 
986 extern VOID
990  ULONG BugCheckId,
991  ULONG Line);
992 
993 extern VOID
997  ULONG BugCheckId,
998  ULONG Line);
999 
1000 extern NTSTATUS
1004  ULONG BugCheckId,
1005  ULONG Line);
1006 
1007 extern VOID
1011  ULONG BugCheckId,
1012  ULONG Line);
1013 
1014 extern BOOLEAN
1017  IN BOOLEAN Wait,
1018  ULONG BugCheckId,
1019  ULONG Line);
1020 
1021 extern LONG
1023  IN PLONG addr,
1024  ULONG BugCheckId,
1025  ULONG Line);
1026 
1027 extern LONG
1029  IN PLONG addr,
1030  ULONG BugCheckId,
1031  ULONG Line);
1032 
1033 extern LONG
1035  IN PLONG addr,
1036  IN LONG i,
1037  ULONG BugCheckId,
1038  ULONG Line);
1039 
1040 /*************************************************************************
1041 * Prototypes for the file UDFinit.cpp
1042 *************************************************************************/
1043 extern "C" NTSTATUS NTAPI DriverEntry(
1044 PDRIVER_OBJECT DriverObject, // created by the I/O sub-system
1045 PUNICODE_STRING RegistryPath); // path to the registry key
1046 
1048 PDRIVER_OBJECT DriverObject); // created by the I/O sub-system
1049 
1050 extern VOID NTAPI
1052  IN BOOLEAN FsActive);
1053 
1054 #ifndef WIN64
1055 //extern ptrFsRtlNotifyVolumeEvent FsRtlNotifyVolumeEvent;
1056 #endif //WIN64
1057 
1058 extern BOOLEAN
1060 
1061 extern BOOLEAN
1062 UDFGetInstallTime(PULONG iTime);
1063 
1064 extern BOOLEAN
1065 UDFGetTrialEnd(PULONG iTrial);
1066 
1067 /*************************************************************************
1068 * Prototypes for the file verify.cpp
1069 *************************************************************************/
1070 
1071 extern NTSTATUS UDFVerifyVcb (
1072  IN PtrUDFIrpContext IrpContext,
1073  IN PVCB Vcb
1074  );
1075 
1076 extern NTSTATUS UDFVerifyVolume (
1077  IN PIRP Irp);
1078 
1079 extern NTSTATUS UDFPerformVerify (
1080  IN PtrUDFIrpContext IrpContext,
1081  IN PIRP Irp,
1083  );
1084 
1086  IN PtrUDFIrpContext IrpContext,
1087  IN PVCB Vcb,
1088  IN BOOLEAN VcbAcquired
1089  );
1090 
1091 extern BOOLEAN UDFDismountVcb (
1092  IN PVCB Vcb,
1093  IN BOOLEAN VcbAcquired);
1094 
1095 extern NTSTATUS UDFCompareVcb(IN PVCB OldVcb,
1096  IN PVCB NewVcb,
1097  IN BOOLEAN PhysicalOnly);
1098 
1099 /*************************************************************************
1100 * Prototypes for the file VolInfo.cpp
1101 *************************************************************************/
1103  PIRP Irp);
1104 
1105 extern NTSTATUS UDFCommonQueryVolInfo (PtrUDFIrpContext PtrIrpContext,
1106  PIRP Irp);
1107 
1108 extern NTSTATUS NTAPI UDFSetVolInfo(PDEVICE_OBJECT DeviceObject, // the logical volume device object
1109  PIRP Irp); // I/O Request Packet
1110 
1111 extern NTSTATUS UDFCommonSetVolInfo(PtrUDFIrpContext PtrIrpContext,
1112  PIRP Irp);
1113 
1114 /*************************************************************************
1115 * Prototypes for the file write.cpp
1116 *************************************************************************/
1117 extern NTSTATUS NTAPI UDFWrite(
1118 PDEVICE_OBJECT DeviceObject, // the logical volume device object
1119 PIRP Irp); // I/O Request Packet
1120 
1121 extern NTSTATUS UDFCommonWrite(
1122 PtrUDFIrpContext PtrIrpContext,
1123 PIRP Irp);
1124 
1126 VOID *Context1, // Should be PtrIrpContext
1127 VOID *Context2); // Should be Irp
1128 
1129 extern VOID UDFPurgeCacheEx_(
1133 //#ifndef ALLOW_SPARSE
1134 BOOLEAN CanWait,
1135 //#endif ALLOW_SPARSE
1136 PVCB Vcb,
1138 );
1139 
1140 /*#ifdef ALLOW_SPARSE
1141  #define UDFZeroDataEx(NtReqFcb, Offset, Length, CanWait) \
1142  UDFPurgeCacheEx_(NtReqFcb, Offset, Length)
1143  #define UDFPurgeCacheEx(NtReqFcb, Offset, Length, CanWait) \
1144  UDFPurgeCacheEx_(NtReqFcb, Offset, Length)
1145 #else // ALLOW_SPARSE*/
1146  #define UDFZeroDataEx(NtReqFcb, Offset, Length, CanWait, Vcb, FileObject) \
1147  UDFPurgeCacheEx_(NtReqFcb, Offset, Length, CanWait, Vcb, FileObject)
1148  #define UDFPurgeCacheEx(NtReqFcb, Offset, Length, CanWait, Vcb, FileObject) \
1149  UDFPurgeCacheEx_(NtReqFcb, Offset, Length, CanWait, Vcb, FileObject)
1150 //#endif //ALLOW_SPARSE
1151 
1152 
1153 
1154 #endif // _UDF_PROTOS_H_
VOID UDFCloseResidual(IN PVCB Vcb)
Definition: fscntrl.cpp:1349
void UDFUpdateNWA(PVCB Vcb, uint32 LBA, uint32 BCount, OSSTATUS RC)
Definition: phys_lib.cpp:3826
signed char * PCHAR
Definition: retypes.h:7
_In_ PLARGE_INTEGER EndingOffset
Definition: iotypes.h:1554
BOOLEAN UDFGetInstallVersion(PULONG iVer)
ULONG_PTR ERESOURCE_THREAD
Definition: extypes.h:208
const uint16_t * PCWSTR
Definition: typedefs.h:55
#define IN
Definition: typedefs.h:38
VOID NTAPI UDFFastIoAcqCreateSec(IN PFILE_OBJECT FileObject)
Definition: fastio.cpp:342
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
Definition: fatprocs.h:2697
NTSTATUS NTAPI DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
Definition: battc.c:16
LONG UDFDebugInterlockedDecrement(IN PLONG addr, ULONG BugCheckId, ULONG Line)
VOID UDFInitializeIrpContextFromLite(OUT PtrUDFIrpContext *IrpContext, IN PtrUDFIrpContextLite IrpContextLite)
Definition: misc.cpp:2419
NTSTATUS NTAPI UDFFlushCompletion(PDEVICE_OBJECT PtrDeviceObject, PIRP Irp, PVOID Context)
Definition: flush.cpp:578
NTSTATUS UDFOpenFile(IN PVCB Vcb, IN PFILE_OBJECT PtrNewFileObject, IN PtrUDFFCB PtrNewFcb)
VOID UDFReadRegKeys(PVCB Vcb, BOOLEAN Update, BOOLEAN UseCfg)
Definition: misc.cpp:1780
NTSTATUS UDFInitializeFCB(IN PtrUDFFCB PtrNewFcb, IN PVCB Vcb, IN PtrUDFObjectName PtrObjectName, IN ULONG Flags, IN PFILE_OBJECT FileObject)
Definition: create.cpp:2510
VOID NTAPI UDFEjectReqWaiter(IN PVOID Context)
VOID NTAPI UDFFsNotification(IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN FsActive)
Definition: udfinit.cpp:779
BOOLEAN UDFCheckForDismount(IN PtrUDFIrpContext IrpContext, IN PVCB Vcb, IN BOOLEAN VcbAcquired)
Definition: verfysup.cpp:629
NTSTATUS UDFGetNetworkInformation(IN PtrUDFFCB Fcb, IN PFILE_NETWORK_OPEN_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:676
NTSTATUS UDFRename(IN PIO_STACK_LOCATION IrpSp, IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PFILE_OBJECT FileObject, IN PFILE_RENAME_INFORMATION PtrBuffer)
Definition: fileinfo.cpp:1961
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG IoControlCode
Definition: fltkernel.h:1383
NTSTATUS UDFCloseAllXXXDelayedInDir(IN PVCB Vcb, IN PUDF_FILE_INFO FileInfo, IN BOOLEAN System)
Definition: close.cpp:918
NTSTATUS NTAPI UDFDevIoctlCompletion(PDEVICE_OBJECT PtrDeviceObject, PIRP Irp, PVOID Context)
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG IN BOOLEAN OUT PIO_STATUS_BLOCK IoStatus
Definition: fatprocs.h:2650
NTSTATUS UDFInvalidateVolumes(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:2441
VOID UDFReleaseIrpContext(PtrUDFIrpContext PtrIrpContext)
Definition: misc.cpp:1086
_In_ PIRP Irp
Definition: csq.h:116
#define __fastcall
Definition: sync.c:41
enum _FAST_IO_POSSIBLE FAST_IO_POSSIBLE
VOID NTAPI UDFRelReadAhead(IN PVOID Context)
Definition: fastio.cpp:558
_In_ PLARGE_INTEGER _Out_ struct _ERESOURCE ** ResourceToRelease
Definition: iotypes.h:1555
NTSTATUS UDFQueueDelayedClose(PtrUDFIrpContext IrpContext, PtrUDFFCB Fcb)
Definition: close.cpp:1106
VOID NTAPI UDFDeferredWriteCallBack(VOID *Context1, VOID *Context2)
NTSTATUS UDFIsVolumeMounted(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:1552
NTSTATUS UDFCommonSetSecurity(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
NTSTATUS NTAPI UDFQueryDirectory(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PIO_STACK_LOCATION IrpSp, PFILE_OBJECT FileObject, PtrUDFFCB Fcb, PtrUDFCCB Ccb)
Definition: dircntrl.cpp:216
VOID NTAPI UDFRelLazyWrite(IN PVOID Context)
Definition: fastio.cpp:472
unsigned int uint32
Definition: types.h:32
OSSTATUS UDFReadAndProcessFullToc(PDEVICE_OBJECT DeviceObject, PVCB Vcb)
Definition: phys_lib.cpp:2243
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _Outptr_ PMDL * MdlChain
Definition: fsrtlfuncs.h:46
NTSTATUS NTAPI UDFMountVolume(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
BOOLEAN UDFDebugAcquireResourceSharedLite(IN PERESOURCE Resource, IN BOOLEAN Wait, ULONG BugCheckId, ULONG Line)
NTSTATUS UDFWriteSecurity(IN PVCB Vcb, IN PtrUDFFCB Fcb, IN PSECURITY_DESCRIPTOR *SecurityDesc)
Definition: secursup.cpp:796
NTSTATUS NTAPI UDFFSControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: fscntrl.cpp:39
NTSTATUS NTAPI UDFUserFsCtrlRequest(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: fscntrl.cpp:178
NTSTATUS NTAPI UDFDirControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: dircntrl.cpp:57
LONG NTSTATUS
Definition: precomp.h:26
OSSTATUS UDFWriteData(IN PVCB Vcb, IN BOOLEAN Translate, IN int64 Offset, IN SIZE_T Length, IN BOOLEAN Direct, IN int8 *Buffer, OUT PSIZE_T WrittenBytes)
Definition: phys_lib.cpp:4141
NTSTATUS UDFVerifyVolume(IN PIRP Irp)
Definition: verfysup.cpp:158
VOID __fastcall UDFReleaseObjectName(PtrUDFObjectName PtrObjectName)
Definition: misc.cpp:670
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG _In_ ULONG OutputBufferLength
Definition: fltkernel.h:1374
NTSTATUS UDFStoreFileId(IN PVCB Vcb, IN PtrUDFCCB Ccb, IN PUDF_FILE_INFO fi, IN LONGLONG Id)
Definition: fileinfo.cpp:2417
PtrUDFCCB UDFAllocateCCB(VOID)
Definition: misc.cpp:707
BOOLEAN NTAPI UDFFastIoQueryStdInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_STANDARD_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.cpp:250
Definition: cdstruc.h:504
NTSTATUS UDFSetSecurity(PDEVICE_OBJECT DeviceObject, PIRP Irp)
VOID UDFReleaseVCB(PVCB Vcb)
Definition: misc.cpp:2137
VOID UDFFlushTryBreak(IN PVCB Vcb)
Definition: flush.cpp:625
BOOLEAN NTAPI UDFFastUnlockSingle(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, PEPROCESS ProcessId, ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: lockctrl.cpp:309
OSSTATUS UDFReadData(IN PVCB Vcb, IN BOOLEAN Translate, IN LONGLONG Offset, IN ULONG Length, IN BOOLEAN Direct, OUT PCHAR Buffer, OUT PSIZE_T ReadBytes)
BOOLEAN UDFGetTrialEnd(PULONG iTrial)
NTSTATUS UDFIsPathnameValid(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:1660
NTSTATUS UDFCheckAccessRights(PFILE_OBJECT FileObject, PACCESS_STATE AccessState, PtrUDFFCB Fcb, PtrUDFCCB Ccb, ACCESS_MASK DesiredAccess, USHORT ShareAccess)
Definition: secursup.cpp:927
ULONG UDFFlushLogicalVolume(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVCB Vcb, ULONG FlushFlags=0)
NTSTATUS UDFCommonSetVolInfo(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: volinfo.cpp:663
VOID __fastcall UDFCleanUpFCB(PtrUDFFCB Fcb)
Definition: misc.cpp:908
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
Definition: create.c:4157
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG IN BOOLEAN CheckForReadOperation
Definition: fatprocs.h:2650
CHAR InputBuffer[80]
Definition: conmgr.c:33
NTSTATUS NTAPI UDFCommonFSControl(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: fscntrl.cpp:103
VOID UDFCloseAllDelayed(PVCB Vcb)
DWORD Id
NTSTATUS UDFGetOpenParamsByFileId(IN PVCB Vcb, IN LONGLONG Id, OUT PUNICODE_STRING *FName, OUT BOOLEAN *CaseSens)
Definition: fileinfo.cpp:2472
NTSTATUS UDFInitializeVCB(PDEVICE_OBJECT PtrVolumeDeviceObject, PDEVICE_OBJECT PtrTargetDeviceObject, PVPB PtrVPB)
ULONG UDFFlushADirectory(IN PVCB Vcb, IN PUDF_FILE_INFO FI, OUT PIO_STATUS_BLOCK PtrIoStatus, ULONG FlushFlags=0)
NTSTATUS UDFGetVolumeBitmap(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:2069
WORD unused[29]
Definition: crypt.c:1155
NTSTATUS UDFAssignAcl(IN PVCB Vcb, IN PFILE_OBJECT FileObject, IN PtrUDFFCB Fcb, IN PtrUDFNTRequiredFCB NtReqFcb)
Definition: secursup.cpp:706
ULONG UDFIsResourceAcquired(IN PERESOURCE Resource)
Definition: misc.cpp:2518
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
NTSTATUS UDFGetFullNameInformation(IN PFILE_OBJECT FileObject, IN PFILE_NAME_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:836
__inline VOID UDFReleaseFCB(PtrUDFFCB Fcb)
Definition: protos.h:620
NTSTATUS UDFVerifyVcb(IN PtrUDFIrpContext IrpContext, IN PVCB Vcb)
Definition: verfysup.cpp:37
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
NTSTATUS UDFCommonRead(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: read.cpp:229
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
BOOLEAN UDFDebugAcquireSharedStarveExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait, ULONG BugCheckId, ULONG Line)
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:848
BOOLEAN NTAPI UDFFastIoCheckIfPossible(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.cpp:42
BOOLEAN NTAPI UDFAcqLazyWrite(IN PVOID Context, IN BOOLEAN Wait)
Definition: fastio.cpp:423
BOOLEAN NTAPI UDFFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_BASIC_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.cpp:159
long LONG
Definition: pedump.c:60
#define OSSTATUS
Definition: env_spec_w32.h:57
PtrUDFIrpContext UDFAllocateIrpContext(PIRP Irp, PDEVICE_OBJECT PtrTargetDeviceObject)
Definition: misc.cpp:985
NTSTATUS UDFSetAccessRights(PFILE_OBJECT FileObject, PACCESS_STATE AccessState, PtrUDFFCB Fcb, PtrUDFCCB Ccb, ACCESS_MASK DesiredAccess, USHORT ShareAccess)
Definition: secursup.cpp:1049
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
Definition: fatprocs.h:2697
BOOLEAN UDFFlushIsBreaking(IN PVCB Vcb, IN ULONG FlushFlags=0)
Definition: flush.cpp:605
NTSTATUS UDFUnlockVolume(IN PtrUDFIrpContext IrpContext, IN PIRP Irp, IN ULONG PID=-1)
Definition: fscntrl.cpp:1859
NTSTATUS UDFPostRequest(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
VOID UDFStopEjectWaiter(PVCB Vcb)
Definition: phys_eject.cpp:673
OSSTATUS NTAPI UDFRead(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: read.cpp:53
BOOLEAN NTAPI UDFFastLock(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, PEPROCESS ProcessId, ULONG Key, BOOLEAN FailImmediately, BOOLEAN ExclusiveLock, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: lockctrl.cpp:205
VOID UDFScanForDismountedVcb(IN PtrUDFIrpContext IrpContext)
Definition: fscntrl.cpp:1510
VOID NTAPI UDFDelayedClose(PVOID unused=NULL)
Definition: close.cpp:690
NTSTATUS UDFHardLink(IN PIO_STACK_LOCATION PtrSp, IN PtrUDFFCB Fcb1, IN PtrUDFCCB Ccb1, IN PFILE_OBJECT FileObject1, IN PFILE_LINK_INFORMATION PtrBuffer)
Definition: fileinfo.cpp:2494
BOOLEAN UDFDebugAcquireSharedWaitForExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait, ULONG BugCheckId, ULONG Line)
BOOLEAN UDFAcquireResourceSharedWithCheck(IN PERESOURCE Resource)
Definition: misc.cpp:2556
NTSTATUS NTAPI UDFHandleQueryPath(PVOID BufferPointer)
unsigned char BOOLEAN
NTSTATUS NTAPI UDFLockControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: lockctrl.cpp:38
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS UDFGetRetrievalPointers(IN PtrUDFIrpContext IrpContext, IN PIRP Irp, IN ULONG Special)
Definition: fscntrl.cpp:2205
NTSTATUS UDFPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pnp.cpp:81
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
BOOLEAN NTAPI UDFFastUnlockAll(IN PFILE_OBJECT FileObject, PEPROCESS ProcessId, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: lockctrl.cpp:404
Definition: bufpool.h:45
_Must_inspect_result_ __drv_aliasesMem _In_ PDEVICE_OBJECT _In_opt_ PVOID _In_ ULONG _Out_opt_ PVOID OutputBuffer
Definition: iofuncs.h:713
LONG UDFDebugInterlockedExchangeAdd(IN PLONG addr, IN LONG i, ULONG BugCheckId, ULONG Line)
OSSTATUS UDFTWrite(IN void *_Vcb, IN void *Buffer, IN SIZE_T Length, IN uint32 LBA, OUT PSIZE_T WrittenBytes, IN uint32 Flags)
Definition: phys_lib.cpp:453
BOOLEAN UDFAcquireResourceExclusiveWithCheck(IN PERESOURCE Resource)
Definition: misc.cpp:2529
_Inout_ PFILE_OBJECT FileObject
Definition: cdprocs.h:593
VOID UDFDebugDeleteResource(IN PERESOURCE Resource, IN ERESOURCE_THREAD ResourceThreadId, ULONG BugCheckId, ULONG Line)
NTSTATUS UDFCommonShutdown(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: shutdown.cpp:115
NTSTATUS UDFExceptionHandler(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: misc.cpp:358
long UDFExceptionFilter(PtrUDFIrpContext PtrIrpContext, PEXCEPTION_POINTERS PtrExceptionPointers)
Definition: misc.cpp:265
static NTSTATUS ReadBytes(IN PDEVICE_OBJECT LowerDevice, OUT PUCHAR Buffer, IN ULONG BufferSize, OUT PULONG_PTR FilledBytes)
Definition: detect.c:67
NTSTATUS NTAPI UDFClose(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: close.cpp:62
r l[0]
Definition: byte_order.h:167
NTSTATUS NTAPI UDFCommonDirControl(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: dircntrl.cpp:127
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG LockKey
Definition: fatprocs.h:2650
int64_t LONGLONG
Definition: typedefs.h:66
NTSTATUS UDFGetSecurity(PDEVICE_OBJECT DeviceObject, PIRP Irp)
LONG UDFDebugInterlockedIncrement(IN PLONG addr, ULONG BugCheckId, ULONG Line)
NTSTATUS UDFCommonCleanup(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: cleanup.cpp:126
NTSTATUS UDFGetInternalInformation(PtrUDFIrpContext PtrIrpContext, IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PFILE_INTERNAL_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:747
BOOLEAN NTAPI UDFFastIoCopyWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, IN PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: fastio.cpp:1160
NTSTATUS NTAPI UDFNotifyChangeDirectory(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PIO_STACK_LOCATION IrpSp, PFILE_OBJECT FileObject, PtrUDFFCB Fcb, PtrUDFCCB Ccb)
Definition: dircntrl.cpp:683
BOOLEAN UDFGetInstallTime(PULONG iTime)
NTSTATUS UDFGetStandardInformation(IN PtrUDFFCB Fcb, IN PFILE_STANDARD_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
ULONG UDFGetRegParameter(IN PVCB Vcb, IN PCWSTR Name, IN ULONG DefValue=0)
Definition: misc.cpp:1986
NTSTATUS UDFIsVolumeDirty(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:2367
NTSTATUS UDFGetAltNameInformation(IN PtrUDFFCB Fcb, IN PFILE_NAME_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:869
NTSTATUS UDFGetEaInformation(PtrUDFIrpContext PtrIrpContext, IN PtrUDFFCB Fcb, IN PFILE_EA_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:801
VOID UDFDebugReleaseResourceForThreadLite(IN PERESOURCE Resource, IN ERESOURCE_THREAD ResourceThreadId, ULONG BugCheckId, ULONG Line)
NTSTATUS UDFDismountVolume(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:1942
#define Vcb
Definition: cdprocs.h:1425
NTSTATUS UDFGetPositionInformation(IN PFILE_OBJECT FileObject, IN PFILE_POSITION_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:910
BOOLEAN UDFDebugAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait, ULONG BugCheckId, ULONG Line)
#define MyFreePool__(addr)
Definition: mem_tools.h:152
_In_ BOOLEAN FsActive
Definition: iotypes.h:7004
NTSTATUS NTAPI UDFQueryVolInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: volinfo.cpp:86
VOID UDFDestroyZones(VOID)
Definition: misc.cpp:177
OSSTATUS UDFReadInSector(IN PVCB Vcb, IN BOOLEAN Translate, IN ULONG Lba, IN ULONG i, IN ULONG l, IN BOOLEAN Direct, OUT PCHAR Buffer, OUT PSIZE_T ReadBytes)
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
VOID UDFReleaseFileIdCache(IN PVCB Vcb)
Definition: fileinfo.cpp:2456
VOID UDFDebugConvertExclusiveToSharedLite(IN PERESOURCE Resource, IN ERESOURCE_THREAD ResourceThreadId, ULONG BugCheckId, ULONG Line)
NTSTATUS NTAPI UDFCommonLockControl(IN PtrUDFIrpContext PtrIrpContext, IN PIRP Irp)
Definition: lockctrl.cpp:105
ULONG UDFFlushAFile(PtrUDFFCB Fcb, PtrUDFCCB Ccb, PIO_STATUS_BLOCK PtrIoStatus, IN ULONG FlushFlags=0)
* PFILE_OBJECT
Definition: iotypes.h:1955
OSSTATUS UDFWriteSectors(IN PVCB Vcb, IN BOOLEAN Translate, IN uint32 Lba, IN uint32 BCount, IN BOOLEAN Direct, IN int8 *Buffer, OUT PSIZE_T WrittenBytes)
Definition: phys_lib.cpp:4012
BOOLEAN UDFDismountVcb(IN PVCB Vcb, IN BOOLEAN VcbAcquired)
Definition: verfysup.cpp:727
_In_ ERESOURCE_THREAD ResourceThreadId
Definition: exfuncs.h:844
ULONG UDFRegCheckParameterValue(IN PUNICODE_STRING RegistryPath, IN PCWSTR Name, IN PUNICODE_STRING PtrVolumePath, IN PCWSTR DefaultPath, IN ULONG DefValue=0)
Definition: misc.cpp:2225
NTSTATUS UDFCompleteMount(IN PVCB Vcb)
Definition: fscntrl.cpp:913
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
Definition: sefuncs.h:414
Definition: ncftp.h:79
NTSTATUS UDFCommonCreate(IN PtrUDFIrpContext PtrIrpContext, IN PIRP Irp)
#define NtReqFcb
VOID NTAPI UDFStackOverflowRead(IN PVOID Context, IN PKEVENT Event)
Definition: read.cpp:185
GLenum const GLvoid * addr
Definition: glext.h:9621
NTSTATUS UDFCommonFileInfo(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: fileinfo.cpp:114
NTSTATUS UDFPerformVerify(IN PtrUDFIrpContext IrpContext, IN PIRP Irp, IN PDEVICE_OBJECT DeviceToVerify)
Definition: verfysup.cpp:472
NTSTATUS NTAPI UDFShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: shutdown.cpp:47
NTSTATUS UDFCommonClose(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: close.cpp:137
NTSTATUS NTAPI UDFCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
Definition: cdprocs.h:593
BOOLEAN NTAPI UDFAcqReadAhead(IN PVOID Context, IN BOOLEAN Wait)
Definition: fastio.cpp:514
PtrUDFFCB UDFAllocateFCB(VOID)
Definition: misc.cpp:854
OSSTATUS UDFResetDeviceDriver(IN PVCB Vcb, IN PDEVICE_OBJECT TargetDeviceObject, IN BOOLEAN Unlock)
Definition: phys_lib.cpp:4199
VOID NTAPI UDFFastIoRelCreateSec(IN PFILE_OBJECT FileObject)
Definition: fastio.cpp:387
NTSTATUS UDFStartEjectWaiter(IN PVCB Vcb)
Definition: fscntrl.cpp:850
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG InputBufferLength
Definition: fltkernel.h:1372
NTSTATUS NTAPI UDFFileInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: fileinfo.cpp:46
NTSTATUS UDFInitializeIrpContextLite(OUT PtrUDFIrpContextLite *IrpContextLite, IN PtrUDFIrpContext IrpContext, IN PtrUDFFCB Fcb)
Definition: misc.cpp:2457
NTSTATUS UDFSetDispositionInformation(IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PVCB Vcb, IN PFILE_OBJECT FileObject, IN BOOLEAN Delete)
Definition: fileinfo.cpp:1340
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
Definition: tdikrnl.h:1094
OSSTATUS UDFTRead(IN void *_Vcb, IN void *Buffer, IN SIZE_T Length, IN uint32 LBA, OUT PSIZE_T ReadBytes, IN uint32 Flags)
Definition: phys_lib.cpp:596
NTSTATUS UDFPostStackOverflowRead(IN PtrUDFIrpContext PtrIrpContext, IN PIRP Irp, IN PtrUDFFCB Fcb)
Definition: read.cpp:118
NTSTATUS UDFLockVolume(IN PtrUDFIrpContext IrpContext, IN PIRP Irp, IN ULONG PID=-1)
Definition: fscntrl.cpp:1724
NTSTATUS UDFRemoveFileId(IN PVCB Vcb, IN LONGLONG Id)
Definition: fileinfo.cpp:2442
NTSTATUS NTAPI UDFSetVolInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: volinfo.cpp:614
NTSTATUS UDFSetBasicInformation(IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PFILE_OBJECT FileObject, IN PFILE_BASIC_INFORMATION PtrBuffer)
Definition: fileinfo.cpp:1013
VOID __fastcall UDFReleaseCCB(PtrUDFCCB Ccb)
Definition: misc.cpp:768
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
PVOID UDFGetCallersBuffer(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: read.cpp:871
NTSTATUS NTAPI UDFCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: cleanup.cpp:43
BOOLEAN __fastcall UDFIsIrpTopLevel(PIRP Irp)
Definition: misc.cpp:228
NTSTATUS UDFDebugInitializeResourceLite(IN PERESOURCE Resource, IN ERESOURCE_THREAD ResourceThreadId, ULONG BugCheckId, ULONG Line)
NTSTATUS UDFGetStatistics(IN PtrUDFIrpContext IrpContext, IN PIRP Irp)
Definition: fscntrl.cpp:1601
NTSTATUS UDFGetBasicInformation(IN PFILE_OBJECT FileObject, IN PtrUDFFCB Fcb, IN PFILE_BASIC_INFORMATION PtrBuffer, IN OUT LONG *PtrReturnedLength)
Definition: fileinfo.cpp:532
unsigned short USHORT
Definition: pedump.c:61
NTSTATUS NTAPI UDFDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: devcntrl.cpp:81
_In_ PFCB _In_ LONGLONG FileOffset
Definition: cdprocs.h:151
PtrUDFObjectName UDFAllocateObjectName(VOID)
Definition: misc.cpp:611
_In_ PIO_STACK_LOCATION IrpSp
Definition: create.c:4157
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK DesiredAccess
Definition: create.c:4157
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
Definition: tdikrnl.h:1094
NTSTATUS UDFCommonFlush(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: flush.cpp:110
ULONG UDFCleanUpFcbChain(IN PVCB Vcb, IN PUDF_FILE_INFO fi, IN ULONG TreeLength, IN BOOLEAN VcbAcquired)
Definition: close.cpp:400
unsigned int * PULONG
Definition: retypes.h:1
NTSTATUS UDFCompareVcb(IN PVCB OldVcb, IN PVCB NewVcb, IN BOOLEAN PhysicalOnly)
Definition: verfysup.cpp:849
VOID UDFMdlComplete(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PIO_STACK_LOCATION IrpSp, BOOLEAN ReadCompletion)
Definition: read.cpp:1117
NTSTATUS UDFCommonWrite(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: write.cpp:112
NTSTATUS UDFSetAllocationInformation(IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PVCB Vcb, IN PFILE_OBJECT FileObject, IN PtrUDFIrpContext PtrIrpContext, IN PIRP Irp, IN PFILE_ALLOCATION_INFORMATION PtrBuffer)
Definition: fileinfo.cpp:1454
NTSTATUS NTAPI UDFCommonDeviceControl(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: devcntrl.cpp:149
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
Definition: fatprocs.h:2697
NTSTATUS NTAPI UDFQuerySetEA(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: misc.cpp:2484
OSSTATUS UDFUseStandard(PDEVICE_OBJECT DeviceObject, PVCB Vcb)
Definition: phys_lib.cpp:2386
NTSTATUS UDFWCacheErrorHandler(IN PVOID Context, IN PWCACHE_ERROR_CONTEXT ErrorInfo)
Definition: misc.cpp:2583
VOID NTAPI UDFDriverUnload(IN PDRIVER_OBJECT DriverObject)
Definition: unload.cpp:10
VOID __fastcall UDFCleanUpCCB(PtrUDFCCB Ccb)
Definition: misc.cpp:805
NTSTATUS UDFGetFileStreamInformation(IN PtrUDFFCB Fcb, IN PFILE_STREAM_INFORMATION PtrBuffer, IN OUT PLONG PtrReturnedLength)
Definition: fileinfo.cpp:930
OSSTATUS UDFPrepareForWriteOperation(IN PVCB Vcb, IN uint32 Lba, IN uint32 BCount)
Definition: phys_lib.cpp:893
Definition: iotypes.h:166
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
OSSTATUS UDFWriteInSector(IN PVCB Vcb, IN BOOLEAN Translate, IN uint32 Lba, IN uint32 i, IN uint32 l, IN BOOLEAN Direct, OUT int8 *Buffer, OUT PSIZE_T WrittenBytes)
Definition: phys_lib.cpp:4063
NTSTATUS UDFUnlockCallersBuffer(PtrUDFIrpContext PtrIrpContext, PIRP Irp, PVOID SystemBuffer)
Definition: read.cpp:1034
_In_ PUNICODE_STRING RegistryPath
Definition: wmip.h:27
VOID UDFPurgeCacheEx_(PtrUDFNTRequiredFCB NtReqFcb, LONGLONG Offset, LONGLONG Length, BOOLEAN CanWait, PVCB Vcb, PFILE_OBJECT FileObject)
Definition: write.cpp:1070
NTSTATUS UDFReadSecurity(IN PVCB Vcb, IN PtrUDFFCB Fcb, IN PSECURITY_DESCRIPTOR *SecurityDesc)
Definition: secursup.cpp:420
OSSTATUS UDFReadDiscTrackInfo(PDEVICE_OBJECT DeviceObject, PVCB Vcb)
Definition: phys_lib.cpp:1635
VOID UDFLogEvent(NTSTATUS UDFEventLogId, NTSTATUS RC)
Definition: misc.cpp:575
NTSTATUS NTAPI UDFFlush(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: flush.cpp:42
NTSTATUS UDFCloseFileInfoChain(IN PVCB Vcb, IN PUDF_FILE_INFO fi, IN ULONG TreeLength, IN BOOLEAN VcbAcquired)
Definition: cleanup.cpp:696
NTSTATUS UDFCommonQueryVolInfo(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
Definition: volinfo.cpp:149
OSSTATUS UDFGetDiskInfo(IN PDEVICE_OBJECT DeviceObject, IN PVCB Vcb)
Definition: phys_lib.cpp:3050
NTSTATUS NTAPI UDFWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: write.cpp:42
_In_ PFCB Fcb
Definition: cdprocs.h:151
OSSTATUS UDFDoDismountSequence(IN PVCB Vcb, IN PPREVENT_MEDIA_REMOVAL_USER_IN Buf, IN BOOLEAN Eject)
Definition: phys_eject.cpp:704
NTSTATUS UDFSetEOF(IN PIO_STACK_LOCATION PtrSp, IN PtrUDFFCB Fcb, IN PtrUDFCCB Ccb, IN PVCB Vcb, IN PFILE_OBJECT FileObject, IN PIRP Irp, IN PFILE_END_OF_FILE_INFORMATION PtrBuffer)
Definition: fileinfo.cpp:1627
IN OUT PVCB IN PDEVICE_OBJECT TargetDeviceObject
Definition: fatprocs.h:1664
NTSTATUS UDFFirstOpenFile(IN PVCB Vcb, IN PFILE_OBJECT PtrNewFileObject, OUT PtrUDFFCB *PtrNewFcb, IN PUDF_FILE_INFO RelatedFileInfo, IN PUDF_FILE_INFO NewFileInfo, IN PUNICODE_STRING LocalPath, IN PUNICODE_STRING CurName)
Definition: create.cpp:2274
NTSTATUS UDFMarkStreamsForDeletion(IN PVCB Vcb, IN PtrUDFFCB Fcb, IN BOOLEAN ForDel)
Definition: fileinfo.cpp:1137
signed int * PLONG
Definition: retypes.h:5
BOOL Delete(LPCTSTR ServiceName)
Definition: delete.c:12
VOID UDFCleanupVCB(IN PVCB Vcb)
Definition: fscntrl.cpp:1428
FAST_IO_POSSIBLE NTAPI UDFIsFastIoPossible(IN PtrUDFFCB Fcb)
Definition: fastio.cpp:118
NTSTATUS UDFCommonGetSecurity(PtrUDFIrpContext PtrIrpContext, PIRP Irp)
VOID UDFDeassignAcl(IN PtrUDFNTRequiredFCB NtReqFcb, IN BOOLEAN AutoInherited)
Definition: secursup.cpp:772
ULONG ACCESS_MASK
Definition: nt_native.h:40
BOOLEAN NTAPI UDFFastUnlockAllByKey(IN PFILE_OBJECT FileObject, PEPROCESS ProcessId, ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Definition: lockctrl.cpp:494
_Inout_ PIRP _In_ PDEVICE_OBJECT DeviceToVerify
Definition: cdprocs.h:1417
ULONG UDFGetCfgParameter(IN PVCB Vcb, IN PCWSTR Name, IN ULONG DefValue)
Definition: misc.cpp:2000
OSSTATUS UDFGetBlockSize(IN PDEVICE_OBJECT DeviceObject, IN PVCB Vcb)
Definition: phys_lib.cpp:2687
NTSTATUS UDFLockCallersBuffer(PtrUDFIrpContext PtrIrpContext, PIRP Irp, BOOLEAN IsReadOperation, uint32 Length)
Definition: read.cpp:936
VOID NTAPI UDFInitializeFunctionPointers(PDRIVER_OBJECT DriverObject)
Definition: udfinit.cpp:444
VOID NTAPI UDFCommonDispatch(VOID *Context)
IN BOOLEAN Wait
Definition: fatprocs.h:1529
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
NTSTATUS UDFInitializeZones(VOID)
Definition: misc.cpp:41