https://git.reactos.org/?p=reactos.git;a=commitdiff;h=66cf7b602871d16b968ef9...
commit 66cf7b602871d16b968ef99d51ab90720f7b20e8 Author: Benjamin Aerni daprogramerforbatch@gmail.com AuthorDate: Mon Mar 30 03:58:25 2020 -0700 Commit: GitHub noreply@github.com CommitDate: Mon Mar 30 12:58:25 2020 +0200
[PORTCLS] Stub missing IoControlCode switches (#1756)
Stub missing switches: IOCTL_KS_HANDSHAKE and IOCTL_KS_METHOD. --- drivers/wdm/audio/backpln/portcls/pin_wavert.cpp | 62 +++++++++++++----------- 1 file changed, 35 insertions(+), 27 deletions(-)
diff --git a/drivers/wdm/audio/backpln/portcls/pin_wavert.cpp b/drivers/wdm/audio/backpln/portcls/pin_wavert.cpp index d2e86881464..11ff57ab330 100644 --- a/drivers/wdm/audio/backpln/portcls/pin_wavert.cpp +++ b/drivers/wdm/audio/backpln/portcls/pin_wavert.cpp @@ -305,35 +305,43 @@ CPortPinWaveRT::DeviceIoControl( IoStack = IoGetCurrentIrpStackLocation(Irp);
- if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_PROPERTY) + switch (IoStack->Parameters.DeviceIoControl.IoControlCode) { - return HandleKsProperty(Irp); + case IOCTL_KS_PROPERTY: + return HandleKsProperty(Irp); + + case IOCTL_KS_ENABLE_EVENT: + /* FIXME UNIMPLEMENTED */ + UNIMPLEMENTED_ONCE; + break; + + case IOCTL_KS_DISABLE_EVENT: + /* FIXME UNIMPLEMENTED */ + UNIMPLEMENTED_ONCE; + break; + + case IOCTL_KS_HANDSHAKE: + /* FIXME UNIMPLEMENTED */ + UNIMPLEMENTED_ONCE; + break; + + case IOCTL_KS_METHOD: + /* FIXME UNIMPLEMENTED */ + UNIMPLEMENTED_ONCE; + return KsDefaultDeviceIoCompletion(DeviceObject, Irp); + + case IOCTL_KS_RESET_STATE: + /* FIXME UNIMPLEMENTED */ + UNIMPLEMENTED_ONCE; + break; + + case IOCTL_KS_WRITE_STREAM: + case IOCTL_KS_READ_STREAM: + return HandleKsStream(Irp); + + default: + return KsDefaultDeviceIoCompletion(DeviceObject, Irp); } - else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_ENABLE_EVENT) - { - /// FIXME - /// handle enable event - } - else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_DISABLE_EVENT) - { - /// FIXME - /// handle disable event - } - else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_RESET_STATE) - { - /// FIXME - /// handle reset state - } - else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_WRITE_STREAM || IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_READ_STREAM) - { - return HandleKsStream(Irp); - } - else - { - return KsDefaultDeviceIoCompletion(DeviceObject, Irp); - } - - UNIMPLEMENTED;
Irp->IoStatus.Information = 0; Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;