[PORTCLS] Stub missing IoControlCode switches (#1756)

Stub missing switches: IOCTL_KS_HANDSHAKE and IOCTL_KS_METHOD.
This commit is contained in:
Benjamin Aerni 2020-03-30 03:58:25 -07:00 committed by GitHub
parent c6e854ce7b
commit 66cf7b6028
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -305,36 +305,44 @@ CPortPinWaveRT::DeviceIoControl(
IoStack = IoGetCurrentIrpStackLocation(Irp); IoStack = IoGetCurrentIrpStackLocation(Irp);
if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_PROPERTY) switch (IoStack->Parameters.DeviceIoControl.IoControlCode)
{ {
case IOCTL_KS_PROPERTY:
return HandleKsProperty(Irp); return HandleKsProperty(Irp);
}
else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_ENABLE_EVENT) case IOCTL_KS_ENABLE_EVENT:
{ /* FIXME UNIMPLEMENTED */
/// FIXME UNIMPLEMENTED_ONCE;
/// handle enable event break;
}
else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_DISABLE_EVENT) case IOCTL_KS_DISABLE_EVENT:
{ /* FIXME UNIMPLEMENTED */
/// FIXME UNIMPLEMENTED_ONCE;
/// handle disable event break;
}
else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_RESET_STATE) case IOCTL_KS_HANDSHAKE:
{ /* FIXME UNIMPLEMENTED */
/// FIXME UNIMPLEMENTED_ONCE;
/// handle reset state break;
}
else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_WRITE_STREAM || IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_READ_STREAM) 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); return HandleKsStream(Irp);
}
else default:
{
return KsDefaultDeviceIoCompletion(DeviceObject, Irp); return KsDefaultDeviceIoCompletion(DeviceObject, Irp);
} }
UNIMPLEMENTED;
Irp->IoStatus.Information = 0; Irp->IoStatus.Information = 0;
Irp->IoStatus.Status = STATUS_UNSUCCESSFUL; Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;
IoCompleteRequest(Irp, IO_NO_INCREMENT); IoCompleteRequest(Irp, IO_NO_INCREMENT);