reactos/drivers/filesystems/cdfs_new/devctrl.c

200 lines
4 KiB
C
Raw Normal View History

/*++
Copyright (c) 1989-2000 Microsoft Corporation
Module Name:
DevCtrl.c
Abstract:
This module implements the File System Device Control routines for Cdfs
called by the dispatch driver.
--*/
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
#include "cdprocs.h"
//
// The Bug check file id for this module
//
#define BugCheckFileId (CDFS_BUG_CHECK_DEVCTRL)
//
// Local support routines
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
// Tell prefast this is a completion routine
IO_COMPLETION_ROUTINE CdDevCtrlCompletionRoutine;
NTSTATUS
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
CdDevCtrlCompletionRoutine (
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_In_ PDEVICE_OBJECT DeviceObject,
_In_ PIRP Irp,
_In_reads_opt_(_Inexpressible_("varies")) PVOID Contxt
);
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, CdCommonDevControl)
#endif
NTSTATUS
CdCommonDevControl (
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_Inout_ PIRP_CONTEXT IrpContext,
_Inout_ PIRP Irp
)
/*++
Routine Description:
Arguments:
Return Value:
--*/
{
NTSTATUS Status;
TYPE_OF_OPEN TypeOfOpen;
PFCB Fcb;
PCCB Ccb;
PIO_STACK_LOCATION IrpSp;
PIO_STACK_LOCATION NextIrpSp;
PAGED_CODE();
//
// Extract and decode the file object.
//
IrpSp = IoGetCurrentIrpStackLocation( Irp );
TypeOfOpen = CdDecodeFileObject( IrpContext,
IrpSp->FileObject,
&Fcb,
&Ccb );
//
// The only type of opens we accept are user volume opens.
//
if (TypeOfOpen != UserVolumeOpen) {
CdCompleteRequest( IrpContext, Irp, STATUS_INVALID_PARAMETER );
return STATUS_INVALID_PARAMETER;
}
if (IrpSp->Parameters.DeviceIoControl.IoControlCode == IOCTL_CDROM_READ_TOC) {
//
// Verify the Vcb in this case to detect if the volume has changed.
//
CdVerifyVcb( IrpContext, Fcb->Vcb );
//
// Handle the case of the disk type ourselves.
//
} else if (IrpSp->Parameters.DeviceIoControl.IoControlCode == IOCTL_CDROM_DISK_TYPE) {
//
// Verify the Vcb in this case to detect if the volume has changed.
//
CdVerifyVcb( IrpContext, Fcb->Vcb );
//
// Check the size of the output buffer.
//
if (IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof( CDROM_DISK_DATA )) {
CdCompleteRequest( IrpContext, Irp, STATUS_BUFFER_TOO_SMALL );
return STATUS_BUFFER_TOO_SMALL;
}
//
// Copy the data from the Vcb.
//
((PCDROM_DISK_DATA) Irp->AssociatedIrp.SystemBuffer)->DiskData = Fcb->Vcb->DiskFlags;
Irp->IoStatus.Information = sizeof( CDROM_DISK_DATA );
CdCompleteRequest( IrpContext, Irp, STATUS_SUCCESS );
return STATUS_SUCCESS;
}
//
// Get the next stack location, and copy over the stack parameter
// information.
//
NextIrpSp = IoGetNextIrpStackLocation( Irp );
*NextIrpSp = *IrpSp;
//
// Set up the completion routine
//
IoSetCompletionRoutine( Irp,
CdDevCtrlCompletionRoutine,
NULL,
TRUE,
TRUE,
TRUE );
//
// Send the request.
//
Status = IoCallDriver( IrpContext->Vcb->TargetDeviceObject, Irp );
//
// Cleanup our Irp Context. The driver has completed the Irp.
//
CdCompleteRequest( IrpContext, NULL, STATUS_SUCCESS );
return Status;
}
//
// Local support routine
//
NTSTATUS
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
CdDevCtrlCompletionRoutine (
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_In_ PDEVICE_OBJECT DeviceObject,
_In_ PIRP Irp,
_In_reads_opt_(_Inexpressible_("varies")) PVOID Contxt
)
{
//
// Add the hack-o-ramma to fix formats.
//
if (Irp->PendingReturned) {
IoMarkIrpPending( Irp );
}
return STATUS_SUCCESS;
UNREFERENCED_PARAMETER( DeviceObject );
UNREFERENCED_PARAMETER( Contxt );
}