|
#define | INLINE __inline |
|
#define | Min(a, b) ((a) < (b) ? (a) : (b)) |
|
#define | Max(a, b) ((a) > (b) ? (a) : (b)) |
|
#define | TAG_CCB 'ccdC' |
|
#define | TAG_CDROM_TOC 'ctdC' |
|
#define | TAG_DIRENT_NAME 'nddC' |
|
#define | TAG_ENUM_EXPRESSION 'eedC' |
|
#define | TAG_FCB_DATA 'dfdC' |
|
#define | TAG_FCB_INDEX 'ifdC' |
|
#define | TAG_FCB_NONPAGED 'nfdC' |
|
#define | TAG_FCB_TABLE 'tfdC' |
|
#define | TAG_FILE_NAME 'nFdC' |
|
#define | TAG_GEN_SHORT_NAME 'sgdC' |
|
#define | TAG_IO_BUFFER 'fbdC' |
|
#define | TAG_IO_CONTEXT 'oidC' |
|
#define | TAG_IRP_CONTEXT 'cidC' |
|
#define | TAG_IRP_CONTEXT_LITE 'lidC' |
|
#define | TAG_MCB_ARRAY 'amdC' |
|
#define | TAG_PATH_ENTRY_NAME 'nPdC' |
|
#define | TAG_PREFIX_ENTRY 'epdC' |
|
#define | TAG_PREFIX_NAME 'npdC' |
|
#define | TAG_SPANNING_PATH_TABLE 'psdC' |
|
#define | TAG_UPCASE_NAME 'nudC' |
|
#define | TAG_VOL_DESC 'dvdC' |
|
#define | TAG_VPB 'pvdC' |
|
#define | CdIllegalFcbAccess(IC, T, DA) |
|
#define | CdUnpinData(IC, B) if (*(B) != NULL) { CcUnpinData( *(B) ); *(B) = NULL; } |
|
#define | CdMapUserBuffer(IC, UB) |
|
#define | CdLockUserBuffer(IC, BL, OP) |
|
#define | CdInitializeFileContext(IC, FC) |
|
#define | CdInitializeDirent(IC, D) RtlZeroMemory( D, sizeof( DIRENT )) |
|
#define | CdInitializeDirContext(IC, DC) RtlZeroMemory( DC, sizeof( DIRENT_ENUM_CONTEXT )) |
|
#define | CdCleanupDirent(IC, D) |
|
#define | CdCleanupDirContext(IC, DC) CdUnpinData( (IC), &(DC)->Bcb ) |
|
#define | CdLookupInitialFileDirent(IC, F, FC, DO) |
|
#define | CdInitializeCompoundPathEntry(IC, CP) RtlZeroMemory( CP, sizeof( COMPOUND_PATH_ENTRY )) |
|
#define | CdCleanupCompoundPathEntry(IC, CP) |
|
#define | CdAcquireCacheForRead(IC) ExAcquireResourceSharedLite( &(IC)->Vcb->SectorCacheResource, TRUE) |
|
#define | CdAcquireCacheForUpdate(IC) ExAcquireResourceExclusiveLite( &(IC)->Vcb->SectorCacheResource, TRUE) |
|
#define | CdReleaseCache(IC) ExReleaseResourceLite( &(IC)->Vcb->SectorCacheResource); |
|
#define | CdConvertCacheToShared(IC) ExConvertExclusiveToSharedLite( &(IC)->Vcb->SectorCacheResource); |
|
#define | CdAcquireCdData(IC) ExAcquireResourceExclusiveLite( &CdData.DataResource, TRUE ) |
|
#define | CdReleaseCdData(IC) ExReleaseResourceLite( &CdData.DataResource ) |
|
#define | CdAcquireVcbExclusive(IC, V, I) CdAcquireResource( (IC), &(V)->VcbResource, (I), AcquireExclusive ) |
|
#define | CdAcquireVcbShared(IC, V, I) CdAcquireResource( (IC), &(V)->VcbResource, (I), AcquireShared ) |
|
#define | CdReleaseVcb(IC, V) ExReleaseResourceLite( &(V)->VcbResource ) |
|
#define | CdAcquireAllFiles(IC, V) CdAcquireResource( (IC), &(V)->FileResource, FALSE, AcquireExclusive ) |
|
#define | CdReleaseAllFiles(IC, V) ExReleaseResourceLite( &(V)->FileResource ) |
|
#define | CdAcquireFileExclusive(IC, F) CdAcquireResource( (IC), (F)->Resource, FALSE, AcquireExclusive ) |
|
#define | CdAcquireFileShared(IC, F) CdAcquireResource( (IC), (F)->Resource, FALSE, AcquireShared ) |
|
#define | CdAcquireFileSharedStarveExclusive(IC, F) CdAcquireResource( (IC), (F)->Resource, FALSE, AcquireSharedStarveExclusive ) |
|
#define | CdReleaseFile(IC, F) ExReleaseResourceLite( (F)->Resource ) |
|
#define | CdAcquireFcbExclusive(IC, F, I) CdAcquireResource( (IC), &(F)->FcbNonpaged->FcbResource, (I), AcquireExclusive ) |
|
#define | CdAcquireFcbShared(IC, F, I) CdAcquireResource( (IC), &(F)->FcbNonpaged->FcbResource, (I), AcquireShared ) |
|
#define | CdReleaseFcb(IC, F) ExReleaseResourceLite( &(F)->FcbNonpaged->FcbResource ) |
|
#define | CdLockCdData() |
|
#define | CdUnlockCdData() |
|
#define | CdLockVcb(IC, V) |
|
#define | CdUnlockVcb(IC, V) |
|
#define | CdLockFcb(IC, F) |
|
#define | CdUnlockFcb(IC, F) |
|
#define | CdGetFcbOplock(F) &(F)->Header.Oplock |
|
#define | CdCreateIrpContextLite(IC) ExAllocatePoolWithTag( CdNonPagedPool, sizeof( IRP_CONTEXT_LITE ), TAG_IRP_CONTEXT_LITE ) |
|
#define | CdFreeIrpContextLite(ICL) CdFreePool( &(ICL) ) |
|
#define | CdIncrementCleanupCounts(IC, F) |
|
#define | CdDecrementCleanupCounts(IC, F) |
|
#define | CdIncrementReferenceCounts(IC, F, C, UC) |
|
#define | CdDecrementReferenceCounts(IC, F, C, UC) |
|
#define | CdAllocateIoContext() |
|
#define | CdFreeIoContext(IO) CdFreePool( (PVOID) &(IO) ) /* ReactOS Change: GCC "passing argument 1 from incompatible pointer type" */ |
|
#define | CdPagedPool PagedPool |
|
#define | CdNonPagedPool NonPagedPoolNx |
|
#define | CdNonPagedPoolCacheAligned NonPagedPoolNxCacheAligned |
|
#define | CdUpdateMediaChangeCount(V, C) (V)->MediaChangeCount = (C) |
|
#define | CdUpdateVcbCondition(V, C) (V)->VcbCondition = (C) |
|
#define | CdMarkRealDevForVerify(DO) SetFlag( (DO)->Flags, DO_VERIFY_VOLUME) |
|
#define | CdMarkRealDevVerifyOk(DO) ClearFlag( (DO)->Flags, DO_VERIFY_VOLUME) |
|
#define | CdRealDevNeedsVerify(DO) BooleanFlagOn( (DO)->Flags, DO_VERIFY_VOLUME) |
|
#define | CdIsRawDevice(IC, S) |
|
#define | Add2Ptr(PTR, INC, CAST) ((CAST)((PUCHAR)(PTR) + (INC))) |
|
#define | PtrOffset(BASE, OFFSET) ((ULONG)((ULONG_PTR)(OFFSET) - (ULONG_PTR)(BASE))) |
|
#define | WordAlign(Ptr) |
|
#define | LongAlign(Ptr) |
|
#define | QuadAlign(Ptr) |
|
#define | SectorAlign(L) |
|
#define | LlSectorAlign(L) |
|
#define | SectorTruncate(L) |
|
#define | LlSectorTruncate(L) |
|
#define | BytesFromSectors(L) |
|
#define | SectorsFromBytes(L) |
|
#define | LlBytesFromSectors(L) |
|
#define | LlSectorsFromBytes(L) |
|
#define | SectorOffset(L) |
|
#define | SectorBlockOffset(V, LB) |
|
#define | BytesFromBlocks(V, B) |
|
#define | LlBytesFromBlocks(V, B) |
|
#define | BlockAlign(V, L) |
|
#define | LlBlockAlign(V, L) |
|
#define | BlockOffset(V, L) |
|
#define | RawSectorAlign(B) ((((B)+(RAW_SECTOR_SIZE - 1)) / RAW_SECTOR_SIZE) * RAW_SECTOR_SIZE) |
|
#define | CopyUchar1(Dst, Src) |
|
#define | CopyUchar2(Dst, Src) |
|
#define | CopyUchar4(Dst, Src) |
|
#define | CopyUshort2(Dst, Src) |
|
#define | SwapCopyUchar4(Dst, Src) |
|
#define | AssertVerifyDevice(C, S) |
|
#define | AssertVerifyDeviceIrp(I) |
|
#define | CdRaiseStatus(IC, S) CdRaiseStatusEx( (IC), (S), FALSE, BugCheckFileId, __LINE__); |
|
#define | CdNormalizeAndRaiseStatus(IC, S) CdRaiseStatusEx( (IC), (S), TRUE, BugCheckFileId, __LINE__); |
|
#define | CdRestoreThreadContext(IC) |
|
#define | CanFsdWait(I) IoIsOperationSynchronous(I) |
|
#define | CdIsFastIoPossible(F) |
|
#define | try_return(S) { S; goto try_exit; } |
|
#define | try_leave(S) { S; leave; } |
|
#define | CdFreePool(x) _CdFreePool((PVOID*)(x)) |
|
#define | CdTelemetryMountSafe(...) NOTHING |
|
|
| _Requires_lock_held_ (_Global_critical_region_) VOID CdLookupAllocation(_In_ PIRP_CONTEXT IrpContext |
|
VOID | CdAddAllocationFromDirent (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ ULONG McbEntryOffset, _In_ LONGLONG StartingFileOffset, _In_ PDIRENT Dirent) |
|
VOID | CdAddInitialAllocation (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ ULONG StartingBlock, _In_ LONGLONG DataLength) |
|
VOID | CdTruncateAllocation (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ LONGLONG StartingFileOffset) |
|
| _At_ (Fcb->NodeByteSize, _In_range_(>=, FIELD_OFFSET(FCB, FcbType))) VOID CdInitializeMcb(_In_ PIRP_CONTEXT IrpContext |
|
| _Inout_updates_bytes_ (Fcb->NodeByteSize) PFCB Fcb) |
|
VOID | CdCreateInternalStream (_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _Inout_ PFCB Fcb, _In_ PUNICODE_STRING Name) |
|
VOID | CdDeleteInternalStream (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb) |
|
NTSTATUS | CdCompleteMdl (_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp) |
|
static INLINE VOID | CdVerifyOrCreateDirStreamFile (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb) |
|
BOOLEAN | CdReadSectors (_In_ PIRP_CONTEXT IrpContext, _In_ LONGLONG StartingOffset, _In_ ULONG ByteCount, _In_ BOOLEAN ReturnError, _Out_writes_bytes_(ByteCount) PVOID Buffer, _In_ PDEVICE_OBJECT TargetDeviceObject) |
|
NTSTATUS | CdCreateUserMdl (_In_ PIRP_CONTEXT IrpContext, _In_ ULONG BufferLength, _In_ BOOLEAN RaiseOnError, _In_ LOCK_OPERATION Operation) |
|
NTSTATUS FASTCALL | CdPerformDevIoCtrl (_In_ PIRP_CONTEXT IrpContext, _In_ ULONG IoControlCode, _In_ PDEVICE_OBJECT Device, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _In_ BOOLEAN InternalDeviceIoControl, _In_ BOOLEAN OverrideVerify, _Out_opt_ PIO_STATUS_BLOCK Iosb) |
|
NTSTATUS | CdPerformDevIoCtrlEx (_In_ PIRP_CONTEXT IrpContext, _In_ ULONG IoControlCode, _In_ PDEVICE_OBJECT Device, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _In_ BOOLEAN InternalDeviceIoControl, _In_ BOOLEAN OverrideVerify, _Out_opt_ PIO_STATUS_BLOCK Iosb) |
|
NTSTATUS | CdHijackIrpAndFlushDevice (_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp, _In_ PDEVICE_OBJECT TargetDeviceObject) |
|
VOID | CdLookupDirent (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _In_ ULONG DirentOffset, _Out_ PDIRENT_ENUM_CONTEXT DirContext) |
|
BOOLEAN | CdLookupNextDirent (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _In_ PDIRENT_ENUM_CONTEXT CurrentDirContext, _Inout_ PDIRENT_ENUM_CONTEXT NextDirContext) |
|
| _At_ (Dirent->CdTime, _Post_notnull_) VOID CdUpdateDirentFromRawDirent(_In_ PIRP_CONTEXT IrpContext |
|
VOID | CdUpdateDirentName (_In_ PIRP_CONTEXT IrpContext, _Inout_ PDIRENT Dirent, _In_ ULONG IgnoreCase) |
|
| _Success_ (return !=FALSE) BOOLEAN CdFindFile(_In_ PIRP_CONTEXT IrpContext |
|
BOOLEAN | CdFindDirectory (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _In_ PCD_NAME Name, _In_ BOOLEAN IgnoreCase, _Inout_ PFILE_ENUM_CONTEXT FileContext) |
|
| _At_ (FileContext->ShortName.FileName.MaximumLength, _In_range_(>=, BYTE_COUNT_8_DOT_3)) BOOLEAN CdFindFileByShortName(_In_ PIRP_CONTEXT IrpContext |
|
BOOLEAN | CdLookupNextInitialFileDirent (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _Inout_ PFILE_ENUM_CONTEXT FileContext) |
|
VOID | CdLookupLastFileDirent (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _In_ PFILE_ENUM_CONTEXT FileContext) |
|
VOID | CdCleanupFileContext (_In_ PIRP_CONTEXT IrpContext, _In_ PFILE_ENUM_CONTEXT FileContext) |
|
| _When_ (TypeOfOpen==UnopenedFileObject, _At_(Fcb, _In_opt_)) _When_(TypeOfOpen ! |
|
| _At_ (Fcb, _In_)) VOID CdSetFileObject(_In_ PIRP_CONTEXT IrpContext |
|
| _When_ (return==UnopenedFileObject, _At_(*Fcb, _Post_null_)) _When_(return ! |
|
| _At_ (Fcb, _Outptr_)) _When_(return |
|
_At_ Ccb | _When_ (return !=UnopenedFileObject, _At_(Ccb, _Outptr_)) TYPE_OF_OPEN CdDecodeFileObject(_In_ PIRP_CONTEXT IrpContext |
|
TYPE_OF_OPEN | CdFastDecodeFileObject (_In_ PFILE_OBJECT FileObject, _Out_ PFCB *Fcb) |
|
| _Post_satisfies_ (_Old_(CdName->FileName.Length) >=CdName->FileName.Length+CdName->VersionString.Length) VOID CdConvertNameToCdName(_In_ PIRP_CONTEXT IrpContext |
|
VOID | CdConvertBigToLittleEndian (_In_ PIRP_CONTEXT IrpContext, _In_reads_bytes_(ByteCount) PCHAR BigEndian, _In_ ULONG ByteCount, _Out_writes_bytes_(ByteCount) PCHAR LittleEndian) |
|
VOID | CdUpcaseName (_In_ PIRP_CONTEXT IrpContext, _In_ PCD_NAME Name, _Inout_ PCD_NAME UpcaseName) |
|
VOID | CdDissectName (_In_ PIRP_CONTEXT IrpContext, _Inout_ PUNICODE_STRING RemainingName, _Out_ PUNICODE_STRING FinalName) |
|
BOOLEAN | CdIsLegalName (_In_ PIRP_CONTEXT IrpContext, _In_ PUNICODE_STRING FileName) |
|
BOOLEAN | CdIs8dot3Name (_In_ PIRP_CONTEXT IrpContext, _In_ UNICODE_STRING FileName) |
|
VOID | CdGenerate8dot3Name (_In_ PIRP_CONTEXT IrpContext, _In_ PUNICODE_STRING FileName, _In_ ULONG DirentOffset, _Out_writes_bytes_to_(BYTE_COUNT_8_DOT_3, *ShortByteCount) PWCHAR ShortFileName, _Out_ PUSHORT ShortByteCount) |
|
BOOLEAN | CdIsNameInExpression (_In_ PIRP_CONTEXT IrpContext, _In_ PCD_NAME CurrentName, _In_ PCD_NAME SearchExpression, _In_ ULONG WildcardFlags, _In_ BOOLEAN CheckVersion) |
|
ULONG | CdShortNameDirentOffset (_In_ PIRP_CONTEXT IrpContext, _In_ PUNICODE_STRING Name) |
|
FSRTL_COMPARISON_RESULT | CdFullCompareNames (_In_ PIRP_CONTEXT IrpContext, _In_ PUNICODE_STRING NameA, _In_ PUNICODE_STRING NameB) |
|
NTSTATUS | CdUnlockVolumeInternal (_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb, _In_opt_ PFILE_OBJECT FileObject) |
|
VOID | CdLookupPathEntry (_In_ PIRP_CONTEXT IrpContext, _In_ ULONG PathEntryOffset, _In_ ULONG Ordinal, _In_ BOOLEAN VerifyBounds, _Inout_ PCOMPOUND_PATH_ENTRY CompoundPathEntry) |
|
BOOLEAN | CdLookupNextPathEntry (_In_ PIRP_CONTEXT IrpContext, _Inout_ PPATH_ENUM_CONTEXT PathContext, _Inout_ PPATH_ENTRY PathEntry) |
|
VOID | CdUpdatePathEntryName (_In_ PIRP_CONTEXT IrpContext, _Inout_ PPATH_ENTRY PathEntry, _In_ BOOLEAN IgnoreCase) |
|
VOID | CdInsertPrefix (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ PCD_NAME Name, _In_ BOOLEAN IgnoreCase, _In_ BOOLEAN ShortNameMatch, _Inout_ PFCB ParentFcb) |
|
VOID | CdRemovePrefix (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb) |
|
_Acquires_exclusive_lock_ Resource | _When_ (Type==AcquireShared &&return !=FALSE, _Acquires_shared_lock_(*Resource)) _When_(Type |
|
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource | _When_ (IgnoreWait==FALSE, _Post_satisfies_(return==TRUE)) BOOLEAN CdAcquireResource(_In_ PIRP_CONTEXT IrpContext |
|
BOOLEAN NTAPI | CdNoopAcquire (_In_ PVOID Fcb, _In_ BOOLEAN Wait) |
|
VOID NTAPI | CdNoopRelease (_In_ PVOID Fcb) |
|
_Acquires_shared_lock_ Fcb BOOLEAN NTAPI | CdAcquireForCache (_Inout_ PFCB Fcb, _In_ BOOLEAN Wait) |
|
| _Function_class_ (FAST_IO_RELEASE_FILE) _Requires_lock_held_(_Global_critical_region_) VOID NTAPI CdReleaseForCreateSection(_In_ PFILE_OBJECT FileObject) |
|
VOID | CdInitializeVcb (_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb, _In_ __drv_aliasesMem PDEVICE_OBJECT TargetDeviceObject, _In_ __drv_aliasesMem PVPB Vpb, _In_ __drv_aliasesMem PCDROM_TOC_LARGE CdromToc, _In_ ULONG TocLength, _In_ ULONG TocTrackCount, _In_ ULONG TocDiskFlags, _In_ ULONG BlockFactor, _In_ ULONG MediaChangeCount) |
|
VOID | CdUpdateVcbFromVolDescriptor (_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb, _In_reads_bytes_opt_(SECTOR_SIZE) PCHAR RawIsoVd) |
|
VOID | CdDeleteVcb (_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb) |
|
PFCB | CdCreateFcb (_In_ PIRP_CONTEXT IrpContext, _In_ FILE_ID FileId, _In_ NODE_TYPE_CODE NodeTypeCode, _Out_opt_ PBOOLEAN FcbExisted) |
|
VOID | CdInitializeFcbFromPathEntry (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_opt_ PFCB ParentFcb, _In_ PPATH_ENTRY PathEntry) |
|
VOID | CdInitializeFcbFromFileContext (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFCB Fcb, _In_ PFCB ParentFcb, _In_ PFILE_ENUM_CONTEXT FileContext) |
|
PCCB | CdCreateCcb (_In_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb, _In_ ULONG Flags) |
|
VOID | CdDeleteCcb (_In_ PIRP_CONTEXT IrpContext, _In_ __drv_freesMem(Pool) PCCB Ccb) |
|
| _When_ (RaiseOnError||return, _At_(Fcb->FileLock, _Post_notnull_)) _When_(RaiseOnError |
|
| _At_ (IrpContext, _Pre_notnull_)) BOOLEAN CdCreateFileLock(_In_opt_ PIRP_CONTEXT IrpContext |
|
VOID | CdDeleteFileLock (_In_ PIRP_CONTEXT IrpContext, _Inout_ PFILE_LOCK FileLock) |
|
_Ret_valid_ PIRP_CONTEXT | CdCreateIrpContext (_In_ PIRP Irp, _In_ BOOLEAN Wait) |
|
VOID | CdCleanupIrpContext (_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post) |
|
VOID | CdInitializeStackIrpContext (_Out_ PIRP_CONTEXT IrpContext, _In_ PIRP_CONTEXT_LITE IrpContextLite) |
|
PFCB | CdLookupFcbTable (_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _In_ FILE_ID FileId) |
|
PFCB | CdGetNextFcb (_In_ PIRP_CONTEXT IrpContext, _In_ PVCB Vcb, _In_ PVOID *RestartKey) |
|
NTSTATUS | CdProcessToc (_In_ PIRP_CONTEXT IrpContext, _In_ PDEVICE_OBJECT TargetDeviceObject, _In_ PCDROM_TOC_LARGE CdromToc, _Inout_ PULONG Length, _Out_ PULONG TrackCount, _Inout_ PULONG DiskFlags) |
|
static INLINE BOOLEAN | CdOperationIsDasdOpen (_In_ PIRP_CONTEXT IrpContext) |
|
BOOLEAN | CdMarkDevForVerifyIfVcbMounted (_Inout_ PVCB Vcb) |
|
VOID | CdVerifyVcb (_In_ PIRP_CONTEXT IrpContext, _Inout_ PVCB Vcb) |
|
BOOLEAN | CdVerifyFcbOperation (_In_opt_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb) |
|
static INLINE ULONG | SectorsFromLlBytes (ULONGLONG Bytes) |
|
VOID | CdLbnToMmSsFf (_In_ ULONG Blocks, _Out_writes_(3) PUCHAR Msf) |
|
| _IRQL_requires_max_ (APC_LEVEL) __drv_dispatchType(DRIVER_DISPATCH) __drv_dispatchType(IRP_MJ_CREATE) __drv_dispatchType(IRP_MJ_CLOSE) __drv_dispatchType(IRP_MJ_READ) __drv_dispatchType(IRP_MJ_WRITE) __drv_dispatchType(IRP_MJ_QUERY_INFORMATION) __drv_dispatchType(IRP_MJ_SET_INFORMATION) __drv_dispatchType(IRP_MJ_QUERY_VOLUME_INFORMATION) __drv_dispatchType(IRP_MJ_DIRECTORY_CONTROL) __drv_dispatchType(IRP_MJ_FILE_SYSTEM_CONTROL) __drv_dispatchType(IRP_MJ_DEVICE_CONTROL) __drv_dispatchType(IRP_MJ_LOCK_CONTROL) __drv_dispatchType(IRP_MJ_CLEANUP) __drv_dispatchType(IRP_MJ_PNP) __drv_dispatchType(IRP_MJ_SHUTDOWN) NTSTATUS NTAPI CdFsdDispatch(_In_ PDEVICE_OBJECT DeviceObject |
|
LONG | CdExceptionFilter (_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer) |
|
VOID | CdCompleteRequest (_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status) |
|
INLINE DECLSPEC_NORETURN VOID | CdRaiseStatusEx (_In_ PIRP_CONTEXT IrpContext, _In_ NTSTATUS Status, _In_ BOOLEAN NormalizeStatus, _In_ ULONG Fileid, _In_ ULONG Line) |
|
VOID | CdSetThreadContext (_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext) |
|
ULONG | CdSerial32 (_In_reads_bytes_(ByteCount) PCHAR Buffer, _In_ ULONG ByteCount) |
|
VOID | CdFspClose (_In_opt_ PVCB Vcb) |
|
NTSTATUS | CdCommonDevControl (_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp) |
|
NTSTATUS | CdCommonLockControl (_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp) |
|
static INLINE VOID | _CdFreePool (_Inout_ _At_(*Pool, __drv_freesMem(Mem) _Post_null_) PVOID *Pool) |
|