[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,35 +305,43 @@ CPortPinWaveRT::DeviceIoControl(
IoStack = IoGetCurrentIrpStackLocation(Irp);
if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_KS_PROPERTY)
switch (IoStack->Parameters.DeviceIoControl.IoControlCode)
{
return HandleKsProperty(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);
}
case IOCTL_KS_PROPERTY:
return HandleKsProperty(Irp);
case IOCTL_KS_ENABLE_EVENT:
/* FIXME UNIMPLEMENTED */
UNIMPLEMENTED_ONCE;
break;
UNIMPLEMENTED;
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);
}
Irp->IoStatus.Information = 0;
Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;