Author: dreimer Date: Tue Mar 17 19:35:17 2015 New Revision: 66761
URL: http://svn.reactos.org/svn/reactos?rev=66761&view=rev Log: Revert r66709 and r66710 to get working sound again.
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/legacy.c branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/wdmaud.h branches/ReactOS-0.3.17-CLT2015/reactos/drivers/ksfilter/ks/misc.c branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/control.c branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/deviface.c branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/entry.c branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/sup.c branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h branches/ReactOS-0.3.17-CLT2015/reactos/media/inf/wdmaudio.inf
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/legacy.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/legacy.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/legacy.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -255,64 +255,25 @@ IN PSOUND_DEVICE SoundDevice, OUT PVOID *Handle) { - HDEVINFO hDevInfo; - SP_DEVICE_INTERFACE_DATA DeviceInterfaceData; - GUID SWBusGuid = {STATIC_KSCATEGORY_WDMAUD}; - PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData; - + /* Only open this if it's not already open */ if ( KernelHandle == INVALID_HANDLE_VALUE ) { - hDevInfo = SetupDiGetClassDevsW(&SWBusGuid, NULL, NULL, DIGCF_DEVICEINTERFACE| DIGCF_PRESENT); - if (!hDevInfo) - { - // failed - return MMSYSERR_ERROR; - } - - DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); - if (!SetupDiEnumDeviceInterfaces(hDevInfo, NULL, &SWBusGuid, 0, &DeviceInterfaceData)) - { - // failed - SetupDiDestroyDeviceInfoList(hDevInfo); - return MMSYSERR_ERROR; - } - - DeviceInterfaceDetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA_W)HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR) + sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W)); - if (!DeviceInterfaceDetailData) - { - // failed - SetupDiDestroyDeviceInfoList(hDevInfo); - return MMSYSERR_ERROR; - } - - DeviceInterfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W); - if (!SetupDiGetDeviceInterfaceDetailW(hDevInfo, &DeviceInterfaceData, DeviceInterfaceDetailData,MAX_PATH * sizeof(WCHAR) + sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W), NULL, NULL)) - { - // failed - HeapFree(GetProcessHeap(), 0, DeviceInterfaceDetailData); - SetupDiDestroyDeviceInfoList(hDevInfo); - return MMSYSERR_ERROR; - } - SND_TRACE(L"Opening wdmaud device '%s'\n",DeviceInterfaceDetailData->DevicePath); - KernelHandle = CreateFileW(DeviceInterfaceDetailData->DevicePath, - GENERIC_READ | GENERIC_WRITE, - 0, - NULL, - OPEN_EXISTING, - FILE_FLAG_OVERLAPPED, - NULL); - - HeapFree(GetProcessHeap(), 0, DeviceInterfaceDetailData); - SetupDiDestroyDeviceInfoList(hDevInfo); - } - + SND_TRACE(L"Opening wdmaud device\n"); + KernelHandle = CreateFileW(KERNEL_DEVICE_NAME, + GENERIC_READ | GENERIC_WRITE, + 0, + NULL, + OPEN_EXISTING, + FILE_FLAG_OVERLAPPED, + NULL); + }
if ( KernelHandle == INVALID_HANDLE_VALUE ) return MMSYSERR_ERROR;
++ OpenCount; - return MMSYSERR_NOERROR; - + + return MMSYSERR_NOERROR; }
MMRESULT
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/wdmaud.h URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/wdmaud.h [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/dll/win32/wdmaud.drv/wdmaud.h [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -8,16 +8,12 @@ #define COM_NO_WINDOWS_H
#include <windef.h> -#include <winbase.h> -#include <winreg.h> - #include <winuser.h> #include <mmddk.h> #include <mmebuddy.h> #include <ksmedia.h> #include <interface.h> #include <devioctl.h> -#include <setupapi.h>
BOOL WdmAudInitUserModeMixer(VOID);
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/ksfilter/ks/misc.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/ksfilter/ks/misc.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/ksfilter/ks/misc.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -11,8 +11,6 @@ #define NDEBUG #include <debug.h>
-#define TAG_KS 'ssKK' - VOID CompleteRequest( PIRP Irp, @@ -31,7 +29,7 @@ IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes) { - PVOID Item = ExAllocatePoolWithTag(PoolType, NumberOfBytes, TAG_KS); + PVOID Item = ExAllocatePool(PoolType, NumberOfBytes); if (!Item) return Item;
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/control.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/control.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/control.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -49,6 +49,9 @@ { ULONG Result = 0; NTSTATUS Status = STATUS_SUCCESS; + //PWDMAUD_DEVICE_EXTENSION DeviceExtension; + + //DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
if (DeviceInfo->DeviceType == MIXER_DEVICE_TYPE) { @@ -228,9 +231,13 @@ IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo) { + //PWDMAUD_DEVICE_EXTENSION DeviceExtension; NTSTATUS Status; LPWSTR Device; ULONG Size, Length; + + /* get device extension */ + //DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
/* get device interface string input length */ Size = DeviceInfo->u.Interface.DeviceInterfaceStringSize; @@ -413,11 +420,19 @@ /* grab next mdl */ Mdl = NextMdl; } - //IoFreeMdl(Mdl); + /* clear mdl list */ - Irp->MdlAddress = Context->Mdl; - - + Irp->MdlAddress = NULL; + + /* check if mdl is locked */ + if (Context->Mdl->MdlFlags & MDL_PAGES_LOCKED) + { + /* unlock pages */ + MmUnlockPages(Context->Mdl); + } + + /* now free the mdl */ + IoFreeMdl(Context->Mdl);
DPRINT("IoCompletion Irp %p IoStatus %lx Information %lx Length %lu\n", Irp, Irp->IoStatus.Status, Irp->IoStatus.Information, Length);
@@ -426,9 +441,6 @@ /* failed */ Irp->IoStatus.Information = 0; } - - /* dereference file object */ - ObDereferenceObject(Context->FileObject);
/* free context */ FreeItem(Context); @@ -490,6 +502,8 @@ /* remove mdladdress as KsProbeStreamIrp will interprete it as an already probed audio buffer */ Irp->MdlAddress = NULL;
+ /* check for success */ + if (IoStack->MajorFunction == IRP_MJ_WRITE) { /* probe the write stream irp */ @@ -506,7 +520,6 @@ { DPRINT1("KsProbeStreamIrp failed with Status %x Cancel %u\n", Status, Irp->Cancel); Irp->MdlAddress = Mdl; - FreeItem(Context); return SetIrpIoStatus(Irp, Status, 0); }
@@ -519,13 +532,8 @@ if (!NT_SUCCESS(Status)) { DPRINT1("Invalid pin handle %p\n", DeviceInfo->hDevice); - Irp->MdlAddress = Mdl; - FreeItem(Context); return SetIrpIoStatus(Irp, Status, 0); } - - /* store file object whose reference is released in the completion callback */ - Context->FileObject = FileObject;
/* skip current irp stack location */ IoSkipCurrentIrpStackLocation(Irp); @@ -533,16 +541,30 @@ /* get next stack location */ IoStack = IoGetNextIrpStackLocation(Irp);
- /* prepare stack location */ + if (Read) + { + IoStack->Parameters.DeviceIoControl.IoControlCode = IOCTL_KS_READ_STREAM; + } + else + { + IoStack->Parameters.DeviceIoControl.IoControlCode = IOCTL_KS_WRITE_STREAM; + } + + /* attach file object */ IoStack->FileObject = FileObject; IoStack->Parameters.Write.Length = Length; IoStack->MajorFunction = IRP_MJ_WRITE; - IoStack->Parameters.DeviceIoControl.IoControlCode = (Read ? IOCTL_KS_READ_STREAM : IOCTL_KS_WRITE_STREAM); + IoSetCompletionRoutine(Irp, IoCompletion, (PVOID)Context, TRUE, TRUE, TRUE); +
/* mark irp as pending */ // IoMarkIrpPending(Irp); /* call the driver */ Status = IoCallDriver(IoGetRelatedDeviceObject(FileObject), Irp); + + /* dereference file object */ + ObDereferenceObject(FileObject); + return Status; }
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/deviface.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/deviface.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/deviface.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -153,18 +153,16 @@ return Status; }
+ InsertTailList(&DeviceExtension->SysAudioDeviceList, &Entry->Entry); + DeviceExtension->NumSysAudioDevices++; + DPRINT("Opening device %S\n", Entry->SymbolicLink.Buffer); Status = WdmAudOpenSysAudioDevice(Entry->SymbolicLink.Buffer, &hSysAudio); if (!NT_SUCCESS(Status)) { DPRINT1("Failed to open sysaudio %x\n", Status); - FreeItem(Entry->SymbolicLink.Buffer); - FreeItem(Entry); return Status; } - - InsertTailList(&DeviceExtension->SysAudioDeviceList, &Entry->Entry); - DeviceExtension->NumSysAudioDevices++;
/* get the file object */ Status = ObReferenceObjectByHandle(hSysAudio, FILE_READ_DATA | FILE_WRITE_DATA, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL); @@ -188,6 +186,8 @@ IN PWDMAUD_DEVICE_EXTENSION DeviceExtension) { NTSTATUS Status; + UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\DosDevices\wdmaud"); + UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\Device\wdmaud"); UNICODE_STRING SymbolicLinkName;
Status = IoRegisterDeviceInterface(PhysicalDeviceObject, &KSCATEGORY_WDMAUD, NULL, &SymbolicLinkName); @@ -195,7 +195,20 @@ { IoSetDeviceInterfaceState(&SymbolicLinkName, TRUE); RtlFreeUnicodeString(&SymbolicLinkName); - //DeviceExtension->DeviceInterfaceSupport = TRUE; + DeviceExtension->DeviceInterfaceSupport = TRUE; + return Status; + } + + /* failed to register device interface + * create a symbolic link instead + */ + DeviceExtension->DeviceInterfaceSupport = FALSE; + + Status = IoCreateSymbolicLink(&SymlinkName, &DeviceName); + if (!NT_SUCCESS(Status)) + { + IoDeleteDevice(PhysicalDeviceObject); //FIXME + DPRINT("Failed to create wdmaud symlink!\n"); return Status; }
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/entry.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/entry.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/entry.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -31,19 +31,6 @@ /* get device extension */ DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
- - if (DeviceExtension->FileObject == NULL) - { - /* find available sysaudio devices */ - Status = WdmAudOpenSysAudioDevices(DeviceObject, DeviceExtension); - if (!NT_SUCCESS(Status)) - { - DPRINT1("WdmAudOpenSysAudioDevices failed with %x\n", Status); - return; - } - } - - /* get device count */ DeviceCount = GetSysAudioDeviceCount(DeviceObject);
@@ -87,19 +74,20 @@
NTSTATUS NTAPI -WdmaudAddDevice( - IN PDRIVER_OBJECT DriverObject, - IN PDEVICE_OBJECT PhysicalDeviceObject) -{ +WdmAudInstallDevice( + IN PDRIVER_OBJECT DriverObject) +{ + UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\Device\wdmaud"); + UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\DosDevices\wdmaud"); PDEVICE_OBJECT DeviceObject; NTSTATUS Status; PWDMAUD_DEVICE_EXTENSION DeviceExtension;
- DPRINT("WdmaudAddDevice called\n"); + DPRINT("WdmAudInstallDevice called\n");
Status = IoCreateDevice(DriverObject, sizeof(WDMAUD_DEVICE_EXTENSION), - NULL, + &DeviceName, FILE_DEVICE_KS, 0, FALSE, @@ -125,7 +113,7 @@ }
/* register device interfaces */ - Status = WdmAudRegisterDeviceInterface(PhysicalDeviceObject, DeviceExtension); + Status = WdmAudRegisterDeviceInterface(DeviceObject, DeviceExtension); if (!NT_SUCCESS(Status)) { DPRINT1("WdmRegisterDeviceInterface failed with %x\n", Status); @@ -148,19 +136,25 @@ /* initialize timer */ IoInitializeTimer(DeviceObject, WdmAudTimerRoutine, (PVOID)WdmAudTimerRoutine);
+ /* find available sysaudio devices */ + Status = WdmAudOpenSysAudioDevices(DeviceObject, DeviceExtension); + if (!NT_SUCCESS(Status)) + { + DPRINT1("WdmAudOpenSysAudioDevices failed with %x\n", Status); + IoDeleteSymbolicLink(&SymlinkName); + IoDeleteDevice(DeviceObject); + return Status; + } + /* allocate ks device header */ Status = KsAllocateDeviceHeader(&DeviceExtension->DeviceHeader, 0, NULL); if (!NT_SUCCESS(Status)) { DPRINT1("KsAllocateDeviceHeader failed with %x\n", Status); + IoDeleteSymbolicLink(&SymlinkName); IoDeleteDevice(DeviceObject); return Status; } - - /* attach to device stack */ - DeviceExtension->NextDeviceObject = IoAttachDeviceToDeviceStack(DeviceObject, PhysicalDeviceObject); - KsSetDevicePnpAndBaseObject(DeviceExtension->DeviceHeader, DeviceExtension->NextDeviceObject, DeviceObject); -
/* start the timer */ IoStartTimer(DeviceObject); @@ -209,10 +203,10 @@ NTSTATUS Status; PIO_STACK_LOCATION IoStack; PWDMAUD_CLIENT pClient; - PWDMAUD_DEVICE_EXTENSION DeviceExtension; - - /* get device extension */ - DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + //PWDMAUD_DEVICE_EXTENSION DeviceExtension; + + /* get device extension */ + //DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
#if KS_IMPLEMENTED Status = KsReferenceSoftwareBusObject((KSDEVICE_HEADER)DeviceObject->DeviceExtension); @@ -222,13 +216,6 @@ return Status; } #endif - - if (DeviceExtension->FileObject == NULL) - { - /* initialize */ - WdmAudInitWorkerRoutine(DeviceObject, NULL); - } -
Status = WdmAudOpenSysaudio(DeviceObject, &pClient); if (!NT_SUCCESS(Status)) @@ -367,7 +354,6 @@ Driver->MajorFunction[IRP_MJ_WRITE] = WdmAudReadWrite; Driver->MajorFunction[IRP_MJ_READ] = WdmAudReadWrite; Driver->MajorFunction[IRP_MJ_POWER] = KsDefaultDispatchPower; - Driver->DriverExtension->AddDevice = WdmaudAddDevice; - - return STATUS_SUCCESS; -} + + return WdmAudInstallDevice(Driver); +}
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/sup.c URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/sup.c [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/sup.c [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -14,14 +14,12 @@ #define NDEBUG #include <debug.h>
-#define TAG_WDMAUD 'DMDW' - PVOID AllocateItem( IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes) { - PVOID Item = ExAllocatePoolWithTag(PoolType, NumberOfBytes, TAG_WDMAUD); + PVOID Item = ExAllocatePool(PoolType, NumberOfBytes); if (!Item) return Item;
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/d... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -11,7 +11,6 @@ PMDL Mdl; ULONG Length; ULONG Function; - PFILE_OBJECT FileObject; }WDMAUD_COMPLETION_CONTEXT, *PWDMAUD_COMPLETION_CONTEXT;
@@ -67,7 +66,6 @@ KEVENT InitializationCompletionEvent; ULONG WorkItemActive;
- PDEVICE_OBJECT NextDeviceObject; }WDMAUD_DEVICE_EXTENSION, *PWDMAUD_DEVICE_EXTENSION;
typedef struct
Modified: branches/ReactOS-0.3.17-CLT2015/reactos/media/inf/wdmaudio.inf URL: http://svn.reactos.org/svn/reactos/branches/ReactOS-0.3.17-CLT2015/reactos/m... ============================================================================== --- branches/ReactOS-0.3.17-CLT2015/reactos/media/inf/wdmaudio.inf [iso-8859-1] (original) +++ branches/ReactOS-0.3.17-CLT2015/reactos/media/inf/wdmaudio.inf [iso-8859-1] Tue Mar 17 19:35:17 2015 @@ -30,6 +30,8 @@ %WDM_WDMAUD.DeviceDesc% = WDM_WDMAUD, SW{CD171DE3-69E5-11D2-B56D-0000F8754380} ;%WDM_DRMKAUD.DeviceDesc% = WDM_DRMKAUD, SW{EEC12DB6-AD9C-4168-8658-B03DAEF417FE}
+%WDMAUDIO_CopyFilesOnlyId.DeviceDesc% = WDMAUDIO.CopyFilesOnly, WDMAUDIO_CopyFilesOnlyId + [WDMAUDIO.CopyFilesOnly] CopyFiles=WDM.CopyFiles, FX.CopyList
@@ -43,127 +45,125 @@ AddReg = DeviceRegistration CopyFiles = WDM.CopyFiles
+[DeviceRegistration] +; Kmixer swenum install +;HKLM,%RunOnce%,"WDM_KMIXER0",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_KMIXER.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_MIXER%,%17%\WDMAUDIO.inf,WDM_KMIXER.Interface.Install" +;HKLM,%RunOnce%,"WDM_KMIXER1",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_KMIXER.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_AUDIO%,%17%\WDMAUDIO.inf,WDM_KMIXER.Interface.Install" + +; Sysaudio swenum install +;HKLM,%RunOnce%,"WDM_SYSAUDIO",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_SYSAUDIO.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_SYSAUDIO%,%17%\WDMAUDIO.inf,WDM_SYSAUDIO.Interface.Install" + +; WDMAud install +HKLM,%RunOnce%,"WDM_WDMAUD",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_WDMAUD.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_WDMAUD%,%17%\WDMAUDIO.inf,WDM_WDMAUD.Interface.Install" + +; DRMKAUD install +;HKLM,%RunOnce%,"WDM_DRMKAUD",,"rundll32.exe streamci,StreamingDeviceSetup %WDM_DRMKAUD.DeviceId%,%KSNAME_DRMKAUD%,%KSCATEGORY_DRM_DESCRAMBLE%,%17%\WDMAUDIO.inf,WDM_DRMKAUD.Interface.Install" + +;-------------------------------------------------------------------------------- +; SysAudio Install +[WDM_SYSAUDIO.Interface.Install] +AddReg=WDM_SYSAUDIO.Interface.AddReg + +[WDM_SYSAUDIO.Interface.AddReg] +HKR,,CLSID,,%Proxy.CLSID% +HKR,,FriendlyName,,%WDM_SYSAUDIO.FriendlyName% + +[WDM_SYSAUDIO] +CopyFiles = WDM_SYSAUDIO.CopyFiles + + +[WDM_SYSAUDIO.CopyFiles] +sysaudio.sys + +[WDM_SYSAUDIO.Services] +AddService = sysaudio,0x00000002, sysaudio_Service_Inst + +[sysaudio_Service_Inst] +DisplayName = %sysaudio.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\sysaudio.sys + +;-------------------------------------------------------------------------------- +; KMixer Install +[WDM_KMIXER.Interface.Install] +AddReg=WDM_KMIXER.Interface.AddReg + +[WDM_KMIXER.Interface.AddReg] +HKR,,CLSID,,%Proxy.CLSID% +HKR,,FriendlyName,,%WDM_KMIXER.FriendlyName% + +[WDM_KMIXER] +CopyFiles = WDM_KMIXER.CopyFiles + +[WDM_KMIXER.CopyFiles] +kmixer.sys + +[WDM_KMIXER.Services] +AddService = kmixer, 0x00000002, kmixer_Service_Inst + +[kmixer_Service_Inst] +DisplayName = %kmixer.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\kmixer.sys +;-------------------------------------------------------------------------------- +; WDMAUD Install +[WDM_WDMAUD.Interface.Install] +AddReg=WDM_WDMAUD.Interface.AddReg + +[WDM_WDMAUD.Interface.AddReg] +HKR,,CLSID,,%Proxy.CLSID% +HKR,,FriendlyName,,%WDM_WDMAUD.FriendlyName% + +[WDM_WDMAUD] +CopyFiles = WDM_WDMAUD.CopyFiles + +[WDM_WDMAUD.CopyFiles] +wdmaud.sys + +[WDM_WDMAUD.Services] +AddService = wdmaud,0x00000002, wdmaud_Service_Inst + +[wdmaud_Service_Inst] +DisplayName = %wdmaud.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\wdmaud.sys + +;-------------------------------------------------------------------------------- +; DRMKAUD Install +[WDM_DRMKAUD.Interface.Install] +AddReg=WDM_DRMKAUD.Interface.AddReg + +[WDM_DRMKAUD.Interface.AddReg] +HKR,,CLSID,,%Proxy.CLSID% +HKR,,FriendlyName,,%WDM_DRMKAUD.FriendlyName% + +[WDM_DRMKAUD] +CopyFiles=WDM_DRMKAUD.CopyFiles + +[WDM_DRMKAUD.CopyFiles] +drmk.sys,,,0x0100 +drmkaud.sys,,,0x0100 + +[WDM_DRMKAUD.Services] +AddService = drmkaud, 0x00000002, drmkaud_Service_Inst + +[drmkaud_Service_Inst] +DisplayName = %drmkaud.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\drmkaud.sys + ;; copied to system32\drivers [WDM.CopyFiles] drmk.sys,,,0x0100 portcls.sys,,,0x0100 - - -[DeviceRegistration] -; Kmixer swenum install -;HKLM,%RunOnce%,"WDM_KMIXER0",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_KMIXER.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_MIXER%,%17%\WDMAUDIO.inf,WDM_KMIXER.Interface.Install" -;HKLM,%RunOnce%,"WDM_KMIXER1",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_KMIXER.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_AUDIO%,%17%\WDMAUDIO.inf,WDM_KMIXER.Interface.Install" - -; Sysaudio swenum install -;HKLM,%RunOnce%,"WDM_SYSAUDIO",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_SYSAUDIO.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_SYSAUDIO%,%17%\WDMAUDIO.inf,WDM_SYSAUDIO.Interface.Install" - -; WDMAud install -HKLM,%RunOnce%,"WDM_WDMAUD",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_WDMAUD.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_WDMAUD%,%17%\WDMAUDIO.inf,WDM_WDMAUD.Interface.Install" - -; DRMKAUD install -;HKLM,%RunOnce%,"WDM_DRMKAUD",,"rundll32.exe streamci,StreamingDeviceSetup %WDM_DRMKAUD.DeviceId%,%KSNAME_DRMKAUD%,%KSCATEGORY_DRM_DESCRAMBLE%,%17%\WDMAUDIO.inf,WDM_DRMKAUD.Interface.Install" - -;-------------------------------------------------------------------------------- -; SysAudio Install -[WDM_SYSAUDIO.Interface.Install] -AddReg=WDM_SYSAUDIO.Interface.AddReg - -[WDM_SYSAUDIO.Interface.AddReg] -HKR,,CLSID,,%Proxy.CLSID% -HKR,,FriendlyName,,%WDM_SYSAUDIO.FriendlyName% - -[WDM_SYSAUDIO] -CopyFiles = WDM_SYSAUDIO.CopyFiles - - -[WDM_SYSAUDIO.CopyFiles] -sysaudio.sys - -[WDM_SYSAUDIO.Services] -AddService = sysaudio,0x00000002, sysaudio_Service_Inst - -[sysaudio_Service_Inst] -DisplayName = %sysaudio.SvcDesc% -ServiceType = 1 ; SERVICE_KERNEL_DRIVER -StartType = 3 ; SERVICE_DEMAND_START -ErrorControl = 1 ; SERVICE_ERROR_NORMAL -ServiceBinary = %10%\system32\drivers\sysaudio.sys - -;-------------------------------------------------------------------------------- -; KMixer Install -[WDM_KMIXER.Interface.Install] -AddReg=WDM_KMIXER.Interface.AddReg - -[WDM_KMIXER.Interface.AddReg] -HKR,,CLSID,,%Proxy.CLSID% -HKR,,FriendlyName,,%WDM_KMIXER.FriendlyName% - -[WDM_KMIXER] -CopyFiles = WDM_KMIXER.CopyFiles - -[WDM_KMIXER.CopyFiles] -kmixer.sys - -[WDM_KMIXER.Services] -AddService = kmixer, 0x00000002, kmixer_Service_Inst - -[kmixer_Service_Inst] -DisplayName = %kmixer.SvcDesc% -ServiceType = 1 ; SERVICE_KERNEL_DRIVER -StartType = 3 ; SERVICE_DEMAND_START -ErrorControl = 1 ; SERVICE_ERROR_NORMAL -ServiceBinary = %10%\system32\drivers\kmixer.sys -;-------------------------------------------------------------------------------- -; WDMAUD Install -[WDM_WDMAUD.Interface.Install] -AddReg=WDM_WDMAUD.Interface.AddReg - -[WDM_WDMAUD.Interface.AddReg] -HKR,,CLSID,,%Proxy.CLSID% -HKR,,FriendlyName,,%WDM_WDMAUD.FriendlyName% - -[WDM_WDMAUD] -CopyFiles = WDM_WDMAUD.CopyFiles - -[WDM_WDMAUD.CopyFiles] -wdmaud.sys - -[WDM_WDMAUD.Services] -AddService = wdmaud,0x00000002, wdmaud_Service_Inst - -[wdmaud_Service_Inst] -DisplayName = %wdmaud.SvcDesc% -ServiceType = 1 ; SERVICE_KERNEL_DRIVER -StartType = 3 ; SERVICE_DEMAND_START -ErrorControl = 1 ; SERVICE_ERROR_NORMAL -ServiceBinary = %10%\system32\drivers\wdmaud.sys - -;-------------------------------------------------------------------------------- -; DRMKAUD Install -[WDM_DRMKAUD.Interface.Install] -AddReg=WDM_DRMKAUD.Interface.AddReg - -[WDM_DRMKAUD.Interface.AddReg] -HKR,,CLSID,,%Proxy.CLSID% -HKR,,FriendlyName,,%WDM_DRMKAUD.FriendlyName% - -[WDM_DRMKAUD] -CopyFiles=WDM_DRMKAUD.CopyFiles - -[WDM_DRMKAUD.CopyFiles] -drmk.sys,,,0x0100 -drmkaud.sys,,,0x0100 - -[WDM_DRMKAUD.Services] -AddService = drmkaud, 0x00000002, drmkaud_Service_Inst - -[drmkaud_Service_Inst] -DisplayName = %drmkaud.SvcDesc% -ServiceType = 1 ; SERVICE_KERNEL_DRIVER -StartType = 3 ; SERVICE_DEMAND_START -ErrorControl = 1 ; SERVICE_ERROR_NORMAL -ServiceBinary = %10%\system32\drivers\drmkaud.sys -
;; Destination Directory List [DestinationDirs]