Fastio.h
1 #pragma once 2 #include "Header.h" 3 4 5 BOOLEAN FastIoCheckIfPossible( 6 _In_ struct _FILE_OBJECT* FileObject, 7 _In_ PLARGE_INTEGER FileOffset, 8 _In_ ULONG Length, 9 _In_ BOOLEAN Wait, 10 _In_ ULONG LockKey, 11 _In_ BOOLEAN CheckForReadOperation, 12 _Out_ PIO_STATUS_BLOCK IoStatus, 13 _In_ struct _DEVICE_OBJECT* DeviceObject 14 ); 15 16 BOOLEAN FastIoRead( 17 _In_ struct _FILE_OBJECT* FileObject, 18 _In_ PLARGE_INTEGER FileOffset, 19 _In_ ULONG Length, 20 _In_ BOOLEAN Wait, 21 _In_ ULONG LockKey, 22 _Out_ PVOID Buffer, 23 _Out_ PIO_STATUS_BLOCK IoStatus, 24 _In_ struct _DEVICE_OBJECT* DeviceObject 25 ); 26 27 28 BOOLEAN FastIoWrite( 29 _In_ struct _FILE_OBJECT* FileObject, 30 _In_ PLARGE_INTEGER FileOffset, 31 _In_ ULONG Length, 32 _In_ BOOLEAN Wait, 33 _In_ ULONG LockKey, 34 _In_ PVOID Buffer, 35 _Out_ PIO_STATUS_BLOCK IoStatus, 36 _In_ struct _DEVICE_OBJECT* DeviceObject 37 ); 38 39 BOOLEAN FastIoQueryBasicInfo( 40 _In_ struct _FILE_OBJECT* FileObject, 41 _In_ BOOLEAN Wait, 42 _Out_ PFILE_BASIC_INFORMATION Buffer, 43 _Out_ PIO_STATUS_BLOCK IoStatus, 44 _In_ struct _DEVICE_OBJECT* DeviceObject 45 ); 46 47 48 BOOLEAN FastIoQueryStandardInfo( 49 _In_ struct _FILE_OBJECT* FileObject, 50 _In_ BOOLEAN Wait, 51 _Out_ PFILE_STANDARD_INFORMATION Buffer, 52 _Out_ PIO_STATUS_BLOCK IoStatus, 53 _In_ struct _DEVICE_OBJECT* DeviceObject 54 ); 55 56 57 BOOLEAN FastIoLock( 58 _In_ struct _FILE_OBJECT* FileObject, 59 _In_ PLARGE_INTEGER FileOffset, 60 _In_ PLARGE_INTEGER Length, 61 _In_ PEPROCESS ProcessId, 62 _In_ ULONG Key, 63 _In_ BOOLEAN FailImmediately, 64 _In_ BOOLEAN ExclusiveLock, 65 _Out_ PIO_STATUS_BLOCK IoStatus, 66 _In_ struct _DEVICE_OBJECT* DeviceObject 67 ); 68 69 BOOLEAN FastIoUnlockSingle( 70 _In_ struct _FILE_OBJECT* FileObject, 71 _In_ PLARGE_INTEGER FileOffset, 72 _In_ PLARGE_INTEGER Length, 73 _In_ PEPROCESS ProcessId, 74 _In_ ULONG Key, 75 _Out_ PIO_STATUS_BLOCK IoStatus, 76 _In_ struct _DEVICE_OBJECT* DeviceObject 77 ); 78 79 80 BOOLEAN FastIoUnlockAll( 81 _In_ struct _FILE_OBJECT* FileObject, 82 _In_ PEPROCESS ProcessId, 83 _Out_ PIO_STATUS_BLOCK IoStatus, 84 _In_ struct _DEVICE_OBJECT* DeviceObject 85 ); 86 87 88 BOOLEAN FastIoUnlockAllByKey( 89 _In_ struct _FILE_OBJECT* FileObject, 90 _In_ PVOID ProcessId, 91 _In_ ULONG Key, 92 _Out_ PIO_STATUS_BLOCK IoStatus, 93 _In_ struct _DEVICE_OBJECT* DeviceObject 94 ); 95 96 97 BOOLEAN FastIoDeviceControl( 98 _In_ struct _FILE_OBJECT* FileObject, 99 _In_ BOOLEAN Wait, 100 _In_ PVOID InputBuffer, 101 _In_ ULONG InputBufferLength, 102 _Out_ PVOID OutputBuffer, 103 _In_ ULONG OutputBufferLength, 104 _In_ ULONG IoControlCode, 105 _Out_ PIO_STATUS_BLOCK IoStatus, 106 _In_ struct _DEVICE_OBJECT* DeviceObject 107 ); 108 109 VOID FastIoAcquireFile( 110 _In_ struct _FILE_OBJECT* FileObject 111 ); 112 113 VOID FastIoReleaseFile( 114 _In_ struct _FILE_OBJECT* FileObject 115 ); 116 117 118 VOID FastIoDetachDevice( 119 _In_ struct _DEVICE_OBJECT* SourceDevice, 120 _In_ struct _DEVICE_OBJECT* TargetDevice 121 ); 122 123 124 BOOLEAN FastIoQueryNetworkOpenInfo( 125 _In_ struct _FILE_OBJECT* FileObject, 126 _In_ BOOLEAN Wait, 127 _Out_ struct _FILE_NETWORK_OPEN_INFORMATION* Buffer, 128 _Out_ struct _IO_STATUS_BLOCK* IoStatus, 129 _In_ struct _DEVICE_OBJECT* DeviceObject 130 ); 131 132 133 NTSTATUS FastIoAcquireForModWrite( 134 _In_ struct _FILE_OBJECT* FileObject, 135 _In_ PLARGE_INTEGER EndingOffset, 136 _Out_ struct _ERESOURCE** ResourceToRelease, 137 _In_ struct _DEVICE_OBJECT* DeviceObject 138 ); 139 140 141 BOOLEAN FastIoMdlRead( 142 _In_ struct _FILE_OBJECT* FileObject, 143 _In_ PLARGE_INTEGER FileOffset, 144 _In_ ULONG Length, 145 _In_ ULONG LockKey, 146 _Out_ PMDL* MdlChain, 147 _Out_ PIO_STATUS_BLOCK IoStatus, 148 _In_ struct _DEVICE_OBJECT* DeviceObject 149 ); 150 151 152 BOOLEAN FastIoMdlReadComplete( 153 _In_ struct _FILE_OBJECT* FileObject, 154 _In_ PMDL MdlChain, 155 _In_ struct _DEVICE_OBJECT* DeviceObject 156 ); 157 158 159 BOOLEAN FastIoPrepareMdlWrite( 160 _In_ struct _FILE_OBJECT* FileObject, 161 _In_ PLARGE_INTEGER FileOffset, 162 _In_ ULONG Length, 163 _In_ ULONG LockKey, 164 _Out_ PMDL* MdlChain, 165 _Out_ PIO_STATUS_BLOCK IoStatus, 166 _In_ struct _DEVICE_OBJECT* DeviceObject 167 ); 168 169 170 BOOLEAN FastIoMdlWriteComplete( 171 _In_ struct _FILE_OBJECT* FileObject, 172 _In_ PLARGE_INTEGER FileOffset, 173 _In_ PMDL MdlChain, 174 _In_ struct _DEVICE_OBJECT* DeviceObject 175 ); 176 177 178 BOOLEAN FastIoReadCompressed( 179 _In_ struct _FILE_OBJECT* FileObject, 180 _In_ PLARGE_INTEGER FileOffset, 181 _In_ ULONG Length, 182 _In_ ULONG LockKey, 183 _Out_ PVOID Buffer, 184 _Out_ PMDL* MdlChain, 185 _Out_ PIO_STATUS_BLOCK IoStatus, 186 _Out_ struct _COMPRESSED_DATA_INFO* CompressedDataInfo, 187 _In_ ULONG CompressedDataInfoLength, 188 _In_ struct _DEVICE_OBJECT* DeviceObject 189 ); 190 191 192 BOOLEAN FastIoWriteCompressed( 193 _In_ struct _FILE_OBJECT* FileObject, 194 _In_ PLARGE_INTEGER FileOffset, 195 _In_ ULONG Length, 196 _In_ ULONG LockKey, 197 _In_ PVOID Buffer, 198 _Out_ PMDL* MdlChain, 199 _Out_ PIO_STATUS_BLOCK IoStatus, 200 _In_ struct _COMPRESSED_DATA_INFO* CompressedDataInfo, 201 _In_ ULONG CompressedDataInfoLength, 202 _In_ struct _DEVICE_OBJECT* DeviceObject 203 ); 204 205 206 BOOLEAN FastIoMdlReadCompleteCompressed( 207 _In_ struct _FILE_OBJECT* FileObject, 208 _In_ PMDL MdlChain, 209 _In_ struct _DEVICE_OBJECT* DeviceObject 210 ); 211 212 213 BOOLEAN FastIoMdlWriteCompleteCompressed( 214 _In_ struct _FILE_OBJECT* FileObject, 215 _In_ PLARGE_INTEGER FileOffset, 216 _In_ PMDL MdlChain, 217 _In_ struct _DEVICE_OBJECT* DeviceObject 218 ); 219 220 221 BOOLEAN FastIoQueryOpen( 222 _Inout_ struct _IRP* Irp, 223 _Out_ PFILE_NETWORK_OPEN_INFORMATION NetworkInformation, 224 _In_ struct _DEVICE_OBJECT* DeviceObject 225 ); 226 227 228 NTSTATUS FastIoReleaseForModWrite( 229 _In_ struct _FILE_OBJECT* FileObject, 230 _In_ struct _ERESOURCE* ResourceToRelease, 231 _In_ struct _DEVICE_OBJECT* DeviceObject 232 ); 233 234 NTSTATUS FastIoAcquireForCcFlush( 235 _In_ struct _FILE_OBJECT* FileObject, 236 _In_ struct _DEVICE_OBJECT* DeviceObject 237 ); 238 239 240 NTSTATUS FastIoReleaseForCcFlush( 241 _In_ struct _FILE_OBJECT* FileObject, 242 _In_ struct _DEVICE_OBJECT* DeviceObject 243 );
Fastio.cpp
1 #include "Fastio.h" 2 3 BOOLEAN FastIoCheckIfPossible( 4 _In_ struct _FILE_OBJECT* FileObject, 5 _In_ PLARGE_INTEGER FileOffset, 6 _In_ ULONG Length, 7 _In_ BOOLEAN Wait, 8 _In_ ULONG LockKey, 9 _In_ BOOLEAN CheckForReadOperation, 10 _Out_ PIO_STATUS_BLOCK IoStatus, 11 _In_ struct _DEVICE_OBJECT* DeviceObject 12 ) 13 { 14 UNREFERENCED_PARAMETER(FileObject); 15 UNREFERENCED_PARAMETER(FileOffset); 16 UNREFERENCED_PARAMETER(Length); 17 UNREFERENCED_PARAMETER(Wait); 18 UNREFERENCED_PARAMETER(LockKey); 19 UNREFERENCED_PARAMETER(CheckForReadOperation); 20 UNREFERENCED_PARAMETER(IoStatus); 21 UNREFERENCED_PARAMETER(DeviceObject); 22 23 return FALSE; 24 } 25 26 27 BOOLEAN FastIoRead( 28 _In_ struct _FILE_OBJECT* FileObject, 29 _In_ PLARGE_INTEGER FileOffset, 30 _In_ ULONG Length, 31 _In_ BOOLEAN Wait, 32 _In_ ULONG LockKey, 33 _Out_ PVOID Buffer, 34 _Out_ PIO_STATUS_BLOCK IoStatus, 35 _In_ struct _DEVICE_OBJECT* DeviceObject 36 ) 37 { 38 UNREFERENCED_PARAMETER(FileObject); 39 UNREFERENCED_PARAMETER(FileOffset); 40 UNREFERENCED_PARAMETER(Length); 41 UNREFERENCED_PARAMETER(Wait); 42 UNREFERENCED_PARAMETER(LockKey); 43 UNREFERENCED_PARAMETER(Buffer); 44 UNREFERENCED_PARAMETER(IoStatus); 45 UNREFERENCED_PARAMETER(DeviceObject); 46 47 return FALSE; 48 } 49 50 51 BOOLEAN FastIoWrite( 52 _In_ struct _FILE_OBJECT* FileObject, 53 _In_ PLARGE_INTEGER FileOffset, 54 _In_ ULONG Length, 55 _In_ BOOLEAN Wait, 56 _In_ ULONG LockKey, 57 _In_ PVOID Buffer, 58 _Out_ PIO_STATUS_BLOCK IoStatus, 59 _In_ struct _DEVICE_OBJECT* DeviceObject 60 ) 61 { 62 UNREFERENCED_PARAMETER(FileObject); 63 UNREFERENCED_PARAMETER(FileOffset); 64 UNREFERENCED_PARAMETER(Length); 65 UNREFERENCED_PARAMETER(Wait); 66 UNREFERENCED_PARAMETER(LockKey); 67 UNREFERENCED_PARAMETER(Buffer); 68 UNREFERENCED_PARAMETER(IoStatus); 69 UNREFERENCED_PARAMETER(DeviceObject); 70 71 return FALSE; 72 } 73 74 BOOLEAN FastIoQueryBasicInfo( 75 _In_ struct _FILE_OBJECT* FileObject, 76 _In_ BOOLEAN Wait, 77 _Out_ PFILE_BASIC_INFORMATION Buffer, 78 _Out_ PIO_STATUS_BLOCK IoStatus, 79 _In_ struct _DEVICE_OBJECT* DeviceObject 80 ) 81 { 82 UNREFERENCED_PARAMETER(FileObject); 83 UNREFERENCED_PARAMETER(Wait); 84 UNREFERENCED_PARAMETER(Buffer); 85 UNREFERENCED_PARAMETER(IoStatus); 86 UNREFERENCED_PARAMETER(DeviceObject); 87 88 return FALSE; 89 } 90 91 92 BOOLEAN FastIoQueryStandardInfo( 93 _In_ struct _FILE_OBJECT* FileObject, 94 _In_ BOOLEAN Wait, 95 _Out_ PFILE_STANDARD_INFORMATION Buffer, 96 _Out_ PIO_STATUS_BLOCK IoStatus, 97 _In_ struct _DEVICE_OBJECT* DeviceObject 98 ) 99 { 100 UNREFERENCED_PARAMETER(FileObject); 101 UNREFERENCED_PARAMETER(Wait); 102 UNREFERENCED_PARAMETER(Buffer); 103 UNREFERENCED_PARAMETER(IoStatus); 104 UNREFERENCED_PARAMETER(DeviceObject); 105 106 return FALSE; 107 } 108 109 110 BOOLEAN FastIoLock( 111 _In_ struct _FILE_OBJECT* FileObject, 112 _In_ PLARGE_INTEGER FileOffset, 113 _In_ PLARGE_INTEGER Length, 114 _In_ PEPROCESS ProcessId, 115 _In_ ULONG Key, 116 _In_ BOOLEAN FailImmediately, 117 _In_ BOOLEAN ExclusiveLock, 118 _Out_ PIO_STATUS_BLOCK IoStatus, 119 _In_ struct _DEVICE_OBJECT* DeviceObject 120 ) 121 { 122 UNREFERENCED_PARAMETER(FileObject); 123 UNREFERENCED_PARAMETER(FileOffset); 124 UNREFERENCED_PARAMETER(Length); 125 UNREFERENCED_PARAMETER(ProcessId); 126 UNREFERENCED_PARAMETER(Key); 127 UNREFERENCED_PARAMETER(FailImmediately); 128 UNREFERENCED_PARAMETER(ExclusiveLock); 129 UNREFERENCED_PARAMETER(IoStatus); 130 UNREFERENCED_PARAMETER(DeviceObject); 131 132 return FALSE; 133 } 134 135 BOOLEAN FastIoUnlockSingle( 136 _In_ struct _FILE_OBJECT* FileObject, 137 _In_ PLARGE_INTEGER FileOffset, 138 _In_ PLARGE_INTEGER Length, 139 _In_ PEPROCESS ProcessId, 140 _In_ ULONG Key, 141 _Out_ PIO_STATUS_BLOCK IoStatus, 142 _In_ struct _DEVICE_OBJECT* DeviceObject 143 ) 144 { 145 UNREFERENCED_PARAMETER(FileObject); 146 UNREFERENCED_PARAMETER(FileOffset); 147 UNREFERENCED_PARAMETER(Length); 148 UNREFERENCED_PARAMETER(ProcessId); 149 UNREFERENCED_PARAMETER(Key); 150 UNREFERENCED_PARAMETER(IoStatus); 151 UNREFERENCED_PARAMETER(DeviceObject); 152 153 return FALSE; 154 } 155 156 157 BOOLEAN FastIoUnlockAll( 158 _In_ struct _FILE_OBJECT* FileObject, 159 _In_ PEPROCESS ProcessId, 160 _Out_ PIO_STATUS_BLOCK IoStatus, 161 _In_ struct _DEVICE_OBJECT* DeviceObject 162 ) 163 { 164 UNREFERENCED_PARAMETER(FileObject); 165 UNREFERENCED_PARAMETER(ProcessId); 166 UNREFERENCED_PARAMETER(IoStatus); 167 UNREFERENCED_PARAMETER(DeviceObject); 168 169 return FALSE; 170 } 171 172 173 BOOLEAN FastIoUnlockAllByKey( 174 _In_ struct _FILE_OBJECT* FileObject, 175 _In_ PVOID ProcessId, 176 _In_ ULONG Key, 177 _Out_ PIO_STATUS_BLOCK IoStatus, 178 _In_ struct _DEVICE_OBJECT* DeviceObject 179 ) 180 { 181 UNREFERENCED_PARAMETER(FileObject); 182 UNREFERENCED_PARAMETER(ProcessId); 183 UNREFERENCED_PARAMETER(Key); 184 UNREFERENCED_PARAMETER(IoStatus); 185 UNREFERENCED_PARAMETER(DeviceObject); 186 187 return FALSE; 188 } 189 190 191 BOOLEAN FastIoDeviceControl( 192 _In_ struct _FILE_OBJECT* FileObject, 193 _In_ BOOLEAN Wait, 194 _In_ PVOID InputBuffer, 195 _In_ ULONG InputBufferLength, 196 _Out_ PVOID OutputBuffer, 197 _In_ ULONG OutputBufferLength, 198 _In_ ULONG IoControlCode, 199 _Out_ PIO_STATUS_BLOCK IoStatus, 200 _In_ struct _DEVICE_OBJECT* DeviceObject 201 ) 202 { 203 UNREFERENCED_PARAMETER(FileObject); 204 UNREFERENCED_PARAMETER(Wait); 205 UNREFERENCED_PARAMETER(InputBuffer); 206 UNREFERENCED_PARAMETER(InputBufferLength); 207 UNREFERENCED_PARAMETER(OutputBuffer); 208 UNREFERENCED_PARAMETER(OutputBufferLength); 209 UNREFERENCED_PARAMETER(IoControlCode); 210 UNREFERENCED_PARAMETER(IoStatus); 211 UNREFERENCED_PARAMETER(DeviceObject); 212 213 return FALSE; 214 } 215 216 VOID FastIoAcquireFile( 217 _In_ struct _FILE_OBJECT* FileObject 218 ) 219 { 220 UNREFERENCED_PARAMETER(FileObject); 221 } 222 223 VOID FastIoReleaseFile( 224 _In_ struct _FILE_OBJECT* FileObject 225 ) 226 { 227 UNREFERENCED_PARAMETER(FileObject); 228 } 229 230 231 VOID FastIoDetachDevice( 232 _In_ struct _DEVICE_OBJECT* SourceDevice, 233 _In_ struct _DEVICE_OBJECT* TargetDevice 234 ) 235 { 236 UNREFERENCED_PARAMETER(SourceDevice); 237 UNREFERENCED_PARAMETER(TargetDevice); 238 } 239 240 241 BOOLEAN FastIoQueryNetworkOpenInfo( 242 _In_ struct _FILE_OBJECT* FileObject, 243 _In_ BOOLEAN Wait, 244 _Out_ struct _FILE_NETWORK_OPEN_INFORMATION* Buffer, 245 _Out_ struct _IO_STATUS_BLOCK* IoStatus, 246 _In_ struct _DEVICE_OBJECT* DeviceObject 247 ) 248 { 249 UNREFERENCED_PARAMETER(FileObject); 250 UNREFERENCED_PARAMETER(Wait); 251 UNREFERENCED_PARAMETER(Buffer); 252 UNREFERENCED_PARAMETER(IoStatus); 253 UNREFERENCED_PARAMETER(DeviceObject); 254 255 return FALSE; 256 } 257 258 259 NTSTATUS FastIoAcquireForModWrite( 260 _In_ struct _FILE_OBJECT* FileObject, 261 _In_ PLARGE_INTEGER EndingOffset, 262 _Out_ struct _ERESOURCE** ResourceToRelease, 263 _In_ struct _DEVICE_OBJECT* DeviceObject 264 ) 265 { 266 UNREFERENCED_PARAMETER(FileObject); 267 UNREFERENCED_PARAMETER(EndingOffset); 268 UNREFERENCED_PARAMETER(ResourceToRelease); 269 UNREFERENCED_PARAMETER(DeviceObject); 270 271 return FALSE; 272 } 273 274 275 BOOLEAN FastIoMdlRead( 276 _In_ struct _FILE_OBJECT* FileObject, 277 _In_ PLARGE_INTEGER FileOffset, 278 _In_ ULONG Length, 279 _In_ ULONG LockKey, 280 _Out_ PMDL* MdlChain, 281 _Out_ PIO_STATUS_BLOCK IoStatus, 282 _In_ struct _DEVICE_OBJECT* DeviceObject 283 ) 284 { 285 UNREFERENCED_PARAMETER(FileObject); 286 UNREFERENCED_PARAMETER(FileOffset); 287 UNREFERENCED_PARAMETER(Length); 288 UNREFERENCED_PARAMETER(LockKey); 289 UNREFERENCED_PARAMETER(MdlChain); 290 UNREFERENCED_PARAMETER(IoStatus); 291 UNREFERENCED_PARAMETER(DeviceObject); 292 293 return FALSE; 294 } 295 296 297 BOOLEAN FastIoMdlReadComplete( 298 _In_ struct _FILE_OBJECT* FileObject, 299 _In_ PMDL MdlChain, 300 _In_ struct _DEVICE_OBJECT* DeviceObject 301 ) 302 { 303 UNREFERENCED_PARAMETER(FileObject); 304 UNREFERENCED_PARAMETER(MdlChain); 305 UNREFERENCED_PARAMETER(DeviceObject); 306 307 return FALSE; 308 } 309 310 311 BOOLEAN FastIoPrepareMdlWrite( 312 _In_ struct _FILE_OBJECT* FileObject, 313 _In_ PLARGE_INTEGER FileOffset, 314 _In_ ULONG Length, 315 _In_ ULONG LockKey, 316 _Out_ PMDL* MdlChain, 317 _Out_ PIO_STATUS_BLOCK IoStatus, 318 _In_ struct _DEVICE_OBJECT* DeviceObject 319 ) 320 { 321 UNREFERENCED_PARAMETER(FileObject); 322 UNREFERENCED_PARAMETER(FileOffset); 323 UNREFERENCED_PARAMETER(Length); 324 UNREFERENCED_PARAMETER(LockKey); 325 UNREFERENCED_PARAMETER(MdlChain); 326 UNREFERENCED_PARAMETER(IoStatus); 327 UNREFERENCED_PARAMETER(DeviceObject); 328 329 return FALSE; 330 } 331 332 333 BOOLEAN FastIoMdlWriteComplete( 334 _In_ struct _FILE_OBJECT* FileObject, 335 _In_ PLARGE_INTEGER FileOffset, 336 _In_ PMDL MdlChain, 337 _In_ struct _DEVICE_OBJECT* DeviceObject 338 ) 339 { 340 UNREFERENCED_PARAMETER(FileObject); 341 UNREFERENCED_PARAMETER(FileOffset); 342 UNREFERENCED_PARAMETER(MdlChain); 343 UNREFERENCED_PARAMETER(DeviceObject); 344 345 return FALSE; 346 } 347 348 349 BOOLEAN FastIoReadCompressed( 350 _In_ struct _FILE_OBJECT* FileObject, 351 _In_ PLARGE_INTEGER FileOffset, 352 _In_ ULONG Length, 353 _In_ ULONG LockKey, 354 _Out_ PVOID Buffer, 355 _Out_ PMDL* MdlChain, 356 _Out_ PIO_STATUS_BLOCK IoStatus, 357 _Out_ struct _COMPRESSED_DATA_INFO* CompressedDataInfo, 358 _In_ ULONG CompressedDataInfoLength, 359 _In_ struct _DEVICE_OBJECT* DeviceObject 360 ) 361 { 362 UNREFERENCED_PARAMETER(FileObject); 363 UNREFERENCED_PARAMETER(FileOffset); 364 UNREFERENCED_PARAMETER(Length); 365 UNREFERENCED_PARAMETER(LockKey); 366 UNREFERENCED_PARAMETER(Buffer); 367 UNREFERENCED_PARAMETER(MdlChain); 368 UNREFERENCED_PARAMETER(IoStatus); 369 UNREFERENCED_PARAMETER(CompressedDataInfo); 370 UNREFERENCED_PARAMETER(CompressedDataInfoLength); 371 UNREFERENCED_PARAMETER(DeviceObject); 372 373 return FALSE; 374 } 375 376 377 BOOLEAN FastIoWriteCompressed( 378 _In_ struct _FILE_OBJECT* FileObject, 379 _In_ PLARGE_INTEGER FileOffset, 380 _In_ ULONG Length, 381 _In_ ULONG LockKey, 382 _In_ PVOID Buffer, 383 _Out_ PMDL* MdlChain, 384 _Out_ PIO_STATUS_BLOCK IoStatus, 385 _In_ struct _COMPRESSED_DATA_INFO* CompressedDataInfo, 386 _In_ ULONG CompressedDataInfoLength, 387 _In_ struct _DEVICE_OBJECT* DeviceObject 388 ) 389 { 390 UNREFERENCED_PARAMETER(FileObject); 391 UNREFERENCED_PARAMETER(FileOffset); 392 UNREFERENCED_PARAMETER(Length); 393 UNREFERENCED_PARAMETER(LockKey); 394 UNREFERENCED_PARAMETER(Buffer); 395 UNREFERENCED_PARAMETER(MdlChain); 396 UNREFERENCED_PARAMETER(IoStatus); 397 UNREFERENCED_PARAMETER(CompressedDataInfo); 398 UNREFERENCED_PARAMETER(CompressedDataInfoLength); 399 UNREFERENCED_PARAMETER(DeviceObject); 400 401 return FALSE; 402 } 403 404 405 BOOLEAN FastIoMdlReadCompleteCompressed( 406 _In_ struct _FILE_OBJECT* FileObject, 407 _In_ PMDL MdlChain, 408 _In_ struct _DEVICE_OBJECT* DeviceObject 409 ) 410 { 411 UNREFERENCED_PARAMETER(FileObject); 412 UNREFERENCED_PARAMETER(MdlChain); 413 UNREFERENCED_PARAMETER(DeviceObject); 414 415 return FALSE; 416 } 417 418 419 BOOLEAN FastIoMdlWriteCompleteCompressed( 420 _In_ struct _FILE_OBJECT* FileObject, 421 _In_ PLARGE_INTEGER FileOffset, 422 _In_ PMDL MdlChain, 423 _In_ struct _DEVICE_OBJECT* DeviceObject 424 ) 425 { 426 UNREFERENCED_PARAMETER(FileObject); 427 UNREFERENCED_PARAMETER(FileOffset); 428 UNREFERENCED_PARAMETER(MdlChain); 429 UNREFERENCED_PARAMETER(DeviceObject); 430 431 return FALSE; 432 } 433 434 435 BOOLEAN FastIoQueryOpen( 436 _Inout_ struct _IRP* Irp, 437 _Out_ PFILE_NETWORK_OPEN_INFORMATION NetworkInformation, 438 _In_ struct _DEVICE_OBJECT* DeviceObject 439 ) 440 { 441 UNREFERENCED_PARAMETER(Irp); 442 UNREFERENCED_PARAMETER(NetworkInformation); 443 UNREFERENCED_PARAMETER(DeviceObject); 444 445 return FALSE; 446 } 447 448 449 NTSTATUS FastIoReleaseForModWrite( 450 _In_ struct _FILE_OBJECT* FileObject, 451 _In_ struct _ERESOURCE* ResourceToRelease, 452 _In_ struct _DEVICE_OBJECT* DeviceObject 453 ) 454 { 455 UNREFERENCED_PARAMETER(FileObject); 456 UNREFERENCED_PARAMETER(ResourceToRelease); 457 UNREFERENCED_PARAMETER(DeviceObject); 458 459 return FALSE; 460 } 461 462 NTSTATUS FastIoAcquireForCcFlush( 463 _In_ struct _FILE_OBJECT* FileObject, 464 _In_ struct _DEVICE_OBJECT* DeviceObject 465 ) 466 { 467 UNREFERENCED_PARAMETER(FileObject); 468 UNREFERENCED_PARAMETER(DeviceObject); 469 470 return FALSE; 471 } 472 473 474 NTSTATUS FastIoReleaseForCcFlush( 475 _In_ struct _FILE_OBJECT* FileObject, 476 _In_ struct _DEVICE_OBJECT* DeviceObject 477 ) 478 { 479 UNREFERENCED_PARAMETER(FileObject); 480 UNREFERENCED_PARAMETER(DeviceObject); 481 482 return FALSE; 483 }