IRP_MJ_CLOSE (Kbdclass)

The IR_MJ_CLOSE request closes a keyboard device.

When Sent

The Microsoft Win32 subsystem sends close requests to close a keyboard device.

Input Parameters

None.

Output Parameters

None.

I/O Status Block

How Kbdclass sets the Information member and the Status member of the I/O status block of the IRP depends on whether the keyboard is a Plug and Play (PnP) device or a nonPnP device, as follows:

  • PnP Operation
    The Information member is set to zero.

    The Status member is set to STATUS_SUCCESS or to the status returned by the function driver for the IRP_MJ_CLOSE request.

  • NonPnP Operation
    The Information member is set to zero.

    The Status member is set to STATUS_SUCCESS or to the status returned by the port driver for the IOCTL_INTERNAL_KEYBOARD_DISABLE request.

Operation

How Kbdclass closes a keyboard depends on whether the keyboard is a PnP device or a nonPnP device, as follows:

  • PnP Operation
    Kbdclass sends the request down the driver stack and clears the file that is permitted read access to the device. If there is a grandmaster device, Kbdclass sends a close request to all the function device objects that are associated with the subordinate class device objects.

  • NonPNP Operation
    Kbdclass sends an IOCTL_INTERNAL_KEYBOARD_DISABLE request to the port driver. Kbdclass also clears the file that is permitted read access to the device.

Requirements

Header

Ntddk.h (include Wdm.h, Ntddk.h, or Wdm.h)

See also

IRP_MJ_CREATE

IRP_MJ_CREATE (Kbdclass)

 

 

Send comments about this topic to Microsoft