mirror of
https://github.com/nefarius/ViGEmBus.git
synced 2025-08-10 00:52:17 +00:00
Update GUID's, Streamline Tracing, Update licenses
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
; Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
; Copyright (C) 2016-2019 Nefarius Software Solutions e.U.
|
||||
; Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
|
||||
19
sys/Xgip.h
19
sys/Xgip.h
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -22,21 +22,22 @@
|
||||
// have to be exposed by the PDO or else the child devices won't start
|
||||
//
|
||||
|
||||
// {70211B0E-0AFB-47DB-AFC1-410BF842497A}
|
||||
// {70211B0E-0AFB-47DB-AFC1-410BF842497A} PNP_LOCATION_INTERFACE from wdmguid.h being used as a dummy
|
||||
// ReSharper disable once CppMissingIncludeGuard
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_UNKNOWN_0,
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_PNP_LOCATION_DUMMY,
|
||||
0x70211B0E, 0x0AFB, 0x47DB, 0xAF, 0xC1, 0x41, 0x0B, 0xF8, 0x42, 0x49, 0x7A);
|
||||
|
||||
// {B38290E5-3CD0-4F9D-9937-F5FE2B44D47A}
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_UNKNOWN_1,
|
||||
// {B38290E5-3CD0-4F9D-9937-F5FE2B44D47A} D3COLD_SUPPORT_INTERFACE from wdmguid.h being used as a dummy
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_D3COLD_SUPPORT_DUMMY,
|
||||
0xB38290E5, 0x3CD0, 0x4F9D, 0x99, 0x37, 0xF5, 0xFE, 0x2B, 0x44, 0xD4, 0x7A);
|
||||
|
||||
// {2AEB0243-6A6E-486B-82FC-D815F6B97006}
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_UNKNOWN_2,
|
||||
// {2AEB0243-6A6E-486B-82FC-D815F6B97006} REENUMERATE_SELF_INTERFACE_STANDARD from wdmguid.h being used as a dummy
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_REENUMERATE_SELF_INTERFACE_STD_DUMMY,
|
||||
0x2AEB0243, 0x6A6E, 0x486B, 0x82, 0xFC, 0xD8, 0x15, 0xF6, 0xB9, 0x70, 0x06);
|
||||
|
||||
// {DC7A8E51-49B3-4A3A-9E81-625205E7D729}
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_UNKNOWN_3,
|
||||
// {DC7A8E51-49B3-4A3A-9E81-625205E7D729} Seems to be GUID_POWER_THREAD_INTERFACE
|
||||
// Source: https://github.com/microsoft/Windows-Driver-Frameworks/blob/master/src/framework/shared/irphandlers/pnp/fxpkgpnp.cpp#L63
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XGIP_UNSURE_POWER_THREAD_INTERFACE_DUMMY,
|
||||
0xDC7A8E51, 0x49B3, 0x4A3A, 0x9E, 0x81, 0x62, 0x52, 0x05, 0xE7, 0xD7, 0x29);
|
||||
|
||||
// {DEEE98EA-C0A1-42C3-9738-A04606C84E93}
|
||||
|
||||
14
sys/Xusb.h
14
sys/Xusb.h
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -24,17 +24,17 @@
|
||||
// TODO: that statement might be obsolete, further testing required
|
||||
//
|
||||
|
||||
// {70211B0E-0AFB-47DB-AFC1-410BF842497A}
|
||||
// {70211B0E-0AFB-47DB-AFC1-410BF842497A} PNP_LOCATION_INTERFACE from wdmguid.h being used as a dummy
|
||||
// ReSharper disable once CppMissingIncludeGuard
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_UNKNOWN_0,
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_PNP_LOCATION_DUMMY,
|
||||
0x70211B0E, 0x0AFB, 0x47DB, 0xAF, 0xC1, 0x41, 0x0B, 0xF8, 0x42, 0x49, 0x7A);
|
||||
|
||||
// {B38290E5-3CD0-4F9D-9937-F5FE2B44D47A}
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_UNKNOWN_1,
|
||||
// {B38290E5-3CD0-4F9D-9937-F5FE2B44D47A} D3COLD_SUPPORT_INTERFACE from wdmguid.h being used as a dummy
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_D3COLD_SUPPORT_DUMMY,
|
||||
0xB38290E5, 0x3CD0, 0x4F9D, 0x99, 0x37, 0xF5, 0xFE, 0x2B, 0x44, 0xD4, 0x7A);
|
||||
|
||||
// {2AEB0243-6A6E-486B-82FC-D815F6B97006}
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_UNKNOWN_2,
|
||||
// {2AEB0243-6A6E-486B-82FC-D815F6B97006} REENUMERATE_SELF_INTERFACE_STANDARD from wdmguid.h being used as a dummy
|
||||
DEFINE_GUID(GUID_DEVINTERFACE_XUSB_REENUMERATE_SELF_INTERFACE_STD_DUMMY,
|
||||
0x2AEB0243, 0x6A6E, 0x486B, 0x82, 0xFC, 0xD8, 0x15, 0xF6, 0xB9, 0x70, 0x06);
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
64
sys/xusb.c
64
sys/xusb.c
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Virtual Gamepad Emulation Framework - Windows kernel-mode bus driver
|
||||
* Copyright (C) 2016-2018 Benjamin H<>glinger-Stelzer
|
||||
* Copyright (C) 2016-2019 Nefarius Software Solutions e.U. and Contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -123,85 +123,53 @@ NTSTATUS Xusb_PrepareHardware(WDFDEVICE Device)
|
||||
dummyIface.InterfaceReference = WdfDeviceInterfaceReferenceNoOp;
|
||||
dummyIface.InterfaceDereference = WdfDeviceInterfaceDereferenceNoOp;
|
||||
|
||||
/* XUSB.sys will query for the following three (unknown) interfaces
|
||||
* BUT WONT USE IT so we just expose them to satisfy initialization. */
|
||||
/* XUSB.sys will query for the following three "dummy" interfaces
|
||||
* BUT WONT USE IT so we just expose them to satisfy initialization. (TODO: Check if still valid!)
|
||||
*/
|
||||
|
||||
// Dummy 0
|
||||
// Dummy PNP_LOCATION
|
||||
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_UNKNOWN_0, NULL);
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_PNP_LOCATION_DUMMY, NULL);
|
||||
|
||||
status = WdfDeviceAddQueryInterface(Device, &ifaceCfg);
|
||||
if (!NT_SUCCESS(status))
|
||||
{
|
||||
TraceEvents(TRACE_LEVEL_ERROR,
|
||||
TRACE_XUSB,
|
||||
"Couldn't register unknown interface GUID: %08X-%04X-%04X-%02X%02X%02X%02X%02X%02X%02X%02X " \
|
||||
"(WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data1,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data2,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data3,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[0],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[1],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[2],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[3],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[4],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[5],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[6],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_0.Data4[7],
|
||||
"Couldn't register PNP_LOCATION dummy interface %!GUID! (WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
&GUID_DEVINTERFACE_XUSB_PNP_LOCATION_DUMMY,
|
||||
status);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
// Dummy 1
|
||||
// Dummy D3COLD_SUPPORT
|
||||
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_UNKNOWN_1, NULL);
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_D3COLD_SUPPORT_DUMMY, NULL);
|
||||
|
||||
status = WdfDeviceAddQueryInterface(Device, &ifaceCfg);
|
||||
if (!NT_SUCCESS(status))
|
||||
{
|
||||
TraceEvents(TRACE_LEVEL_ERROR,
|
||||
TRACE_XUSB,
|
||||
"Couldn't register unknown interface GUID: %08X-%04X-%04X-%02X%02X%02X%02X%02X%02X%02X%02X " \
|
||||
"(WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data1,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data2,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data3,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[0],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[1],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[2],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[3],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[4],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[5],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[6],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_1.Data4[7],
|
||||
"Couldn't register D3COLD_SUPPORT dummy interface %!GUID! (WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
&GUID_DEVINTERFACE_XUSB_D3COLD_SUPPORT_DUMMY,
|
||||
status);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
// Dummy 2
|
||||
// Dummy REENUMERATE_SELF_INTERFACE_STANDARD
|
||||
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_UNKNOWN_2, NULL);
|
||||
WDF_QUERY_INTERFACE_CONFIG_INIT(&ifaceCfg, (PINTERFACE)&dummyIface, &GUID_DEVINTERFACE_XUSB_REENUMERATE_SELF_INTERFACE_STD_DUMMY, NULL);
|
||||
|
||||
status = WdfDeviceAddQueryInterface(Device, &ifaceCfg);
|
||||
if (!NT_SUCCESS(status))
|
||||
{
|
||||
TraceEvents(TRACE_LEVEL_ERROR,
|
||||
TRACE_XUSB,
|
||||
"Couldn't register unknown interface GUID: %08X-%04X-%04X-%02X%02X%02X%02X%02X%02X%02X%02X " \
|
||||
"(WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data1,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data2,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data3,
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[0],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[1],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[2],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[3],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[4],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[5],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[6],
|
||||
GUID_DEVINTERFACE_XUSB_UNKNOWN_2.Data4[7],
|
||||
"Couldn't register REENUM_SELF_STD dummy interface %!GUID! (WdfDeviceAddQueryInterface failed with status %!STATUS!)",
|
||||
&GUID_DEVINTERFACE_XUSB_REENUMERATE_SELF_INTERFACE_STD_DUMMY,
|
||||
status);
|
||||
|
||||
return status;
|
||||
|
||||
Reference in New Issue
Block a user