diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/HowToBuild.txt b/reactos/drivers/wdm/audio/drivers/CMIDriver/HowToBuild.txt deleted file mode 100644 index 254d0722fa8..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/HowToBuild.txt +++ /dev/null @@ -1,22 +0,0 @@ -For compiling and building the WDM driver, the following software is required: -- Microsoft Windows Driver Development Kit (http://www.microsoft.com/whdc/devtools/wdk/default.mspx) -- 7Zip (http://www.7-zip.org/) -- Sed (http://gnuwin32.sourceforge.net/packages/sed.htm) - -The directories which contain 7z.exe, sed.exe and devcon.exe need to be in your %PATH% environment variable. Replace the file 'dsound.lib' in the [WINDDK]\[xxxx]\lib\w2k\i386 folder with the version from [WINDDK]\[xxxx]\lib\wxp\i386. - -The source files should be unpacked to [WINDDK]\[xxxx]\src\[\wdm]\audio\cmedia - -envars.bat - contains some environment variables: you probably want to change them -make.bat - creates a debug build for x86 systems -update.bat - replaces the currently installed driver with the x86 debug build -build-release-x64.bat - creates a non-WaveRT deployment build for x64 systems -build-release-x64-WaveRT.bat - creates a WaveRT deployment build for x64 systems -build-release-x86.bat - creates a non-WaveRT deployment build for x86 systems -build-release-x86-WaveRT.bat - creates a WaveRT deployment build for x86 systems -distclean.bat - cleans up and packs the source -build-all.bat - builds all versions and packs the source - -For testing and debugging, DebugView (http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx) is very helpful. - -If you have questions, feel free to mail me: dogber1@gmail.com \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/adapter.cpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/adapter.cpp index 9a385742b95..7edf3a4602b 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/adapter.cpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/adapter.cpp @@ -26,21 +26,31 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #define PUT_GUIDS_HERE - +#include #include "adapter.hpp" -#pragma code_seg("PAGE") +//#pragma code_seg("PAGE") -NTSTATUS InstallSubdevice(PDEVICE_OBJECT DeviceObject, PIRP Irp, PWCHAR Name, REFGUID PortClassId, REFGUID MiniportClassId, PFNCREATEINSTANCE MiniportCreate, PUNKNOWN UnknownAdapter, PRESOURCELIST ResourceList, REFGUID PortInterfaceId, PUNKNOWN* OutPortUnknown) +NTSTATUS InstallSubdevice( + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PWCHAR Name, + REFGUID PortClassId, + REFGUID MiniportClassId, + PFNCREATEINSTANCE MiniportCreate, + PUNKNOWN UnknownAdapter, + PRESOURCELIST ResourceList, + REFGUID PortInterfaceId, + PUNKNOWN* OutPortUnknown) { - PAGED_CODE(); - DBGPRINT(("InstallSubdevice()")); - NTSTATUS ntStatus; PPORT Port; PMINIPORT MiniPort; + ////PAGED_CODE(); + DBGPRINT(("InstallSubdevice()")); + ntStatus = PcNewPort(&Port, PortClassId); if (NT_SUCCESS(ntStatus)) { if (MiniportCreate) { @@ -76,19 +86,24 @@ NTSTATUS InstallSubdevice(PDEVICE_OBJECT DeviceObject, PIRP Irp, PWCHAR Name, RE } -NTSTATUS ProcessResources(PRESOURCELIST ResourceList, PRESOURCELIST* UartResourceList) +NTSTATUS +ProcessResources( + PRESOURCELIST ResourceList, + PRESOURCELIST* UartResourceList) { - PAGED_CODE(); - ASSERT(ResourceList); - ASSERT(UartResourceList); - DBGPRINT(("ProcessResources()")); - DBGPRINT(("NumberOfPorts: %d, NumberOfInterrupts: %d, NumberOfDmas: %d", ResourceList->NumberOfPorts(), ResourceList->NumberOfInterrupts(), ResourceList->NumberOfDmas())); + NTSTATUS ntStatus; + + ////PAGED_CODE(); + ////ASSERT(ResourceList); + ////ASSERT(UartResourceList); + //DBGPRINT(("ProcessResources()")); + //DBGPRINT(("NumberOfPorts: %d, NumberOfInterrupts: %d, NumberOfDmas: %d", ResourceList->NumberOfPorts(), ResourceList->NumberOfInterrupts(), ResourceList->NumberOfDmas())); #ifdef UART (*UartResourceList) = NULL; #endif - NTSTATUS ntStatus; + if ((ResourceList->NumberOfPorts() == 0) || (ResourceList->NumberOfPorts() > 2) || (ResourceList->NumberOfInterrupts() != 1) || (ResourceList->NumberOfDmas() != 0)) { DBGPRINT(("Unexpected configuration")); return STATUS_DEVICE_CONFIGURATION_ERROR; @@ -108,15 +123,16 @@ NTSTATUS ProcessResources(PRESOURCELIST ResourceList, PRESOURCELIST* UartResourc NTSTATUS StartDevice(PDEVICE_OBJECT DeviceObject, PIRP Irp, PRESOURCELIST ResourceList) { - PAGED_CODE(); - ASSERT(DeviceObject); - ASSERT(Irp); - ASSERT(ResourceList); - DBGPRINT(("StartDevice()")); - NTSTATUS ntStatus; PPORT pPort = 0; ULONG* MPUBase; +#if 0 + //PAGED_CODE(); + //ASSERT(DeviceObject); + //ASSERT(Irp); + //ASSERT(ResourceList); + DBGPRINT(("StartDevice()")); +#endif ntStatus = PcNewPort(&pPort,CLSID_PortWaveCyclic); if (NT_SUCCESS(ntStatus)) { @@ -248,22 +264,29 @@ NTSTATUS StartDevice(PDEVICE_OBJECT DeviceObject, PIRP Irp, PRESOURCELIST Resour return ntStatus; } -extern "C" NTSTATUS AddDevice(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT PhysicalDeviceObject) +extern +"C" +NTSTATUS +NTAPI +AddDevice( + PDRIVER_OBJECT DriverObject, + PDEVICE_OBJECT PhysicalDeviceObject) { - PAGED_CODE(); - DBGPRINT(("AddDevice()")); +#if 0 + //PAGED_CODE(); + DBGPRINT(("AddDevice()")); +#endif - return PcAddAdapterDevice(DriverObject, PhysicalDeviceObject, (PCPFNSTARTDEVICE)StartDevice, MAX_MINIPORTS, 0); + return PcAddAdapterDevice(DriverObject, PhysicalDeviceObject, (PCPFNSTARTDEVICE)StartDevice, MAX_MINIPORTS, 0); } bool CopyResourceDescriptor(PIO_RESOURCE_DESCRIPTOR pInResDescriptor, PIO_RESOURCE_DESCRIPTOR pOutResDescriptor) { - PAGED_CODE(); - ASSERT(pInResDescriptor); - ASSERT(pOutResDescriptor); - DBGPRINT(("CopyResourceDescriptor()")); - #if 0 + //PAGED_CODE(); + //ASSERT(pInResDescriptor); + //ASSERT(pOutResDescriptor); + DBGPRINT(("CopyResourceDescriptor()")); RtlCopyMemory(pOutResDescriptor, pInResDescriptor, sizeof(IO_RESOURCE_DESCRIPTOR)); #else pOutResDescriptor->Type = pInResDescriptor->Type; @@ -283,14 +306,18 @@ bool CopyResourceDescriptor(PIO_RESOURCE_DESCRIPTOR pInResDescriptor, PIO_RESOUR pOutResDescriptor->u.Port.MaximumAddress = pInResDescriptor->u.Port.MaximumAddress; pOutResDescriptor->u.Port.Length = pInResDescriptor->u.Port.Length; pOutResDescriptor->u.Port.Alignment = pInResDescriptor->u.Port.Alignment; +#if 0 DBGPRINT((" Port: min %08x.%08x max %08x.%08x, Length: %x, Option: %x", pOutResDescriptor->u.Port.MinimumAddress.HighPart, pOutResDescriptor->u.Port.MinimumAddress.LowPart, pOutResDescriptor->u.Port.MaximumAddress.HighPart, pOutResDescriptor->u.Port.MaximumAddress.LowPart, pOutResDescriptor->u.Port.Length, pOutResDescriptor->Option)); +#endif break; case CmResourceTypeInterrupt: pOutResDescriptor->u.Interrupt.MinimumVector = pInResDescriptor->u.Interrupt.MinimumVector; pOutResDescriptor->u.Interrupt.MaximumVector = pInResDescriptor->u.Interrupt.MaximumVector; +#if 0 DBGPRINT((" IRQ: min %x max %x, Option: %d", pOutResDescriptor->u.Interrupt.MinimumVector, pOutResDescriptor->u.Interrupt.MaximumVector, pOutResDescriptor->Option)); +#endif break; default: return FALSE; @@ -299,19 +326,25 @@ bool CopyResourceDescriptor(PIO_RESOURCE_DESCRIPTOR pInResDescriptor, PIO_RESOUR #endif } -extern "C" NTSTATUS AdapterDispatchPnp(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) +extern +"C" +NTSTATUS +NTAPI +AdapterDispatchPnp( + PDEVICE_OBJECT pDeviceObject, + PIRP pIrp) { - PAGED_CODE(); - ASSERT(pDeviceObject); - ASSERT(pIrp); - DBGPRINT(("AdapterDispatchPnp()")); - NTSTATUS ntStatus = STATUS_SUCCESS; ULONG resourceListSize; PIO_RESOURCE_REQUIREMENTS_LIST resourceList, list; PIO_RESOURCE_DESCRIPTOR descriptor; PIO_STACK_LOCATION pIrpStack = IoGetCurrentIrpStackLocation(pIrp); + ////PAGED_CODE(); + ////ASSERT(pDeviceObject); + ////ASSERT(pIrp); + DBGPRINT(("AdapterDispatchPnp()")); + if (pIrpStack->MinorFunction == IRP_MN_FILTER_RESOURCE_REQUIREMENTS) { DBGPRINT(("[AdapterDispatchPnp] - IRP_MN_FILTER_RESOURCE_REQUIREMENTS")); @@ -373,7 +406,7 @@ extern "C" NTSTATUS AdapterDispatchPnp(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) descriptor->u.Port.Length = 1; descriptor->u.Port.Alignment = 0x10; - DBGPRINT(("number of resource list descriptors: %d", resourceList->List[0].Count)); +// DBGPRINT(("number of resource list descriptors: %d", resourceList->List[0].Count)); pIrp->IoStatus.Information = (ULONG_PTR)resourceList; @@ -387,27 +420,35 @@ extern "C" NTSTATUS AdapterDispatchPnp(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) return ntStatus; } -extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPathName) +extern +"C" +NTSTATUS +NTAPI +DriverEntry( + PDRIVER_OBJECT DriverObject, + PUNICODE_STRING RegistryPathName) { - PAGED_CODE(); - DBGPRINT(("DriverEntry()")); + NTSTATUS ntStatus; + + DBGPRINT(("DriverEntry()")); + + + //bind the adapter driver to the portclass driver + ntStatus = PcInitializeAdapterDriver(DriverObject, RegistryPathName, AddDevice); - NTSTATUS ntStatus; - //bind the adapter driver to the portclass driver - ntStatus = PcInitializeAdapterDriver(DriverObject, RegistryPathName, AddDevice); #ifdef UART - if(NT_SUCCESS(ntStatus)) { - DriverObject->MajorFunction[IRP_MJ_PNP] = AdapterDispatchPnp; - } + if(NT_SUCCESS(ntStatus)) { + DriverObject->MajorFunction[IRP_MJ_PNP] = AdapterDispatchPnp; + } #endif #ifdef WAVERT - if (!IoIsWdmVersionAvailable(6,0)) { - ntStatus = STATUS_UNSUCCESSFUL; - } + if (!IoIsWdmVersionAvailable(6,0)) { + ntStatus = STATUS_UNSUCCESSFUL; + } #endif - return ntStatus; + return ntStatus; } #pragma code_seg() diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-all.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/build-all.bat deleted file mode 100644 index 53e1b814e8a..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-all.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -start /wait cmd.exe /c distclean.bat -start /wait cmd.exe /c build-release-x64.bat -start /wait cmd.exe /c build-release-x64-WaveRT.bat -start /wait cmd.exe /c build-release-x86.bat -start /wait cmd.exe /c build-release-x86-WaveRT.bat \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64-WaveRT.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64-WaveRT.bat deleted file mode 100644 index 1672e3be805..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64-WaveRT.bat +++ /dev/null @@ -1,32 +0,0 @@ -@echo off -call envars.bat -call %CMI_DDKDIR%\bin\setenv %CMI_DDKDIR% fre AMD64 -cd %CMI_BUILDDIR% -del CMIDriver-%CMI_VERSION%-bin-x64-WaveRT.zip -del installer\objfre_wlh_AMD64\AMD64\*.obj -del installer\objfre_wlh_AMD64\AMD64\*.exe -del cmicontrol\objfre_wlh_AMD64\AMD64\*.obj -del cmicontrol\objfre_wlh_AMD64\AMD64\*.exe -del cpl\objfre_wlh_AMD64\AMD64\*.obj -del cpl\objfre_wlh_AMD64\AMD64\*.exe -del objfre_wlh_AMD64\AMD64\*.obj -del objfre_wlh_AMD64\AMD64\*.sys -sed -i "s/CMIVERSION.*/CMIVERSION \"%CMI_VERSION%\"/" debug.hpp -sed -i "s/^\/\/#define WAVERT/#define WAVERT/" debug.hpp -nmake /x errors.err -mkdir release-x64-WaveRT -copy objfre_wlh_AMD64\AMD64\*.sys release-x64-WaveRT -sed -e "s/CMIVersion/%CMI_VERSION%/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x64-WaveRT.inf >release-x64-WaveRT\CM8738.inf -copy CHANGELOG.txt release-x64-WaveRT -cd cmicontrol -nmake /x errors.err -copy objfre_wlh_AMD64\AMD64\cmicontrol.exe ..\release-x64-WaveRT -cd ..\cpl -build -cZ -copy objfre_wlh_AMD64\AMD64\cmicpl.cpl ..\release-x64-WaveRT -cd ..\installer -build -cZ -copy objfre_wlh_AMD64\AMD64\setup.exe ..\release-x64-WaveRT -cd ..\release-x64-WaveRT -7z a -tzip ..\CMIDriver-%CMI_VERSION%-bin-x64-WaveRT.zip * -cd .. \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64.bat deleted file mode 100644 index a2843b008c4..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x64.bat +++ /dev/null @@ -1,32 +0,0 @@ -@echo off -call envars.bat -call %CMI_DDKDIR%\bin\setenv %CMI_DDKDIR% fre AMD64 -cd %CMI_BUILDDIR% -del CMIDriver-%CMI_VERSION%-bin-x64.zip -del installer\objfre_wlh_AMD64\AMD64\*.obj -del installer\objfre_wlh_AMD64\AMD64\*.exe -del cmicontrol\objfre_wlh_AMD64\AMD64\*.obj -del cmicontrol\objfre_wlh_AMD64\AMD64\*.exe -del cpl\objfre_wlh_AMD64\AMD64\*.obj -del cpl\objfre_wlh_AMD64\AMD64\*.exe -del objfre_wlh_AMD64\AMD64\*.obj -del objfre_wlh_AMD64\AMD64\*.sys -sed -i "s/CMIVERSION.*/CMIVERSION \"%CMI_VERSION%\"/" debug.hpp -sed -i "s/^#define WAVERT/\/\/#define WAVERT/" debug.hpp -nmake /x errors.err -mkdir release-x64 -copy objfre_wlh_AMD64\AMD64\*.sys release-x64 -sed -e "s/CMIVersion/%CMI_VERSION%/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x64.inf >release-x64\CM8738.inf -copy CHANGELOG.txt release-x64 -cd cmicontrol -nmake /x errors.err -copy objfre_wlh_AMD64\AMD64\cmicontrol.exe ..\release-x64 -cd ..\cpl -build -cZ -copy objfre_wlh_AMD64\AMD64\cmicpl.cpl ..\release-x64 -cd ..\installer -build -cZ -copy objfre_wlh_AMD64\AMD64\setup.exe ..\release-x64 -cd ..\release-x64 -7z a -tzip ..\CMIDriver-%CMI_VERSION%-bin-x64.zip * -cd .. \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86-WaveRT.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86-WaveRT.bat deleted file mode 100644 index 02c6bbe6f09..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86-WaveRT.bat +++ /dev/null @@ -1,32 +0,0 @@ -@echo off -call envars.bat -call %CMI_DDKDIR%\bin\setenv %CMI_DDKDIR% fre x86 -cd %CMI_BUILDDIR% -del CMIDriver-%CMI_VERSION%-bin-x86-WaveRT.zip -del installer\objfre_wlh_x86\i386\*.obj -del installer\objfre_wlh_x86\i386\*.exe -del cmicontrol\objfre_wlh_x86\i386\*.obj -del cmicontrol\objfre_wlh_x86\i386\*.exe -del cpl\objfre_wlh_x86\i386\*.obj -del cpl\objfre_wlh_x86\i386\*.exe -del objfre_wlh_x86\i386\*.obj -del objfre_wlh_x86\i386\*.sys -sed -i "s/CMIVERSION.*/CMIVERSION \"%CMI_VERSION%\"/" debug.hpp -sed -i "s/^\/\/#define WAVERT/#define WAVERT/" debug.hpp -nmake /x errors.err -mkdir release-x86-WaveRT -copy objfre_wlh_x86\i386\*.sys release-x86-WaveRT -sed -e "s/CMIVersion/%CMI_VERSION%/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x32-WaveRT.inf >release-x86-WaveRT\CM8738.inf -copy CHANGELOG.txt release-x86-WaveRT -cd cmicontrol -nmake /x errors.err -copy objfre_wlh_x86\i386\cmicontrol.exe ..\release-x86-WaveRT -cd ..\cpl -build -cZ -copy objfre_wlh_x86\i386\cmicpl.cpl ..\release-x86-WaveRT -cd ..\installer -build -cZ -copy objfre_wlh_x86\i386\setup.exe ..\release-x86-WaveRT -cd ..\release-x86-WaveRT -7z a -tzip ..\CMIDriver-%CMI_VERSION%-bin-x86-WaveRT.zip * -cd .. \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86.bat deleted file mode 100644 index 823d55a0049..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/build-release-x86.bat +++ /dev/null @@ -1,32 +0,0 @@ -@echo off -call envars.bat -call %CMI_DDKDIR%\bin\setenv %CMI_DDKDIR% fre x86 wxp -cd %CMI_BUILDDIR% -del CMIDriver-%CMI_VERSION%-bin-x86.zip -del installer\objfre_wxp_x86\i386\*.obj -del installer\objfre_wxp_x86\i386\*.exe -del cmicontrol\objfre_wxp_x86\i386\*.obj -del cmicontrol\objfre_wxp_x86\i386\*.exe -del cpl\objfre_wxp_x86\i386\*.obj -del cpl\objfre_wxp_x86\i386\*.exe -del objfre_wxp_x86\i386\*.obj -del objfre_wxp_x86\i386\*.sys -sed -i "s/CMIVERSION.*/CMIVERSION \"%CMI_VERSION%\"/" debug.hpp -sed -i "s/^#define WAVERT/\/\/#define WAVERT/" debug.hpp -nmake /x errors.err -mkdir release-x86 -copy objfre_wxp_x86\i386\*.sys release-x86 -sed -e "s/CMIVersion/%CMI_VERSION%/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x32.inf >release-x86\CM8738.inf -copy CHANGELOG.txt release-x86 -cd cmicontrol -nmake /x errors.err -copy objfre_wxp_x86\i386\cmicontrol.exe ..\release-x86 -cd ..\cpl -build -cZ -copy objfre_wxp_x86\i386\cmicpl.cpl ..\release-x86 -cd ..\installer -build -cZ -copy objfre_wxp_x86\i386\setup.exe ..\release-x86 -cd ..\release-x86 -7z a -tzip ..\CMIDriver-%CMI_VERSION%-bin-x86.zip * -cd .. \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild b/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild new file mode 100644 index 00000000000..82b9dc34dd3 --- /dev/null +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild @@ -0,0 +1,14 @@ + + + + . + ntoskrnl + portcls + hal + ks + adapter.cpp + common.cpp + mintopo.cpp + minwave.cpp + cmipci.rc + \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/cmireg.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/cmireg.hpp index 09c1e9e7fe3..199c4d0c2d5 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/cmireg.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/cmireg.hpp @@ -170,4 +170,4 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define SBREG_EXTENSION 0xF0 // Soundblaster Extension Register (8bit) #define EN_MICBOOST 0x01 // enable microphone boost for recording -#endif \ No newline at end of file +#endif diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/common.cpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/common.cpp index d31d39ff434..27bbfc0e369 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/common.cpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/common.cpp @@ -29,22 +29,31 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #pragma code_seg("PAGE") -NTSTATUS NewCMIAdapter(PUNKNOWN *Unknown, REFCLSID, PUNKNOWN UnknownOuter, POOL_TYPE PoolType) +NTSTATUS +NewCMIAdapter( + PUNKNOWN *Unknown, + REFCLSID, + PUNKNOWN UnknownOuter, + POOL_TYPE PoolType) { - PAGED_CODE(); +#if 0 + //PAGED_CODE(); DBGPRINT(("NewCMIAdapter()")); - ASSERT (Unknown); + //ASSERT (Unknown); +#endif STD_CREATE_BODY_(CCMIAdapter, Unknown, UnknownOuter, PoolType, PCMIADAPTER); } STDMETHODIMP_(NTSTATUS) CCMIAdapter::init(PRESOURCELIST ResourceList, PDEVICE_OBJECT aDeviceObject) { - PAGED_CODE(); - ASSERT(ResourceList); - ASSERT(aDeviceObject); - ASSERT(ResourceList->FindTranslatedPort(0)); +#if 0 + //PAGED_CODE(); + //ASSERT(ResourceList); + //ASSERT(aDeviceObject); + //ASSERT(ResourceList->FindTranslatedPort(0)); DBGPRINT(("CCMIAdapter[%p]::init()", this)); +#endif NTSTATUS ntStatus = STATUS_SUCCESS; @@ -110,7 +119,7 @@ STDMETHODIMP_(NTSTATUS) CCMIAdapter::init(PRESOURCELIST ResourceList, PDEVICE_OB CCMIAdapter::~CCMIAdapter() { - PAGED_CODE (); + //PAGED_CODE (); DBGPRINT(("CCMIAdapter[%p]::~CCMIAdapter()", this)); if (InterruptSync) { @@ -122,11 +131,11 @@ CCMIAdapter::~CCMIAdapter() STDMETHODIMP_(NTSTATUS) CCMIAdapter::NonDelegatingQueryInterface(REFIID Interface, PVOID* Object) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::NonDelegatingQueryInterface()", this)); - ASSERT(Object); + //ASSERT(Object); // Is it IID_IUnknown? if (IsEqualGUIDAligned (Interface, IID_IUnknown)) { @@ -155,7 +164,7 @@ STDMETHODIMP_(NTSTATUS) CCMIAdapter::NonDelegatingQueryInterface(REFIID Interfac bool CCMIAdapter::queryChip() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::queryChip()", this)); UInt32 version = readUInt32(REG_INTHLDCLR) & VERSION_MASK; @@ -216,7 +225,7 @@ bool CCMIAdapter::queryChip() void CCMIAdapter::resetMixer() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::resetMixer()", this)); writeMixer(0, 0); @@ -225,8 +234,10 @@ void CCMIAdapter::resetMixer() void CCMIAdapter::resetController() { - PAGED_CODE(); +#if 0 + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::resetController()", this)); +#endif writeUInt32(REG_INTHLDCLR, 0); @@ -258,10 +269,11 @@ void CCMIAdapter::resetController() STDMETHODIMP_(NTSTATUS) CCMIAdapter::activateMPU(ULONG* MPUBase) { - PAGED_CODE(); - DBGPRINT(("CCMIAdapter[%p]::activateMPU(%X)", this, MPUBase)); - UInt32 LegacyCtrl; +#if 0 + //PAGED_CODE(); + DBGPRINT(("CCMIAdapter[%p]::activateMPU(%X)", this, MPUBase)); +#endif switch ((LONGLONG)MPUBase) { case 0x300: LegacyCtrl = UART_300; break; @@ -284,8 +296,10 @@ STDMETHODIMP_(NTSTATUS) CCMIAdapter::activateMPU(ULONG* MPUBase) // XP's order of power states when going to hibernate: D3 -> D0, waking up: D0 -> D3. STDMETHODIMP_(void) CCMIAdapter::PowerChangeState(POWER_STATE NewState) { - PAGED_CODE(); +#if 0 + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::PowerChangeState(%p)", this, NewState)); +#endif if (NewState.DeviceState == CurrentPowerState ) { return; @@ -318,25 +332,31 @@ STDMETHODIMP_(void) CCMIAdapter::PowerChangeState(POWER_STATE NewState) STDMETHODIMP_(NTSTATUS) CCMIAdapter::QueryPowerChangeState(POWER_STATE NewStateQuery) { - PAGED_CODE(); +#if 0 + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::QueryPowerChangeState(%p)", this, NewStateQuery)); +#endif return STATUS_SUCCESS; } STDMETHODIMP_(NTSTATUS) CCMIAdapter::QueryDeviceCapabilities(PDEVICE_CAPABILITIES PowerDeviceCaps) { - PAGED_CODE(); +#if 0 + //PAGED_CODE(); DBGPRINT(("CCMIAdapter[%p]::QueryDeviceCapabilities(%p)", this, PowerDeviceCaps)); +#endif return STATUS_SUCCESS; } STDMETHODIMP_(NTSTATUS) CCMIAdapter::loadSBMixerFromMemory() { - PAGED_CODE(); - DBGPRINT(("CCMIAdapter[%p]::loadSBMixerFromMemory()", this)); UInt8 sbIndex[] = { 0x04, 0x0A, 0x22, 0x28, 0x2E, 0x30, 0x31, 0x32, 0x33, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3C, 0x3D, 0x3E, 0xF0 }; +#if 0 + //PAGED_CODE(); + DBGPRINT(("CCMIAdapter[%p]::loadSBMixerFromMemory()", this)); +#endif for (int i = 0; i<(sizeof(sbIndex)/sizeof(sbIndex[0]));i++) { writeUInt8(REG_SBINDEX, sbIndex[i]); writeUInt8(REG_SBDATA, mixerCache[i]); @@ -431,13 +451,15 @@ STDMETHODIMP_(void) CCMIAdapter::clearMixerBit(UInt8 index, UInt8 flag) NTSTATUS CCMIAdapter::InterruptServiceRoutine(PINTERRUPTSYNC InterruptSync, PVOID DynamicContext) { - ASSERT(InterruptSync); - ASSERT(DynamicContext); - UInt32 status, mask = 0; CCMIAdapter *CMIAdapter = (CCMIAdapter *)DynamicContext; +#if 0 + //ASSERT(InterruptSync); + //ASSERT(DynamicContext); +#endif + if (!(CMIAdapter->cm.WaveMiniport)) { return STATUS_UNSUCCESSFUL; } diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/common.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/common.hpp index 919cb9970c8..3502662176e 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/common.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/common.hpp @@ -28,11 +28,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef _COMMON_HPP_ #define _COMMON_HPP_ +#include "ntddk.h" #include "stdunk.h" #include "portcls.h" #include "dmusicks.h" #include "ksdebug.h" #include "kcom.h" +#include "ksmedia.h" #include "interfaces.hpp" #include "debug.hpp" diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/debug.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/debug.hpp index 598cad7a5ae..428b496d014 100644 Binary files a/reactos/drivers/wdm/audio/drivers/CMIDriver/debug.hpp and b/reactos/drivers/wdm/audio/drivers/CMIDriver/debug.hpp differ diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/distclean.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/distclean.bat deleted file mode 100644 index e7d8b07ddba..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/distclean.bat +++ /dev/null @@ -1,53 +0,0 @@ -@echo off -call envars.bat - -rd /s /q cpl\objchk_wxp_x86 -rd /s /q cpl\objchk_wxp_amd64 -rd /s /q cpl\objfre_wxp_x86 -rd /s /q cpl\objfre_wxp_amd64 -rd /s /q cpl\objchk_wlh_x86 -rd /s /q cpl\objchk_wlh_amd64 -rd /s /q cpl\objfre_wlh_x86 -rd /s /q cpl\objfre_wlh_amd64 -del cpl\errors.err -del cpl\build*.* - -rd /s /q cmicontrol\objchk_wxp_x86 -rd /s /q cmicontrol\objchk_wxp_amd64 -rd /s /q cmicontrol\objfre_wxp_x86 -rd /s /q cmicontrol\objfre_wxp_amd64 -rd /s /q cmicontrol\objchk_wlh_x86 -rd /s /q cmicontrol\objchk_wlh_amd64 -rd /s /q cmicontrol\objfre_wlh_x86 -rd /s /q cmicontrol\objfre_wlh_amd64 -del cmicontrol\errors.err -del cmicontrol\build*.* - -rd /s /q installer\objchk_wxp_x86 -rd /s /q installer\objchk_wxp_amd64 -rd /s /q installer\objfre_wxp_x86 -rd /s /q installer\objfre_wxp_amd64 -rd /s /q installer\objchk_wlh_x86 -rd /s /q installer\objchk_wlh_amd64 -rd /s /q installer\objfre_wlh_x86 -rd /s /q installer\objfre_wlh_amd64 -del installer\errors.err -del installer\build*.* - -rd /s /q objchk_wxp_x86 -rd /s /q objchk_wxp_amd64 -rd /s /q objfre_wxp_x86 -rd /s /q objfre_wxp_amd64 -rd /s /q objchk_wlh_x86 -rd /s /q objchk_wlh_amd64 -rd /s /q objfre_wlh_x86 -rd /s /q objfre_wlh_amd64 -del errors.err - -rd /s /q release-x86 -rd /s /q release-x64 -rd /s /q release-x86-WaveRT -rd /s /q release-x64-WaveRT -rd /s /q debug-x86 -del *.zip -7z a -tzip CMIDriver-%CMI_VERSION%-src.zip * cmicontrol\* cpl\* installer\* \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/envars.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/envars.bat deleted file mode 100644 index 9407422dfb3..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/envars.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -set CMI_DDKDIR=c:\WinDDK\6000 -set CMI_BUILDDIR=C:\WinDDK\6000\src\Audio\CMedia -set CMI_VERSION=1.1.3 -REM the slashes need to be escaped for sed.exe -set CMI_RELEASEDATE=06\/30\/2007 -REM wxp | wlh -set CMI_DEBUGOS=wlh -REM x86 | AMD64 -set CMI_DEBUGARCH=x86 -REM WaveRT | -set CMI_DEBUGVER= -REM find out with 'devcon dp_enum' -set CMI_OEMINF="oem1.inf" \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/interfaces.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/interfaces.hpp index 80b9cd87974..16c76cc1921 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/interfaces.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/interfaces.hpp @@ -28,8 +28,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef _INTERFACES_HPP_ #define _INTERFACES_HPP_ +#include #include #include +#include #define MAXLEN_DMA_BUFFER 0x18000 #define MAX_OUTPUT_STREAMS 1 @@ -460,4 +462,4 @@ enum KSNODE_WAVE_INVALID }; -#endif //_INTERFACES_HPP_ \ No newline at end of file +#endif //_INTERFACES_HPP_ diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/make.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/make.bat deleted file mode 100644 index 383b007c4d1..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/make.bat +++ /dev/null @@ -1,40 +0,0 @@ -@echo off -call envars.bat -if "%DDKBUILDENV%"=="chk" goto :AlreadyDefined -call %CMI_DDKDIR%\bin\setenv %CMI_DDKDIR% chk %CMI_DEBUGARCH% %CMI_DEBUGOS% -:AlreadyDefined -cd %CMI_BUILDDIR% - -if "%CMI_DEBUGARCH%"=="AMD64" goto :x64 -set CMI_DEBUGDIR=objchk_%CMI_DEBUGOS%_%CMI_DEBUGARCH%\i386 -mkdir %CMI_DEBUGDIR% -sed -e "s/CMIVersion/%CMI_VERSION%-dbg/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x32%WAVERTSTR%.INF >%CMI_DEBUGDIR%\CM8738.inf -goto start -:x64 -set CMI_DEBUGDIR=objchk_%CMI_DEBUGOS%_%CMI_DEBUGARCH%\AMD64 -mkdir %CMI_DEBUGDIR% -sed -e "s/CMIVersion/%CMI_VERSION%-dbg/" -e "s/CMIReleaseDate/%CMI_RELEASEDATE%/" CM8738-x64%WAVERTSTR%.inf >%CMI_DEBUGDIR%\CM8738.inf - -:start -del %CMI_DEBUGDIR%\*.obj - -sed -i "s/CMIVERSION.*/CMIVERSION \"%CMI_VERSION%-debug\"/" debug.hpp - -if "%CMI_DEBUGVER%"=="WaveRT" goto :WaveRT -sed -i "s/^#define WAVERT/\/\/#define WAVERT/" debug.hpp -goto next -:WaveRT -sed -i "s/^\/\/#define WAVERT/#define WAVERT/" debug.hpp -:next - -nmake /x errors.err - -if "%CMI_DEBUGVER%"=="WaveRT" goto :WaveRT2 -set WAVERTSTR="" -goto end -:WaveRT2 -set WAVERTSTR="-WAVERT" - -:end -sed -i "s/^cmicpl.*$//g" %CMI_DEBUGDIR%\CM8738.inf -sed -i "s/^CMICONTROL.*$//g" %CMI_DEBUGDIR%\CM8738.inf diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/makefile b/reactos/drivers/wdm/audio/drivers/CMIDriver/makefile deleted file mode 100644 index 67a66452b9f..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/makefile +++ /dev/null @@ -1,6 +0,0 @@ -!if defined(DDK_TARGET_OS) && "$(DDK_TARGET_OS)"!="Win2K" -!INCLUDE $(NTMAKEENV)\makefile.def -!else -!message This project is for Windows XP (or later) only. -!endif - diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.cpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.cpp index f42c9b2a461..508522757e6 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.cpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.cpp @@ -35,18 +35,18 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. NTSTATUS CreateMiniportTopologyCMI(PUNKNOWN* Unknown, REFCLSID, PUNKNOWN UnknownOuter, POOL_TYPE PoolType) { - PAGED_CODE(); - ASSERT(Unknown); + //PAGED_CODE(); + //ASSERT(Unknown); STD_CREATE_BODY_(CCMITopology,Unknown,UnknownOuter,PoolType,PMINIPORTTOPOLOGY); } STDMETHODIMP CCMITopology::NonDelegatingQueryInterface(REFIID Interface, PVOID* Object) { - PAGED_CODE(); - ASSERT(Object); + //PAGED_CODE(); + //ASSERT(Object); DBGPRINT(("CCMITopology::NonDelegatingQueryInterface")); - if (IsEqualGUIDAligned(Interface,IID_IUnknown)) { + if (IsEqualGUIDAligned(Interface, IID_IUnknown)) { *Object = PVOID(PUNKNOWN(PMINIPORTTOPOLOGY(this))); } else if (IsEqualGUIDAligned(Interface,IID_IMiniport)) { *Object = PVOID(PMINIPORT(this)); @@ -68,7 +68,7 @@ STDMETHODIMP CCMITopology::NonDelegatingQueryInterface(REFIID Interface, PVOID* CCMITopology::~CCMITopology() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMITopology::~CCMITopology")); @@ -82,9 +82,9 @@ CCMITopology::~CCMITopology() STDMETHODIMP CCMITopology::Init(PUNKNOWN UnknownAdapter, PRESOURCELIST ResourceList, PPORTTOPOLOGY Port) { - PAGED_CODE(); - ASSERT(UnknownAdapter); - ASSERT(Port); + //PAGED_CODE(); + //ASSERT(UnknownAdapter); + //ASSERT(Port); DBGPRINT(("CCMITopology::Init")); NTSTATUS ntStatus = UnknownAdapter->QueryInterface(IID_ICMIAdapter, (PVOID *)&CMIAdapter); @@ -111,8 +111,8 @@ STDMETHODIMP CCMITopology::Init(PUNKNOWN UnknownAdapter, PRESOURCELIST ResourceL STDMETHODIMP CCMITopology::GetDescription(PPCFILTER_DESCRIPTOR* OutFilterDescriptor) { - PAGED_CODE(); - ASSERT(OutFilterDescriptor); + //PAGED_CODE(); + //ASSERT(OutFilterDescriptor); DBGPRINT(("CCMITopology::GetDescription")); *OutFilterDescriptor = &MiniportFilterDescriptor; @@ -122,7 +122,7 @@ STDMETHODIMP CCMITopology::GetDescription(PPCFILTER_DESCRIPTOR* OutFilterDescri STDMETHODIMP CCMITopology::loadMixerSettingsFromRegistry() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMITopology::loadMixerSettingsFromRegistry")); PREGISTRYKEY DriverKey; @@ -269,7 +269,7 @@ STDMETHODIMP CCMITopology::loadMixerSettingsFromRegistry() STDMETHODIMP CCMITopology::storeMixerSettingsToRegistry() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMITopology::storeMixerSettingsToRegistry")); PREGISTRYKEY DriverKey; @@ -429,7 +429,7 @@ STDMETHODIMP CCMITopology::storeMixerSettingsToRegistry() STDMETHODIMP CCMITopology::loadMixerSettingsFromMemory() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMITopology::loadMixerSettingsFromMemory")); CMIAdapter->resetMixer(); @@ -449,7 +449,7 @@ STDMETHODIMP CCMITopology::loadMixerSettingsFromMemory() STDMETHODIMP CCMITopology::storeMixerSettingsToMemory() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CCMITopology::storeMixerSettingsToMemory")); mixer1Register = CMIAdapter->readUInt8(REG_MIXER1); @@ -462,10 +462,10 @@ STDMETHODIMP CCMITopology::storeMixerSettingsToMemory() return STATUS_SUCCESS; } -static NTSTATUS PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_OnOff]")); CCMITopology *that = (CCMITopology *) ((PMINIPORTTOPOLOGY) PropertyRequest->MajorTarget); @@ -1013,8 +1013,8 @@ static NTSTATUS PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest) static NTSTATUS BasicSupportHandler(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[BasicSupportHandler]")); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; @@ -1081,10 +1081,10 @@ static NTSTATUS BasicSupportHandler(PPCPROPERTY_REQUEST PropertyRequest) return ntStatus; } -static NTSTATUS PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_Level]")); CCMITopology *that = (CCMITopology *) ((PMINIPORTTOPOLOGY) PropertyRequest->MajorTarget); @@ -1218,11 +1218,10 @@ static NTSTATUS PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest) return ntStatus; } - -static NTSTATUS PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_CpuResources]")); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; @@ -1271,10 +1270,10 @@ static NTSTATUS PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyReque return ntStatus; } -NTSTATUS PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_ComponentId]")); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; @@ -1317,10 +1316,10 @@ NTSTATUS PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest) return ntStatus; } -NTSTATUS PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_Private]")); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; @@ -1347,8 +1346,8 @@ NTSTATUS PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest) #endif cmiData->hardwareRevision = that->cm->chipVersion; cmiData->maxChannels = that->cm->maxChannels; - cmiData->IOBase = (USHORT)that->cm->IOBase; - cmiData->MPUBase = (USHORT)that->cm->MPUBase; + cmiData->IOBase = (USHORT)(ULONG_PTR)that->cm->IOBase; + cmiData->MPUBase = (USHORT)(ULONG_PTR)that->cm->MPUBase; cmiData->enableSPDO = that->cm->enableSPDIFOut; cmiData->enableSPDI = that->cm->enableSPDIFIn; cmiData->formatMask = that->cm->formatMask; diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.hpp index 5bec34fcc5b..3ce6f1b2eb7 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopo.hpp @@ -80,14 +80,14 @@ public: ); //friends - friend NTSTATUS PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest); - friend NTSTATUS PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest); - friend NTSTATUS PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest); - friend NTSTATUS PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest); - friend NTSTATUS PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest); - friend NTSTATUS PropertyHandler_Mux(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_Mux(PPCPROPERTY_REQUEST PropertyRequest); - static NTSTATUS EventHandler(PPCEVENT_REQUEST EventRequest); + static NTSTATUS NTAPI EventHandler(PPCEVENT_REQUEST EventRequest); }; #endif //_MINTOPO_HPP_ diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopotables.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopotables.hpp index c97bb1e6368..922643ad334 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopotables.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/mintopotables.hpp @@ -37,6 +37,11 @@ DEFINE_GUIDSTRUCT("00000092-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_D #define KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF) #endif +NTSTATUS NTAPI PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest); +NTSTATUS NTAPI PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest); +NTSTATUS NTAPI PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest); +NTSTATUS NTAPI PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest); +NTSTATUS NTAPI PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest); static KSDATARANGE PinDataRangesBridge[] = { @@ -292,15 +297,16 @@ static PCPROPERTY_ITEM PropertiesVolume[] = &KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_Level + (PCPFNPROPERTY_HANDLER)PropertyHandler_Level }, { &KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_CpuResources + (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources } }; + DEFINE_PCAUTOMATION_TABLE_PROP(AutomationVolume,PropertiesVolume); static PCPROPERTY_ITEM PropertiesLoudness[] = @@ -309,13 +315,13 @@ static PCPROPERTY_ITEM PropertiesLoudness[] = &KSPROPSETID_Audio, KSPROPERTY_AUDIO_LOUDNESS, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_OnOff + (PCPFNPROPERTY_HANDLER)PropertyHandler_OnOff }, { &KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_CpuResources + (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources } }; DEFINE_PCAUTOMATION_TABLE_PROP(AutomationLoudness,PropertiesLoudness); @@ -326,13 +332,13 @@ static PCPROPERTY_ITEM PropertiesMute[] = &KSPROPSETID_Audio, KSPROPERTY_AUDIO_MUTE, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_OnOff + (PCPFNPROPERTY_HANDLER)PropertyHandler_OnOff }, { &KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_CpuResources + (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources } }; DEFINE_PCAUTOMATION_TABLE_PROP(AutomationMute,PropertiesMute); @@ -343,19 +349,19 @@ static PCPROPERTY_ITEM PropertiesFilter[] = &KSPROPSETID_General, KSPROPERTY_GENERAL_COMPONENTID, KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT, - PropertyHandler_ComponentId + (PCPFNPROPERTY_HANDLER)PropertyHandler_ComponentId }, { &KSPROPSETID_CMI, KSPROPERTY_CMI_GET, KSPROPERTY_TYPE_GET, - PropertyHandler_Private + (PCPFNPROPERTY_HANDLER)PropertyHandler_Private }, { &KSPROPSETID_CMI, KSPROPERTY_CMI_SET, KSPROPERTY_TYPE_SET, - PropertyHandler_Private + (PCPFNPROPERTY_HANDLER)PropertyHandler_Private } }; DEFINE_PCAUTOMATION_TABLE_PROP(AutomationFilter,PropertiesFilter); diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.cpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.cpp index a2415b94101..36bdef570e2 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.cpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.cpp @@ -33,8 +33,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. NTSTATUS CreateMiniportWaveCMI(PUNKNOWN *Unknown, REFCLSID, PUNKNOWN UnknownOuter, POOL_TYPE PoolType) { - PAGED_CODE(); - ASSERT(Unknown); + //PAGED_CODE(); + //ASSERT(Unknown); #ifdef WAVERT STD_CREATE_BODY_(CMiniportWaveCMI,Unknown,UnknownOuter,PoolType,PMINIPORTWAVERT); #else @@ -44,8 +44,8 @@ NTSTATUS CreateMiniportWaveCMI(PUNKNOWN *Unknown, REFCLSID, PUNKNOWN UnknownOute NTSTATUS CMiniportWaveCMI::processResources(PRESOURCELIST resourceList) { - PAGED_CODE(); - ASSERT (resourceList); + //PAGED_CODE(); + //ASSERT (resourceList); DBGPRINT(("CMiniportWaveCMI[%p]::ProcessResources(%p)", this, resourceList)); if (resourceList->NumberOfInterrupts() < 1) { @@ -58,8 +58,8 @@ NTSTATUS CMiniportWaveCMI::processResources(PRESOURCELIST resourceList) #ifndef WAVERT NTSTATUS CMiniportWaveCMI::newDMAChannel(PDMACHANNEL *dmaChannel, UInt32 bufferLength) { - PAGED_CODE(); - ASSERT(dmaChannel); + //PAGED_CODE(); + //ASSERT(dmaChannel); DBGPRINT(("CMiniportWaveCMI[%p]::newDMAChannel(%p)", this, dmaChannel)); NTSTATUS ntStatus; @@ -79,8 +79,8 @@ NTSTATUS CMiniportWaveCMI::newDMAChannel(PDMACHANNEL *dmaChannel, UInt32 bufferL //generic crap STDMETHODIMP CMiniportWaveCMI::NonDelegatingQueryInterface(REFIID Interface, PVOID *Object) { - PAGED_CODE(); - ASSERT(Object); + //PAGED_CODE(); + //ASSERT(Object); DBGPRINT(("CMiniportWaveCMI[%p]::NonDelegatingQueryInterface")); if (IsEqualGUIDAligned(Interface,IID_IUnknown)) { @@ -113,7 +113,7 @@ STDMETHODIMP CMiniportWaveCMI::NonDelegatingQueryInterface(REFIID Interface, PVO CMiniportWaveCMI::~CMiniportWaveCMI(void) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveCMI[%p]::~CMiniportWaveCMI", this)); storeChannelConfigToRegistry(); //or not. during system shutdown, this doesn't seem to work. @@ -149,11 +149,11 @@ STDMETHODIMP CMiniportWaveCMI::Init(PUNKNOWN UnknownAdapter, PRESOURCELIST Resou STDMETHODIMP CMiniportWaveCMI::Init(PUNKNOWN UnknownAdapter, PRESOURCELIST ResourceList, PPORTWAVECYCLIC Port_) #endif { - PAGED_CODE(); + //PAGED_CODE(); - ASSERT(UnknownAdapter); - ASSERT(ResourceList); - ASSERT(Port_); + //ASSERT(UnknownAdapter); + //ASSERT(ResourceList); + //ASSERT(Port_); DBGPRINT(("CMiniportWaveCMI[%p]::Init(%p, %p, %p)", this, UnknownAdapter, ResourceList, Port_)); @@ -201,8 +201,8 @@ STDMETHODIMP CMiniportWaveCMI::Init(PUNKNOWN UnknownAdapter, PRESOURCELIST Resou #ifdef WAVERT STDMETHODIMP_(NTSTATUS) CMiniportWaveCMI::GetDeviceDescription(PDEVICE_DESCRIPTION OutDeviceDescriptor) { - PAGED_CODE(); - ASSERT(OutDeviceDescriptor); + //PAGED_CODE(); + //ASSERT(OutDeviceDescriptor); DBGPRINT(("CMiniportWaveCMI[%p]::GetDeviceDescription(%p)", this, OutDeviceDescriptor)); RtlZeroMemory(OutDeviceDescriptor, sizeof(DEVICE_DESCRIPTION)); @@ -218,8 +218,8 @@ STDMETHODIMP_(NTSTATUS) CMiniportWaveCMI::GetDeviceDescription(PDEVICE_DESCRIPTI STDMETHODIMP CMiniportWaveCMI::GetDescription(PPCFILTER_DESCRIPTOR *OutFilterDescriptor) { - PAGED_CODE(); - ASSERT(OutFilterDescriptor); + //PAGED_CODE(); + //ASSERT(OutFilterDescriptor); DBGPRINT(("CMiniportWaveCMI[%p]::GetDescription(%p)", this, OutFilterDescriptor)); *OutFilterDescriptor = &WaveMiniportFilterDescriptor; @@ -229,7 +229,7 @@ STDMETHODIMP CMiniportWaveCMI::GetDescription(PPCFILTER_DESCRIPTOR *OutFilterDes NTSTATUS CMiniportWaveCMI::loadChannelConfigFromRegistry() { - PAGED_CODE(); + //PAGED_CODE(); PREGISTRYKEY DriverKey; PREGISTRYKEY SettingsKey; UNICODE_STRING KeyName; @@ -291,7 +291,7 @@ NTSTATUS CMiniportWaveCMI::loadChannelConfigFromRegistry() NTSTATUS CMiniportWaveCMI::storeChannelConfigToRegistry() { - PAGED_CODE(); + //PAGED_CODE(); PREGISTRYKEY DriverKey; PREGISTRYKEY SettingsKey; UNICODE_STRING KeyName; @@ -339,7 +339,7 @@ NTSTATUS CMiniportWaveCMI::storeChannelConfigToRegistry() STDMETHODIMP_(void) CMiniportWaveCMI::powerUp(void) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveCMI[%p]::powerUp()", this)); KSSTATE oldState[3]; @@ -365,7 +365,7 @@ STDMETHODIMP_(void) CMiniportWaveCMI::powerUp(void) STDMETHODIMP_(void) CMiniportWaveCMI::powerDown(void) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveCMI[%p]::powerDown()", this)); if (cm->TopoMiniport) { @@ -377,8 +377,8 @@ STDMETHODIMP_(void) CMiniportWaveCMI::powerDown(void) NTSTATUS CMiniportWaveCMI::isFormatAllowed(UInt32 sampleRate, BOOLEAN multiChan, BOOLEAN AC3) { - PAGED_CODE(); - ASSERT(sampleRate); + //PAGED_CODE(); + //ASSERT(sampleRate); DBGPRINT(("CMiniportWaveCMI[%p]::isFormatAllowed(%d, %d, %d)", this, sampleRate, multiChan, AC3)); if (multiChan) { @@ -410,8 +410,8 @@ NTSTATUS CMiniportWaveCMI::isFormatAllowed(UInt32 sampleRate, BOOLEAN multiChan, NTSTATUS CMiniportWaveCMI::validateFormat(PKSDATAFORMAT format, ULONG PinID, BOOLEAN capture) { - PAGED_CODE(); - ASSERT(format); + //PAGED_CODE(); + //ASSERT(format); DBGPRINT(("CMiniportWaveCMI[%p]::validateFormat(%p, %d, %d)", this, format, PinID, capture)); PWAVEFORMATEX waveFormat = PWAVEFORMATEX(format + 1); @@ -468,7 +468,7 @@ NTSTATUS CMiniportWaveCMI::validateFormat(PKSDATAFORMAT format, ULONG PinID, BOO // Tests a data range intersection STDMETHODIMP CMiniportWaveCMI::DataRangeIntersection(ULONG PinId, PKSDATARANGE ClientDataRange, PKSDATARANGE MyDataRange, ULONG OutputBufferLength, PVOID ResultantFormat, PULONG ResultantFormatLength) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveCMI[%p]::DataRangeIntersection(%d, %p, %p, %d, %p, %p)", this, PinId, ClientDataRange, MyDataRange, OutputBufferLength, ResultantFormat, ResultantFormatLength)); if (PinId == PIN_WAVE_AC3_RENDER_SINK) { @@ -722,14 +722,14 @@ STDMETHODIMP CMiniportWaveCMI::NewStream(PMINIPORTWAVERTSTREAM *OutStream, PPORT STDMETHODIMP CMiniportWaveCMI::NewStream(PMINIPORTWAVECYCLICSTREAM *OutStream, PUNKNOWN OuterUnknown, POOL_TYPE PoolType, ULONG PinID, BOOLEAN Capture, PKSDATAFORMAT DataFormat, PDMACHANNEL* OutDmaChannel, PSERVICEGROUP* OutServiceGroup) #endif { - PAGED_CODE(); - ASSERT(OutStream); - ASSERT(DataFormat); + //PAGED_CODE(); + //ASSERT(OutStream); + //ASSERT(DataFormat); #ifdef WAVERT DBGPRINT(("CMiniportWaveCMI[%p]::NewStream(%p, %p, %d, %d, %p)", this, OutStream, OuterUnknown, PinID, Capture, DataFormat)); #else - ASSERT(OutDmaChannel); - ASSERT(OutServiceGroup); + //ASSERT(OutDmaChannel); + //ASSERT(OutServiceGroup); DBGPRINT(("CMiniportWaveCMI[%p]::NewStream(%p, %p, %p, %d, %d, %p, %p, %p)", this, OutStream, OuterUnknown, PoolType, PinID, Capture, DataFormat, OutDmaChannel, OutServiceGroup)); #endif @@ -820,10 +820,10 @@ STDMETHODIMP CMiniportWaveCMI::NewStream(PMINIPORTWAVECYCLICSTREAM *OutStream, P return ntStatus; } -static NTSTATUS PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest) +NTSTATUS NTAPI PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest) { - PAGED_CODE(); - ASSERT(PropertyRequest); + //PAGED_CODE(); + //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_ChannelConfig]")); #ifdef WAVERT @@ -881,7 +881,7 @@ static NTSTATUS PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyReques NTSTATUS CreateMiniportWaveStreamCMI(CMiniportWaveStreamCMI **MiniportWaveStreamCMI, PUNKNOWN pUnknownOuter, POOL_TYPE PoolType) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CreateMiniportWaveStreamCMI")); #ifdef WAVERT @@ -899,7 +899,7 @@ NTSTATUS CreateMiniportWaveStreamCMI(CMiniportWaveStreamCMI **MiniportWaveStrea NTSTATUS CMiniportWaveStreamCMI::prepareStream() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::prepareStream()", this)); DBGPRINT(("---streamIndex: %d, channelNumber: %d", streamIndex, channelNumber)); @@ -982,7 +982,7 @@ NTSTATUS CMiniportWaveStreamCMI::prepareStream() NTSTATUS CMiniportWaveStreamCMI::setDACChannels() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::setDACChannels()", this)); NTSTATUS ntStatus = STATUS_SUCCESS; @@ -1046,7 +1046,7 @@ NTSTATUS CMiniportWaveStreamCMI::setDACChannels() NTSTATUS CMiniportWaveStreamCMI::setupSPDIFPlayback(bool enableSPDIF) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::setupSPDIFPlayback(%d)", this, enableSPDIF)); NTSTATUS ntStatus; @@ -1115,7 +1115,7 @@ NTSTATUS CMiniportWaveStreamCMI::setupSPDIFPlayback(bool enableSPDIF) NTSTATUS CMiniportWaveStreamCMI::setupAC3Passthru() { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::setupAC3Passthru()")); if (enableAC3Passthru) { @@ -1177,7 +1177,7 @@ NTSTATUS CMiniportWaveStreamCMI::setupAC3Passthru() CMiniportWaveStreamCMI::~CMiniportWaveStreamCMI(void) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::~CMiniportWaveStreamCMI", this)); @@ -1217,8 +1217,8 @@ CMiniportWaveStreamCMI::~CMiniportWaveStreamCMI(void) STDMETHODIMP CMiniportWaveStreamCMI::NonDelegatingQueryInterface(REFIID Interface, PVOID *Object) { - PAGED_CODE(); - ASSERT(Object); + //PAGED_CODE(); + //ASSERT(Object); DBGPRINT(("CMiniportWaveStreamCMI[%p]::NonDelegatingQueryInterface(%p, %p)", this, Interface, Object)); if (IsEqualGUIDAligned(Interface,IID_IUnknown)) { @@ -1250,14 +1250,14 @@ NTSTATUS CMiniportWaveStreamCMI::Init(CMiniportWaveCMI* Miniport_, UInt32 stream NTSTATUS CMiniportWaveStreamCMI::Init(CMiniportWaveCMI* Miniport_, UInt32 streamIndex_, bool isCaptureStream_, PKSDATAFORMAT DataFormat, PDMACHANNEL DMAChannel_, PSERVICEGROUP* OutServiceGroup) #endif { - PAGED_CODE(); - ASSERT(Miniport_); - ASSERT(DataFormat); + //PAGED_CODE(); + //ASSERT(Miniport_); + //ASSERT(DataFormat); NTSTATUS ntStatus; #ifdef WAVERT - ASSERT(Port_); + //ASSERT(Port_); DBGPRINT(("CMiniportWaveStreamCMI[%p]::Init(%p, %d, %d, %p, %p)", this, Miniport_, streamIndex_, isCaptureStream_, DataFormat, Port_)); Port = Port_; Port->AddRef(); @@ -1303,7 +1303,7 @@ NTSTATUS CMiniportWaveStreamCMI::Init(CMiniportWaveCMI* Miniport_, UInt32 stream NTSTATUS CMiniportWaveStreamCMI::SetFormat(PKSDATAFORMAT Format) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::SetFormat(%p)", this, Format)); PWAVEFORMATEX waveFormat = PWAVEFORMATEX(Format + 1); NTSTATUS ntStatus = Miniport->validateFormat(Format, -1, isCaptureStream); @@ -1344,7 +1344,7 @@ NTSTATUS CMiniportWaveStreamCMI::SetFormat(PKSDATAFORMAT Format) // DRM crap - we're supposed to disable every digital interface here STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::SetContentId(ULONG contentId, PCDRMRIGHTS drmRights) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::SetContentId(%d, %p)", this, contentId, drmRights)); return STATUS_SUCCESS; @@ -1354,7 +1354,7 @@ STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::SetContentId(ULONG contentId, PC STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::AllocateAudioBuffer(ULONG size, PMDL *userModeBuffer, ULONG *bufferSize, ULONG *bufferOffset, MEMORY_CACHING_TYPE *cacheType) { - PAGED_CODE(); + //PAGED_CODE(); PHYSICAL_ADDRESS low; PHYSICAL_ADDRESS high; @@ -1393,7 +1393,7 @@ STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::AllocateAudioBuffer(ULONG size, STDMETHODIMP_(VOID) CMiniportWaveStreamCMI::FreeAudioBuffer(PMDL Mdl, ULONG Size) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::FreeAudioBuffer(%p, %x)", this, Mdl, Size)); Port->FreePagesFromMdl(Mdl); @@ -1403,7 +1403,7 @@ STDMETHODIMP_(VOID) CMiniportWaveStreamCMI::FreeAudioBuffer(PMDL Mdl, ULONG Size } STDMETHODIMP_(void) CMiniportWaveStreamCMI::GetHWLatency(PKSRTAUDIO_HWLATENCY hwLatency) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::GetHWLatency(%p)", this, hwLatency)); hwLatency->FifoSize = 32; hwLatency->ChipsetDelay = 0; @@ -1412,7 +1412,7 @@ STDMETHODIMP_(void) CMiniportWaveStreamCMI::GetHWLatency(PKSRTAUDIO_HWLATENCY hw STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::GetPositionRegister(PKSRTAUDIO_HWREGISTER hwRegister) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::GetPositionRegister(%p)", this, hwRegister)); return STATUS_UNSUCCESSFUL; @@ -1420,7 +1420,7 @@ STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::GetPositionRegister(PKSRTAUDIO_H STDMETHODIMP_(NTSTATUS) CMiniportWaveStreamCMI::GetClockRegister(PKSRTAUDIO_HWREGISTER hwRegister) { - PAGED_CODE(); + //PAGED_CODE(); DBGPRINT(("CMiniportWaveStreamCMI[%p]::GetClockRegister(%p)", this, hwRegister)); return STATUS_UNSUCCESSFUL; @@ -1578,7 +1578,7 @@ STDMETHODIMP CMiniportWaveStreamCMI::SetState(KSSTATE NewState) #ifdef WAVERT STDMETHODIMP CMiniportWaveStreamCMI::GetPosition(PKSAUDIO_POSITION Position) { - ASSERT(Position); + //ASSERT(Position); UInt32 reg; @@ -1597,7 +1597,7 @@ STDMETHODIMP CMiniportWaveStreamCMI::GetPosition(PKSAUDIO_POSITION Position) #else //WaveCyclic STDMETHODIMP CMiniportWaveStreamCMI::GetPosition(PULONG Position) { - ASSERT(Position); + //ASSERT(Position); UInt32 reg; diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.hpp index 7dfeacf14a4..3b5f1d165df 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwave.hpp @@ -85,7 +85,7 @@ public: STDMETHODIMP_(void) powerUp(); STDMETHODIMP_(void) powerDown(); - friend NTSTATUS PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest); + friend NTSTATUS NTAPI PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest); friend class CMiniportWaveStreamCMI; }; diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwavetables.hpp b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwavetables.hpp index f22312c3527..0c0326ca21c 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/minwavetables.hpp +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/minwavetables.hpp @@ -33,6 +33,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. DEFINE_GUIDSTRUCT("00000092-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF); #define KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF) +NTSTATUS NTAPI PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest); + + static KSDATARANGE_AUDIO WavePinDataRangesPCMStream[] = { { @@ -274,7 +277,7 @@ static PCPROPERTY_ITEM PropertiesChannels[] = &KSPROPSETID_Audio, KSPROPERTY_AUDIO_CHANNEL_CONFIG, KSPROPERTY_TYPE_BASICSUPPORT | KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET, - PropertyHandler_ChannelConfig + (PCPFNPROPERTY_HANDLER)PropertyHandler_ChannelConfig } }; DEFINE_PCAUTOMATION_TABLE_PROP(AutomationChans,PropertiesChannels); diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/property.h b/reactos/drivers/wdm/audio/drivers/CMIDriver/property.h index ffd841fe370..88e09691550 100644 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/property.h +++ b/reactos/drivers/wdm/audio/drivers/CMIDriver/property.h @@ -83,4 +83,4 @@ typedef struct UInt32 enableSPDI; } CMIDATA; -#endif //_PROPERTY_H_ \ No newline at end of file +#endif //_PROPERTY_H_ diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/sources b/reactos/drivers/wdm/audio/drivers/CMIDriver/sources deleted file mode 100644 index 8e91606c143..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/sources +++ /dev/null @@ -1,20 +0,0 @@ -TARGETNAME=cmipci -TARGETTYPE=DRIVER -TARGETPATH=obj - -TARGETLIBS= $(DDK_LIB_PATH)\portcls.lib \ - $(DDK_LIB_PATH)\stdunk.lib \ - $(SDK_LIB_PATH)\libcntpr.lib \ - $(DDK_LIB_PATH)\ntstrsafe.lib - -INCLUDES= - -MSC_WARNING_LEVEL=-WX - -C_DEFINES= $(C_DEFINES) -D_WIN32 -DUNICODE -D_UNICODE -DDEBUG_LEVEL=DEBUGLVL_TERSE - -SOURCES = adapter.cpp \ - common.cpp \ - mintopo.cpp \ - minwave.cpp \ - cmipci.rc diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/update.bat b/reactos/drivers/wdm/audio/drivers/CMIDriver/update.bat deleted file mode 100644 index ba3f0002105..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/update.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -call envars.bat -if "%CMI_DEBUGARCH%"=="AMD64" goto :x64 -set CMI_DEBUGDIR=objchk_%CMI_DEBUGOS%_%CMI_DEBUGARCH%\i386 -goto start -:x64 -set CMI_DEBUGDIR=objchk_%CMI_DEBUGOS%_%CMI_DEBUGARCH%\AMD64 -:start -devcon remove "PCI\VEN_13F6&DEV_0111&SUBSYS_011113F6&REV_10" -devcon dp_delete %CMI_OEMINF% -devcon rescan -devcon update %CMI_DEBUGDIR%\CM8738.INF "PCI\VEN_13F6&DEV_0111&SUBSYS_011113F6&REV_10"