mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:15:41 +00:00
[SYSAUDIO][KMIXER]
- convert to pnp software device svn path=/trunk/; revision=66853
This commit is contained in:
parent
750c4f7d1d
commit
a60fb0c766
3 changed files with 28 additions and 16 deletions
|
@ -40,13 +40,15 @@ KMix_Unload(IN PDRIVER_OBJECT DriverObject)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
KMix_InstallDevice(
|
KMix_AddDevice(
|
||||||
IN PDRIVER_OBJECT DriverObject)
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
|
IN PDEVICE_OBJECT PhysicalDeviceObject)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\kmixer");
|
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\kmixer");
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
PKMIXER_DEVICE_EXT DeviceExtension;
|
PKMIXER_DEVICE_EXT DeviceExtension;
|
||||||
|
PDEVICE_OBJECT NextDeviceObject;
|
||||||
|
|
||||||
DPRINT1("KMix_InstallDevice called\n");
|
DPRINT1("KMix_InstallDevice called\n");
|
||||||
|
|
||||||
|
@ -80,9 +82,13 @@ KMix_InstallDevice(
|
||||||
|
|
||||||
/* set io flags */
|
/* set io flags */
|
||||||
DeviceObject->Flags |= DO_DIRECT_IO | DO_POWER_PAGABLE;
|
DeviceObject->Flags |= DO_DIRECT_IO | DO_POWER_PAGABLE;
|
||||||
|
|
||||||
/* clear initializing flag */
|
/* clear initializing flag */
|
||||||
DeviceObject->Flags &= ~ DO_DEVICE_INITIALIZING;
|
DeviceObject->Flags &= ~ DO_DEVICE_INITIALIZING;
|
||||||
|
|
||||||
|
NextDeviceObject = IoAttachDeviceToDeviceStack(DeviceObject, PhysicalDeviceObject);
|
||||||
|
KsSetDevicePnpAndBaseObject(DeviceExtension->KsDeviceHeader, NextDeviceObject, DeviceObject);
|
||||||
|
|
||||||
DPRINT("KMix_InstallDevice result %x\n", Status);
|
DPRINT("KMix_InstallDevice result %x\n", Status);
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
|
||||||
|
@ -110,6 +116,7 @@ DriverEntry(
|
||||||
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = KsDefaultForwardIrp;
|
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = KsDefaultForwardIrp;
|
||||||
DriverObject->MajorFunction[IRP_MJ_PNP] = KMix_Pnp;
|
DriverObject->MajorFunction[IRP_MJ_PNP] = KMix_Pnp;
|
||||||
DriverObject->DriverUnload = KMix_Unload;
|
DriverObject->DriverUnload = KMix_Unload;
|
||||||
|
DriverObject->DriverExtension->AddDevice = KMix_AddDevice;
|
||||||
|
|
||||||
return KMix_InstallDevice(DriverObject);
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,17 +131,17 @@ SysAudio_Pnp(
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
SysAudio_InstallDevice(
|
SysAudio_AddDevice(
|
||||||
IN PDRIVER_OBJECT DriverObject)
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
|
IN PDEVICE_OBJECT PhysicalDeviceObject)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\sysaudio");
|
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\sysaudio");
|
||||||
UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\\DosDevices\\sysaudio");
|
UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\\DosDevices\\sysaudio");
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject, NextDeviceObject;
|
||||||
SYSAUDIODEVEXT *DeviceExtension;
|
SYSAUDIODEVEXT *DeviceExtension;
|
||||||
|
|
||||||
|
DPRINT("SysAudio_AddDevice called\n");
|
||||||
DPRINT("SysAudio_InstallDevice called\n");
|
|
||||||
|
|
||||||
/* Create the device */
|
/* Create the device */
|
||||||
Status = IoCreateDevice(DriverObject,
|
Status = IoCreateDevice(DriverObject,
|
||||||
|
@ -160,7 +160,7 @@ SysAudio_InstallDevice(
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Register device interfaces */
|
/* Register device interfaces */
|
||||||
Status = SysAudioRegisterDeviceInterfaces(DeviceObject);
|
Status = SysAudioRegisterDeviceInterfaces(PhysicalDeviceObject);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
/* Failed to register
|
/* Failed to register
|
||||||
|
@ -215,6 +215,10 @@ SysAudio_InstallDevice(
|
||||||
/* clear initializing flag */
|
/* clear initializing flag */
|
||||||
DeviceObject->Flags &= ~ DO_DEVICE_INITIALIZING;
|
DeviceObject->Flags &= ~ DO_DEVICE_INITIALIZING;
|
||||||
|
|
||||||
|
/* atttach to device stack */
|
||||||
|
NextDeviceObject = IoAttachDeviceToDeviceStack(DeviceObject, PhysicalDeviceObject);
|
||||||
|
KsSetDevicePnpAndBaseObject(DeviceExtension->KsDeviceHeader, NextDeviceObject, DeviceObject);
|
||||||
|
|
||||||
/* register shutdown notfication */
|
/* register shutdown notfication */
|
||||||
IoRegisterShutdownNotification(DeviceObject);
|
IoRegisterShutdownNotification(DeviceObject);
|
||||||
|
|
||||||
|
@ -259,7 +263,8 @@ DriverEntry(
|
||||||
/* Sysaudio needs to do work on pnp, so handle it */
|
/* Sysaudio needs to do work on pnp, so handle it */
|
||||||
DriverObject->MajorFunction[IRP_MJ_PNP] = SysAudio_Pnp;
|
DriverObject->MajorFunction[IRP_MJ_PNP] = SysAudio_Pnp;
|
||||||
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = SysAudio_Shutdown;
|
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = SysAudio_Shutdown;
|
||||||
|
DriverObject->DriverExtension->AddDevice = SysAudio_AddDevice;
|
||||||
|
|
||||||
/* Call our initialization function */
|
/* done */
|
||||||
return SysAudio_InstallDevice(DriverObject);
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,8 @@ ExcludeFromSelect = SW\{EEC12DB6-AD9C-4168-8658-B03DAEF417FE}
|
||||||
ExcludeFromSelect = WDMAUDIO_CopyFilesOnlyId
|
ExcludeFromSelect = WDMAUDIO_CopyFilesOnlyId
|
||||||
|
|
||||||
[GenericMfg]
|
[GenericMfg]
|
||||||
;%WDM_KMIXER.DeviceDesc% = WDM_KMIXER, SW\{B7EAFDC0-A680-11D0-96D8-00AA0051E51D}
|
%WDM_KMIXER.DeviceDesc% = WDM_KMIXER, SW\{B7EAFDC0-A680-11D0-96D8-00AA0051E51D}
|
||||||
;%WDM_SYSAUDIO.DeviceDesc% = WDM_SYSAUDIO, SW\{A7C7A5B0-5AF3-11D1-9CED-00A024BF0407}
|
%WDM_SYSAUDIO.DeviceDesc% = WDM_SYSAUDIO, SW\{A7C7A5B0-5AF3-11D1-9CED-00A024BF0407}
|
||||||
%WDM_WDMAUD.DeviceDesc% = WDM_WDMAUD, SW\{CD171DE3-69E5-11D2-B56D-0000F8754380}
|
%WDM_WDMAUD.DeviceDesc% = WDM_WDMAUD, SW\{CD171DE3-69E5-11D2-B56D-0000F8754380}
|
||||||
;%WDM_DRMKAUD.DeviceDesc% = WDM_DRMKAUD, SW\{EEC12DB6-AD9C-4168-8658-B03DAEF417FE}
|
;%WDM_DRMKAUD.DeviceDesc% = WDM_DRMKAUD, SW\{EEC12DB6-AD9C-4168-8658-B03DAEF417FE}
|
||||||
|
|
||||||
|
@ -51,11 +51,11 @@ portcls.sys,,,0x0100
|
||||||
|
|
||||||
[DeviceRegistration]
|
[DeviceRegistration]
|
||||||
; Kmixer swenum install
|
; 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_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"
|
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
|
; 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"
|
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
|
; 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"
|
HKLM,%RunOnce%,"WDM_WDMAUD",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_WDMAUD.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_WDMAUD%,%17%\WDMAUDIO.inf,WDM_WDMAUD.Interface.Install"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue