mirror of
https://github.com/reactos/reactos.git
synced 2026-10-05 01:03:18 +08:00
[HIDCLASS] Implement IRP_MN_QUERY_INTERFACE/GUID_HID_INTERFACE_HIDPARSE
Also add a stub for GUID_HID_INTERFACE_NOTIFY.
This commit is contained in:
@@ -608,12 +608,36 @@ HidClassPDO_PnP(
|
||||
}
|
||||
case IRP_MN_QUERY_INTERFACE:
|
||||
{
|
||||
DPRINT1("[HIDCLASS] PDO IRP_MN_QUERY_INTERFACE not implemented\n");
|
||||
|
||||
//
|
||||
// do nothing
|
||||
// return error default
|
||||
//
|
||||
Status = Irp->IoStatus.Status;
|
||||
|
||||
//
|
||||
// check for known interfaces
|
||||
//
|
||||
if (IsEqualGUIDAligned(IoStack->Parameters.QueryInterface.InterfaceType,
|
||||
&GUID_HID_INTERFACE_NOTIFY))
|
||||
{
|
||||
PHID_INTERFACE_NOTIFY_PNP HidInterfaceNotify = (PHID_INTERFACE_NOTIFY_PNP)IoStack->Parameters.QueryInterface.Interface;
|
||||
if (IoStack->Parameters.QueryInterface.Size == sizeof(*HidInterfaceNotify) &&
|
||||
IoStack->Parameters.QueryInterface.Version == 1)
|
||||
{
|
||||
DPRINT1("[HIDCLASS] PDO IRP_MN_QUERY_INTERFACE/GUID_HID_INTERFACE_NOTIFY not implemented\n");
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
}
|
||||
else if (IsEqualGUIDAligned(IoStack->Parameters.QueryInterface.InterfaceType,
|
||||
&GUID_HID_INTERFACE_HIDPARSE))
|
||||
{
|
||||
PHID_INTERFACE_HIDPARSE HidInterfaceHidparse = (PHID_INTERFACE_HIDPARSE)IoStack->Parameters.QueryInterface.Interface;
|
||||
if (IoStack->Parameters.QueryInterface.Size == sizeof(*HidInterfaceHidparse) &&
|
||||
IoStack->Parameters.QueryInterface.Version == 1)
|
||||
{
|
||||
HidInterfaceHidparse->HidpGetCaps = HidP_GetCaps;
|
||||
Status = STATUS_SUCCESS;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IRP_MN_QUERY_REMOVE_DEVICE:
|
||||
|
||||
Reference in New Issue
Block a user