[NTFS]
[reactos.git] / drivers / filesystems / cdfs / fastio.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: drivers/filesystems/cdfs/fastio.c
5 * PURPOSE: CDROM (ISO 9660) filesystem driver
6 * PROGRAMMER: Pierre Schweitzer
7 */
8
9 /* INCLUDES *****************************************************************/
10
11 #include "cdfs.h"
12
13 #define NDEBUG
14 #include <debug.h>
15
16 /* FUNCTIONS ****************************************************************/
17
18 BOOLEAN
19 NTAPI
20 CdfsAcquireForLazyWrite(
21 _In_ PVOID Context,
22 _In_ BOOLEAN Wait)
23 {
24 PFCB Fcb = (PFCB)Context;
25 ASSERT(Fcb);
26 DPRINT("CdfsAcquireForLazyWrite(): Fcb %p\n", Fcb);
27
28 if (!ExAcquireResourceExclusiveLite(&(Fcb->MainResource), Wait))
29 {
30 DPRINT("CdfsAcquireForLazyWrite(): ExReleaseResourceLite failed.\n");
31 return FALSE;
32 }
33 return TRUE;
34 }
35
36 VOID
37 NTAPI
38 CdfsReleaseFromLazyWrite(
39 _In_ PVOID Context)
40 {
41 PFCB Fcb = (PFCB)Context;
42 ASSERT(Fcb);
43 DPRINT("CdfsReleaseFromLazyWrite(): Fcb %p\n", Fcb);
44
45 ExReleaseResourceLite(&(Fcb->MainResource));
46 }
47
48 BOOLEAN
49 NTAPI
50 CdfsFastIoCheckIfPossible(
51 _In_ PFILE_OBJECT FileObject,
52 _In_ PLARGE_INTEGER FileOffset,
53 _In_ ULONG Length,
54 _In_ BOOLEAN Wait,
55 _In_ ULONG LockKey,
56 _In_ BOOLEAN CheckForReadOperation,
57 _Out_ PIO_STATUS_BLOCK IoStatus,
58 _In_ PDEVICE_OBJECT DeviceObject)
59 {
60 /* Deny FastIo */
61 UNREFERENCED_PARAMETER(FileObject);
62 UNREFERENCED_PARAMETER(FileOffset);
63 UNREFERENCED_PARAMETER(Length);
64 UNREFERENCED_PARAMETER(Wait);
65 UNREFERENCED_PARAMETER(LockKey);
66 UNREFERENCED_PARAMETER(CheckForReadOperation);
67 UNREFERENCED_PARAMETER(IoStatus);
68 UNREFERENCED_PARAMETER(DeviceObject);
69 return FALSE;
70 }
71
72 BOOLEAN
73 NTAPI
74 CdfsFastIoRead(
75 _In_ PFILE_OBJECT FileObject,
76 _In_ PLARGE_INTEGER FileOffset,
77 _In_ ULONG Length,
78 _In_ BOOLEAN Wait,
79 _In_ ULONG LockKey,
80 _Out_ PVOID Buffer,
81 _Out_ PIO_STATUS_BLOCK IoStatus,
82 _In_ PDEVICE_OBJECT DeviceObject)
83 {
84 DBG_UNREFERENCED_PARAMETER(FileObject);
85 DBG_UNREFERENCED_PARAMETER(FileOffset);
86 DBG_UNREFERENCED_PARAMETER(Length);
87 DBG_UNREFERENCED_PARAMETER(Wait);
88 DBG_UNREFERENCED_PARAMETER(LockKey);
89 DBG_UNREFERENCED_PARAMETER(Buffer);
90 DBG_UNREFERENCED_PARAMETER(IoStatus);
91 DBG_UNREFERENCED_PARAMETER(DeviceObject);
92 return FALSE;
93 }
94
95 BOOLEAN
96 NTAPI
97 CdfsFastIoWrite(
98 _In_ PFILE_OBJECT FileObject,
99 _In_ PLARGE_INTEGER FileOffset,
100 _In_ ULONG Length,
101 _In_ BOOLEAN Wait,
102 _In_ ULONG LockKey,
103 _In_ PVOID Buffer,
104 _Out_ PIO_STATUS_BLOCK IoStatus,
105 _In_ PDEVICE_OBJECT DeviceObject)
106 {
107 DBG_UNREFERENCED_PARAMETER(FileObject);
108 DBG_UNREFERENCED_PARAMETER(FileOffset);
109 DBG_UNREFERENCED_PARAMETER(Length);
110 DBG_UNREFERENCED_PARAMETER(Wait);
111 DBG_UNREFERENCED_PARAMETER(LockKey);
112 DBG_UNREFERENCED_PARAMETER(Buffer);
113 DBG_UNREFERENCED_PARAMETER(IoStatus);
114 DBG_UNREFERENCED_PARAMETER(DeviceObject);
115 return FALSE;
116 }