How can we send control commands like SET FEATURE, CLEAR FEATURE , etc on windows driver?

Rushabha R Jain 0 Reputation points
2024-09-05T04:19:04.7633333+00:00

Support for control commands On Windows driver.

I see _urb_control_feature_request structure being used in client drivers for control commands like set feature or clear feature to be issued on device or endpoint or interface.

struct _URB_CONTROL_FEATURE_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved2;
  ULONG                Reserved3;
  PVOID                Reserved4;
  PMDL                 Reserved5;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  USHORT               Reserved0;
  USHORT               FeatureSelector;
  USHORT               Index;
  USHORT               Reserved1;
};

Here Hdr.Function indicates either a set or a clear feature operation, to perform on a device, interface, endpoint or other non-standard component.

So Please help with these queries:

a) how can this structure be used on Windows driver , are there any particular IOCTLs for the same?

b) I see no IOCTLs or such, that can be issued to serve the purpose. Then Are there any tools specifically to achieve this?

c) Is there any other way on how we can achieve this?

Windows Driver Kit (WDK)
Windows Driver Kit (WDK)
A set of Microsoft tools that are used to develop, test, and deploy Windows drivers.
98 questions
0 comments No comments
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.