精华内容
下载资源
问答
  • windows ioctl

    千次阅读 2012-12-11 16:46:36
    Windows IOCTL Reference | Extracted from DDK 7.1.0 | Entries: 760 | Quick Filter  Ioctl Hex Value Header Brief IOCTL_1394_CLASS 0x22021d inc\ddk\1394.h ...

    Windows IOCTL Reference | Extracted from DDK 7.1.0 | Entries: 760 |

     
    Ioctl Hex Value Header Brief
    IOCTL_1394_CLASS 0x22021d inc\ddk\1394.h An IEEE 1394 driver uses the IRP_MJ_DEVICE_CONTROL IRP, withIoControlCodeIOCTL_1394_CLASS, to communicate with the bus driver. The driver has access to all operations provided by the IEEE 1394 bus and its host controller through this request.
    IOCTL_1394_TOGGLE_ENUM_TEST_OFF 0x220224 inc\ddk\1394.h  
    IOCTL_1394_TOGGLE_ENUM_TEST_ON 0x220220 inc\ddk\1394.h  
    IOCTL_61883_CLASS 0x220245 inc\ddk\61883.h An IEC-61883 client driver uses theIRP_MJ_INTERNAL_DEVICE_CONTROLIRP withIoControlCodeIOCTL_61883_CLASS to communicate with 1394 driver stack using the IEC-61883 protocol. The driver has access to all operations provided by the IEC-61883 protocol driver through this request.
    IOCTL_AACS_END_SESSION 0x3350cc inc\api\ntddcdvd.h Releases the Authentication Grant Identifier (AGID) that was obtained byIOCTL_AACS_START_SESSION.
    IOCTL_AACS_GENERATE_BINDING_NONCE 0x33d0f0 inc\api\ntddcdvd.h Reads the Advanced Access Content System (AACS) binding nonce starting at the specified byte offset on the disc, as part of the protocol for writing to a protected data area.
    IOCTL_AACS_GET_CERTIFICATE 0x3350d4 inc\api\ntddcdvd.h Queries the logical unit for the device certificate.
    IOCTL_AACS_GET_CHALLENGE_KEY 0x3350d8 inc\api\ntddcdvd.h Queries the logical unit for the device's challenge key. The challenge key consists of a point on an elliptic curve and its associated signature.
    IOCTL_AACS_READ_BINDING_NONCE 0x3350ec inc\api\ntddcdvd.h Reads the Advanced Access Content System (AACS) binding nonce starting at the specified byte offset on the disc, as part of the protocol for reading a protected data area.
    IOCTL_AACS_READ_MEDIA_ID 0x3350e8 inc\api\ntddcdvd.h Reads the Advanced Access Content System (AACS)-specific media identifier data.
    IOCTL_AACS_READ_MEDIA_KEY_BLOCK 0x3350c4 inc\api\ntddcdvd.h Queries the logical unit for the Media Key Block (MKB).
    IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE 0x3350c0 inc\api\ntddcdvd.h Queries the logical unit for the size of the buffer that is required to hold the Advanced Access Control System (AACS) Media Key Block (MKB).
    IOCTL_AACS_READ_SERIAL_NUMBER 0x3350e4 inc\api\ntddcdvd.h Reads the Advanced Access Content System (AACS)-specific prerecorded media serial number.
    IOCTL_AACS_READ_VOLUME_ID 0x3350e0 inc\api\ntddcdvd.h Reads the Advanced Access Content System (AACS)-specific volume identifier.
    IOCTL_AACS_SEND_CERTIFICATE 0x3350d0 inc\api\ntddcdvd.h Sends the host certificate to the logical unit.
    IOCTL_AACS_SEND_CHALLENGE_KEY 0x3350dc inc\api\ntddcdvd.h Sends the host's challenge key to the logical unit. The host's challenge key consists of a point on an elliptic curve and its associated signature.
    IOCTL_AACS_START_SESSION 0x3350c8 inc\api\ntddcdvd.h Retrieves an Authentication Grant Identifier (AGID) that identifies a secure session.
    IOCTL_ABORT_PIPE 0x80002004 inc\ddk\usbscan.h  
    IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK 0x32c010 inc\ddk\acpiioct.h The IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK device control request is reserved for internal use only.
    IOCTL_ACPI_ASYNC_EVAL_METHOD 0x32c000 inc\ddk\acpiioct.h A driver for a device can use the IOCTL_ACPI_ASYNC_EVAL_METHOD device control request to asynchronously evaluate an ACPI control method that is supported by the device. The driver should callIoBuildDeviceIoControlRequestand pass the following input and output parameters to build this request.
    IOCTL_ACPI_ASYNC_EVAL_METHOD_EX 0x32c01c inc\ddk\acpiioct.h A driver for a device can use the IOCTL_ACPI_EVAL_METHOD device control request to synchronously evaluate an ACPI control method that is supported by the device. The driver should callIoBuildDeviceIoControlRequestand pass the following input and output parameters to build this request.
    IOCTL_ACPI_ENUM_CHILDREN 0x32c020 inc\ddk\acpiioct.h The IOCTL_ACPI_ENUM_CHILDREN device control request can be used to enumerate the path and name of devices or named child objects in the ACPI namespace of the device to which this request is sent. A driver should callIoBuildDeviceIoControlRequestand pass the following input and output parameters to build this request.
    IOCTL_ACPI_EVAL_METHOD 0x32c004 inc\ddk\acpiioct.h A driver for a device can use the IOCTL_ACPI_EVAL_METHOD device control request to synchronously evaluate an ACPI control method that is supported by the device. The driver should callIoBuildDeviceIoControlRequestand pass the following input and output parameters to build this request.
    IOCTL_ACPI_EVAL_METHOD_EX 0x32c018 inc\ddk\acpiioct.h A driver for a device can use the IOCTL_ACPI_EVAL_METHOD_EX device control request to synchronously evaluate an ACPI control method that is supported by a child device in the namespace of the device. The driver should callIoBuildDeviceIoControlRequestand pass the following input and output parameters to build this request.
    IOCTL_ACPI_RELEASE_GLOBAL_LOCK 0x32c014 inc\ddk\acpiioct.h The IOCTL_ACPI_RELEASE_GLOBAL_LOCK device control request is reserved for internal use only.
    IOCTL_ARP_SEND_REQUEST 0x67 inc\api\ipexport.h  
    IOCTL_ATA_MINIPORT 0x4d034 inc\api\ntddscsi.h  
    IOCTL_ATA_PASS_THROUGH 0x4d02c inc\api\ntddscsi.h Allows an application to send almost any ATA command to a target device, with the following restrictions:
    IOCTL_ATA_PASS_THROUGH_DIRECT 0x4d030 inc\api\ntddscsi.h Allows an application to send almost any ATA command to a target device, with the following restrictions:
    IOCTL_AVCSTRM_CLASS 0x22024d inc\ddk\avcstrm.h An AV/C subunit driver uses theIRP_MJ_INTERNAL_DEVICE_CONTROLIRP, with theIoControlCodemember set to IOCTL_AVCSTRM_CLASS, to communicate withavcstrm.sys. The driver has access to all operations provided by the AV/C Streaming filter driver (avcstrm.sys) through this request.
    IOCTL_AVC_BUS_RESET 0x2a0008 inc\ddk\avc.h The IOCTL_AVC_BUS_RESET I/O control code allows the caller to complete any previous IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO and IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO control requests that did not use the AVC_SUBUNIT_ADDR_TRIGGERBUSRESET flag. It is available to user mode as well as kernel-mode components through the IRP_MJ_DEVICE_CONTROL dispatch.
    IOCTL_AVC_CLASS 0x220248 inc\ddk\avc.h The IOCTL_AVC_CLASS I/O control code is supported only from kernel mode, using the IRP_MJ_INTERNAL_DEVICE_CONTROL dispatch.
    IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO 0x2a0004 inc\ddk\avc.h The IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO I/O control code controls the enumeration of virtual subunits. It is available to user mode as well as kernel-mode components through the IRP_MJ_DEVICE_CONTROL dispatch. For driver-to-driver communication, it is a METHOD_BUFFERED IOCTL, so set the IRP fields accordingly (IrpStack->Parameters.DeviceIoControl.InputBufferLength and Irp->AssociatedIrp.SystemBuffer).
    IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO 0x2a0000 inc\ddk\avc.h The IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO I/O control code controls the enumeration of virtual subunits. It is available to user mode as well as kernel-mode components through the IRP_MJ_DEVICE_CONTROL dispatch. For driver-to-driver communication, it is a METHOD_BUFFERED IOCTL, so set the IRP fields accordingly (IrpStack->Parameters.DeviceIoControl.InputBufferLength and Irp->AssociatedIrp.SystemBuffer).
    IOCTL_AVIO_ALLOCATE_STREAM 0xff0004 inc\api\winioctl.h  
    IOCTL_AVIO_FREE_STREAM 0xff0008 inc\api\winioctl.h  
    IOCTL_AVIO_MODIFY_STREAM 0xff000c inc\api\winioctl.h  
    IOCTL_BATTERY_QUERY_INFORMATION 0x294044 inc\api\batclass.h Retrieves a variety of information for the battery.
    IOCTL_BATTERY_QUERY_STATUS 0x29404c inc\api\batclass.h Retrieves the current status of the battery.
    IOCTL_BATTERY_QUERY_TAG 0x294040 inc\api\batclass.h Retrieves the battery's current tag.
    IOCTL_BATTERY_SET_INFORMATION 0x298048 inc\api\batclass.h Sets various battery information. The input parameter structure,BATTERY_SET_INFORMATION, indicates which battery status information is to be set.
    IOCTL_BEEP_SET 0x10000 inc\api\ntddbeep.h  
    IOCTL_BIOMETRIC_CALIBRATE 0x44000c inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_CALIBRATE IOCTL directs the driver to perform any necessary steps to calibrate the device for use. Internally, the driver may also collect and return vendor specific calibration data to be analyzed by an application. Vendor-supplied WBDI drivers must support this IOCTL.
    IOCTL_BIOMETRIC_CAPTURE_DATA 0x440014 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_CAPTURE_DATA IOCTL directs the driver to retrieve the next scan of biometric data. This call should put the device into capture mode.
    IOCTL_BIOMETRIC_GET_ATTRIBUTES 0x440004 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_GET_ATTRIBUTES IOCTL returns a structure that contains a set of attributes for the sensor. Vendor-supplied WBDI drivers must support this IOCTL.
    IOCTL_BIOMETRIC_GET_INDICATOR 0x440020 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_GET_INDICATOR IOCTL directs the driver to retrieve the status of the indicator light. This IOCTL is optional.
    IOCTL_BIOMETRIC_GET_SENSOR_STATUS 0x440010 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_GET_SENSOR_STATUS IOCTL tells the driver to perform any necessary steps to collect the current operating status of the device. Vendor-supplied WBDI drivers must support this IOCTL.
    IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS 0x44001c inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS IOCTL retrieves a list of cryptographic hash algorithms that are supported by the device. This IOCTL is optional.
    IOCTL_BIOMETRIC_RESET 0x440008 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_RESET IOCTL resets the device to a known or idle state, according to the current power state. Vendor-supplied WBDI drivers must support this IOCTL.
    IOCTL_BIOMETRIC_SET_INDICATOR 0x440024 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_SET_INDICATOR IOCTL directs the driver to update the status of the indicator light. The light can be turned on or off. This IOCTL is optional.
    IOCTL_BIOMETRIC_UPDATE_FIRMWARE 0x440018 inc\api\winbio_ioctl.h The IOCTL_BIOMETRIC_UPDATE_FIRMWARE IOCTL tells the driver to update the firmware for the device with the given firmware image. This IOCTL is optional.
    IOCTL_BIOMETRIC_VENDOR 0x442000 inc\api\winbio_ioctl.h  
    IOCTL_BTH_DISCONNECT_DEVICE 0x41000c inc\ddk\bthioctl.h Profile drivers use IOCTL_BTH_DISCONNECT_DEVICE to request the operating system to disconnect the specified remote device.
    IOCTL_BTH_EIR_GET_RECORDS 0x410040 inc\ddk\bthioctl.h  
    IOCTL_BTH_EIR_REMOVE_RECORD 0x41004c inc\ddk\bthioctl.h  
    IOCTL_BTH_EIR_SUBMIT_RECORD 0x410044 inc\ddk\bthioctl.h  
    IOCTL_BTH_EIR_UPDATE_RECORD 0x410048 inc\ddk\bthioctl.h  
    IOCTL_BTH_GET_DEVICE_INFO 0x410008 inc\ddk\bthioctl.h The IOCTL_BTH_GET_DEVICE_INFO request returns information about all cached, previously discovered remote radios that are Bluetooth-enabled.
    IOCTL_BTH_GET_DEVICE_RSSI 0x410014 inc\ddk\bthioctl.h  
    IOCTL_BTH_GET_LOCAL_INFO 0x410000 inc\ddk\bthioctl.h The IOCTL_BTH_GET_LOCAL_INFO request returns information about the local Bluetooth system and radio.
    IOCTL_BTH_GET_RADIO_INFO 0x410004 inc\ddk\bthioctl.h The IOCTL_BTH_GET_RADIO_INFO request obtains information about the specified remote radio.
    IOCTL_BTH_HCI_VENDOR_COMMAND 0x410050 inc\ddk\bthioctl.h The IOCTL_BTH_HCI_VENDOR_COMMAND request allows Bluetooth applications to send vendor-specific commands to radios.
    IOCTL_BTH_SDP_ATTRIBUTE_SEARCH 0x41020c inc\ddk\bthioctl.h The IOCTL_BTH_SDP_ATTRIBUTE_SEARCH request obtains attributes for the specified SDP record.
    IOCTL_BTH_SDP_CONNECT 0x410200 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_CONNECT request creates a connection to the SDP service on a remote Bluetooth device.
    IOCTL_BTH_SDP_DISCONNECT 0x410204 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_DISCONNECT request closes a connection to a remote SDP server.
    IOCTL_BTH_SDP_REMOVE_RECORD 0x410218 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_REMOVE_RECORD request removes a local SDP record that the profile driver previously submitted. The local server will no longer offer this record to remote devices.
    IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 0x410210 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH request combines an SDP service and attribute search into a single operation. This allows a caller to directly obtain SDP records from a remote device.
    IOCTL_BTH_SDP_SERVICE_SEARCH 0x410208 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_SERVICE_SEARCH request contacts a remote device with an SDP request for handles to SDP records of a particular service class or classes.
    IOCTL_BTH_SDP_SUBMIT_RECORD 0x410214 inc\ddk\bthioctl.h The IOCTL_BTH_SDP_SUBMIT_RECORD request allows a profile driver to add an SDP record to the local SDP server, allowing the client to advertise that a service is available on the local computer. The profile driver callsIOCTL_BTH_SDP_REMOVE_RECORDto stop advertising the server on the local SDP server.
    IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO 0x41021c inc\ddk\bthioctl.h The IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO request adds an SDP record to the local SDP server along with attributes that are not part of the SDP record itself. After this call completes successfully, the profile driver can advertise that a service is available on the local computer. The profile driver callsIOCTL_BTH_SDP_REMOVE_RECORDto stop advertising the service on the local SDP server.
    IOCTL_CANCEL_DEVICE_WAKE 0x298008 inc\ddk\ntpoapi.h  
    IOCTL_CANCEL_GET_SEND_MESSAGE 0x2b0038 inc\api\ntddmodm.h  
    IOCTL_CANCEL_IO 0x80002004 inc\ddk\usbscan.h Cancels activity on the specified USB transfer pipe that is associated with the specified device handle.
    IOCTL_CDROM_CHECK_VERIFY 0x24800 inc\api\ntddcdrm.h In Microsoft Windows 2000 and later operating systems, this IOCTL is replaced byIOCTL_STORAGE_CHECK_VERIFY. The only difference between the two IOCTLs is the base value.
    IOCTL_CDROM_CURRENT_POSITION 0x1 inc\api\ntddcdrm.h  
    IOCTL_CDROM_DISK_TYPE 0x20040 inc\api\ntddcdrm.h  
    IOCTL_CDROM_EJECT_MEDIA 0x24808 inc\api\ntddcdrm.h  
    IOCTL_CDROM_ENABLE_STREAMING 0x24068 inc\api\ntddcdrm.h Enables or disables CDROM streaming mode on a per-handle basis for raw read and write requests.
    IOCTL_CDROM_EXCLUSIVE_ACCESS 0x2c05c inc\api\ntddcdrm.h The IOCTL_CDROM_EXCLUSIVE_ACCESS request instructs the CD-ROM class driver to:
    IOCTL_CDROM_FIND_NEW_DEVICES 0x24818 inc\api\ntddcdrm.h In Microsoft Windows 2000 and later operating systems, this IOCTL is replaced byIOCTL_STORAGE_FIND_NEW_DEVICES. The only difference between the two IOCTLs is the base value.
    IOCTL_CDROM_GET_CONFIGURATION 0x24058 inc\api\ntddcdrm.h Requests feature and profile information from a CD-ROM device.
    IOCTL_CDROM_GET_CONTROL 0x24034 inc\api\ntddcdrm.h This IOCTL request is obsolete. Do not use.
    IOCTL_CDROM_GET_DRIVE_GEOMETRY 0x2404c inc\api\ntddcdrm.h Returns information about the CD-ROM's geometry (media type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector).
    IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX 0x24050 inc\api\ntddcdrm.h Returns information about a CD-ROM's geometry (media type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector).
    IOCTL_CDROM_GET_INQUIRY_DATA 0x24064 inc\api\ntddcdrm.h Returns the SCSI inquiry data for all devices on a given SCSI host bus adapter (HBA). If the IOCTL is employed in user space, the program must have opened a handle to the HBA, which can be enumerated by various means, such as SetupDixxx calls. You can useIOCTL_STORAGE_QUERY_PROPERTYto find information about a specific device on the HBA. To determine the size of the output buffer that is required, the caller should send this IOCTL request in a loop. Every time that the storage stack rejects the IOCTL with an error message that indicates that the buffer was too small, the caller should double the buffer size.
    IOCTL_CDROM_GET_LAST_SESSION 0x24038 inc\api\ntddcdrm.h Queries the device for the first complete session number, the last complete session number, and the last complete session starting address. This request is the same as anIOCTL_CDROM_READ_TOC_EXrequest with a format of CDROM_READ_TOC_EX_FORMAT_SESSION. For more information on the CDROM_READ_TOC_EX_FORMAT_SESSION format, see the description of theFormatmember of theCDROM_READ_TOC_EXstructure.
    IOCTL_CDROM_GET_PERFORMANCE 0x24070 inc\api\ntddcdrm.h Retrieves the supported speeds from the device. TheIOCTL_CDROM_GET_PERFORMANCEI/O control request is a wrapper over the MMC command, GET PERFORMANCE.
    IOCTL_CDROM_GET_VOLUME 0x24014 inc\api\ntddcdrm.h  
    IOCTL_CDROM_LOAD_MEDIA 0x2480c inc\api\ntddcdrm.h Draws a protruding CDROM tray back into the drive.
    IOCTL_CDROM_MEDIA_CATALOG 0x2 inc\api\ntddcdrm.h Specifies which subset of the Q data the read operation should return, as follows:
    IOCTL_CDROM_MEDIA_REMOVAL 0x24804 inc\api\ntddcdrm.h  
    IOCTL_CDROM_PAUSE_AUDIO 0x2400c inc\api\ntddcdrm.h  
    IOCTL_CDROM_PLAY_AUDIO_MSF 0x24018 inc\api\ntddcdrm.h Plays the specified range of the media.
    IOCTL_CDROM_RAW_READ 0x2403e inc\api\ntddcdrm.h Reads data from the CD-ROM in raw mode.
    IOCTL_CDROM_READ_Q_CHANNEL 0x2402c inc\api\ntddcdrm.h IOCTL_CDROM_CURRENT_POSITION
    IOCTL_CDROM_READ_TOC 0x24000 inc\api\ntddcdrm.h  
    IOCTL_CDROM_READ_TOC_EX 0x24054 inc\api\ntddcdrm.h Queries the target device for the table of contents (TOC), the program memory area (PMA), and the absolute time in pregroove (ATIP). If the media is not a CD-ROM and does not support a TOC, this IOCTL returns information similar to that of a CD-ROM TOC. This is required for compatibility with some legacy initiator environments.
    IOCTL_CDROM_RELEASE 0x24814 inc\api\ntddcdrm.h  
    IOCTL_CDROM_RESERVE 0x24810 inc\api\ntddcdrm.h  
    IOCTL_CDROM_RESUME_AUDIO 0x24010 inc\api\ntddcdrm.h  
    IOCTL_CDROM_SEEK_AUDIO_MSF 0x24004 inc\api\ntddcdrm.h  
    IOCTL_CDROM_SEND_OPC_INFORMATION 0x2c06c inc\api\ntddcdrm.h TheIOCTL_CDROM_SEND_OPC_INFORMATIONcontrol code can be used in file systems and other implementations that want to perform the Optimum Power Calibration (OPC) procedure in advance, so that the first streaming write does not have to wait for the procedure to finish. The optical drive performs the OPC procedure to determine the optimum power of the laser during write. The procedure is necessary to ensure quality, but it wears out the media and should not be performed too often.
    IOCTL_CDROM_SET_SPEED 0x24060 inc\api\ntddcdrm.h Sets the spindle speed of the CD-ROM drive.
    IOCTL_CDROM_SET_VOLUME 0x24028 inc\api\ntddcdrm.h Resets the volume for its device's audio ports.
    IOCTL_CDROM_SIMBAD 0x2400c inc\api\ntddcdrm.h  
    IOCTL_CDROM_STOP_AUDIO 0x24008 inc\api\ntddcdrm.h  
    IOCTL_CDROM_SUB_Q_CHANNEL 0x0 inc\api\ntddcdrm.h IOCTL_CDROM_CURRENT_POSITION
    IOCTL_CDROM_TRACK_ISRC 0x3 inc\api\ntddcdrm.h Returns the current position, media catalog, or ISRC track data.
    IOCTL_CDROM_UNLOAD_DRIVER 0x25008 inc\api\ntddcdrm.h  
    IOCTL_CHANGER_EXCHANGE_MEDIUM 0x304020 inc\api\ntddchgr.h Moves a piece of media from a source element to one destination, and the piece of media originally in the first destination to a second destination.
    IOCTL_CHANGER_GET_ELEMENT_STATUS 0x30c014 inc\api\ntddchgr.h Retrieves the status of all elements or a specified number of elements of a particular type.
    IOCTL_CHANGER_GET_PARAMETERS 0x304000 inc\api\ntddchgr.h Retrieves the parameters of the specified device.
    IOCTL_CHANGER_GET_PRODUCT_DATA 0x304008 inc\api\ntddchgr.h Retrieves the product data for the specified device.
    IOCTL_CHANGER_GET_STATUS 0x304004 inc\api\ntddchgr.h Retrieves the current status of the specified device.
    IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS 0x304018 inc\api\ntddchgr.h Initializes the status of all elements or the specified elements of a particular type.
    IOCTL_CHANGER_MOVE_MEDIUM 0x304024 inc\api\ntddchgr.h Moves a piece of media to a destination.
    IOCTL_CHANGER_QUERY_VOLUME_TAGS 0x30c02c inc\api\ntddchgr.h Retrieves the volume tag information for the specified elements.
    IOCTL_CHANGER_REINITIALIZE_TRANSPORT 0x304028 inc\api\ntddchgr.h Physically recalibrates a transport element. Recalibration may involve returning the transport to its home position.
    IOCTL_CHANGER_SET_ACCESS 0x30c010 inc\api\ntddchgr.h Sets the state of the device's insert/eject port, door, or keypad.
    IOCTL_CHANGER_SET_POSITION 0x30401c inc\api\ntddchgr.h Sets the changer's robotic transport mechanism to the specified element address. This optimizes moving or exchanging media by positioning the transport beforehand.
    IOCTL_DISK_CHECK_VERIFY 0x74800 inc\api\ntdddisk.h In Microsoft Windows 2000 and later operating systems, this IOCTL is replaced byIOCTL_STORAGE_CHECK_VERIFY. The only difference between the two IOCTLs is the base value.
    IOCTL_DISK_CONTROLLER_NUMBER 0x70044 inc\api\ntdddisk.h Retrieves the controller number and disk number for an IDE disk.
    IOCTL_DISK_COPY_DATA 0x7c064 inc\api\ntdddisk.h This IOCTL_DISK_COPY_DATA IOCTL is used to copy data from one area of the disk to another.
    IOCTL_DISK_CREATE_DISK 0x7c058 inc\api\ntdddisk.h Initializes the specified disk and disk partition table using the information in theCREATE_DISKstructure.
    IOCTL_DISK_DELETE_DRIVE_LAYOUT 0x7c100 inc\api\ntdddisk.h Removes the boot signature from the master boot record, so that the disk will be formatted from sector zero to the end of the disk. Partition information is no longer stored in sector zero.
    IOCTL_DISK_EJECT_MEDIA 0x74808 inc\api\ntdddisk.h Ejects media from a SCSI device.
    IOCTL_DISK_FIND_NEW_DEVICES 0x74818 inc\api\ntdddisk.h In Microsoft Windows 2000 and later operating systems, this IOCTL is replaced byIOCTL_STORAGE_FIND_NEW_DEVICES. The only difference between the two IOCTLs is the base value.
    IOCTL_DISK_FORMAT_DRIVE 0x7c3cc inc\api\ntdddisk.h  
    IOCTL_DISK_FORMAT_TRACKS 0x7c018 inc\api\ntdddisk.h Formats a specified, contiguous set of tracks on a floppy disk. To provide additional parameters, useIOCTL_DISK_FORMAT_TRACKS_EXinstead.
    IOCTL_DISK_FORMAT_TRACKS_EX 0x7c02c inc\api\ntdddisk.h Formats a specified, contiguous set of tracks on a floppy disk.
    IOCTL_DISK_GET_CACHE_INFORMATION 0x740d4 inc\api\ntdddisk.h Retrieves the disk cache configuration data.
    IOCTL_DISK_GET_CACHE_SETTING 0x740e0 inc\api\ntdddisk.h  
    IOCTL_DISK_GET_DISK_ATTRIBUTES 0x700f0 inc\api\ntdddisk.h  
    IOCTL_DISK_GET_DRIVE_GEOMETRY 0x70000 inc\api\ntdddisk.h Retrieves information about the physical disk's geometry: type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector.
    IOCTL_DISK_GET_DRIVE_GEOMETRY_EX 0x700a0 inc\api\ntdddisk.h Retrieves extended information about the physical disk's geometry: type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector.
    IOCTL_DISK_GET_DRIVE_LAYOUT 0x7400c inc\api\ntdddisk.h Retrieves information for each entry in the partition tables for a disk.
    IOCTL_DISK_GET_DRIVE_LAYOUT_EX 0x70050 inc\api\ntdddisk.h Retrieves extended information for each entry in the partition tables for a disk.
    IOCTL_DISK_GET_LENGTH_INFO 0x7405c inc\api\ntdddisk.h Retrieves the length of the specified disk, volume, or partition.
    IOCTL_DISK_GET_MEDIA_TYPES 0x70c00 inc\api\ntdddisk.h In Microsoft Windows 2000 and later operating systems, this IOCTL is replaced byIOCTL_STORAGE_GET_MEDIA_TYPES. The only difference between the two IOCTLs is the base value.
    IOCTL_DISK_GET_PARTITION_ATTRIBUTES 0x700e8 inc\api\ntdddisk.h Retrieves information about the type, size, and nature of a disk partition.
    IOCTL_DISK_GET_PARTITION_INFO 0x74004 inc\api\ntdddisk.h Retrieves information about the type, size, and nature of a disk partition.
    IOCTL_DISK_GET_PARTITION_INFO_EX 0x70048 inc\api\ntdddisk.h Retrieves extended information about the type, size, and nature of a disk partition.
    IOCTL_DISK_GET_SAN_SETTINGS 0x74200 inc\api\ntdddisk.h  
    IOCTL_DISK_GET_SNAPSHOT_INFO 0x74208 inc\api\ntdddisk.h Retrieves the length of the specified disk, volume, or partition.
    IOCTL_DISK_GET_WRITE_CACHE_STATE 0x740dc inc\api\ntdddisk.h  
    IOCTL_DISK_GROW_PARTITION 0x7c0d0 inc\api\ntdddisk.h Enlarges the specified partition.
    IOCTL_DISK_HISTOGRAM_DATA 0x70034 inc\api\ntdddisk.h  
    IOCTL_DISK_HISTOGRAM_RESET 0x70038 inc\api\ntdddisk.h  
    IOCTL_DISK_HISTOGRAM_STRUCTURE 0x70030 inc\api\ntdddisk.h The following table identifies the control codes that are used in disk management.
    IOCTL_DISK_INTERNAL_CLEAR_VERIFY 0x70407 inc\api\ntdddisk.h Allows a driver to clear the verify bit on a disk device object, if the mode of the caller is kernel mode.
    IOCTL_DISK_INTERNAL_SET_NOTIFY 0x70408 inc\api\ntdddisk.h  
    IOCTL_DISK_INTERNAL_SET_VERIFY 0x70403 inc\api\ntdddisk.h Allows a driver to set the verify bit on a disk device object if the mode of the caller is kernel mode.
    IOCTL_DISK_IS_CLUSTERED 0x700f8 inc\api\ntdddisk.h Allows a driver or application to determine if a disk is clustered.
    IOCTL_DISK_IS_WRITABLE 0x70024 inc\api\ntdddisk.h Determines whether the specified disk is writable.
    IOCTL_DISK_LOAD_MEDIA 0x7480c inc\api\ntdddisk.h  
    IOCTL_DISK_LOGGING 0x70028 inc\api\ntdddisk.h The following table identifies the control codes that are used in disk management.
    IOCTL_DISK_MEDIA_REMOVAL 0x74804 inc\api\ntdddisk.h  
    IOCTL_DISK_PERFORMANCE 0x70020 inc\api\ntdddisk.h Enables performance counters that provide disk performance information.
    IOCTL_DISK_PERFORMANCE_OFF 0x70060 inc\api\ntdddisk.h Disables the performance counters that provide disk performance information.
    IOCTL_DISK_REASSIGN_BLOCKS 0x7c01c inc\api\ntdddisk.h Directs the disk device to map one or more blocks to its spare-block pool.
    IOCTL_DISK_REASSIGN_BLOCKS_EX 0x7c0a4 inc\api\ntdddisk.h The handle to the object where blocks are to be reassigned.
    IOCTL_DISK_RELEASE 0x74814 inc\api\ntdddisk.h  
    IOCTL_DISK_REQUEST_DATA 0x70040 inc\api\ntdddisk.h The following table identifies the control codes that are used in disk management.
    IOCTL_DISK_REQUEST_STRUCTURE 0x7003c inc\api\ntdddisk.h The following table identifies the control codes that are used in disk management.
    IOCTL_DISK_RESERVE 0x74810 inc\api\ntdddisk.h  
    IOCTL_DISK_RESET_SNAPSHOT_INFO 0x7c210 inc\api\ntdddisk.h Clears all Volume Shadow Copy Service (VSS) hardware-based shadow copy (also called "snapshot") information from the disk.
    IOCTL_DISK_SENSE_DEVICE 0x703e0 inc\api\ntdddisk.h  
    IOCTL_DISK_SET_CACHE_INFORMATION 0x7c0d8 inc\api\ntdddisk.h Sets the disk configuration data.
    IOCTL_DISK_SET_CACHE_SETTING 0x7c0e4 inc\api\ntdddisk.h Sets the disk configuration data.
    IOCTL_DISK_SET_DISK_ATTRIBUTES 0x7c0f4 inc\api\ntdddisk.h  
    IOCTL_DISK_SET_DRIVE_LAYOUT 0x7c010 inc\api\ntdddisk.h Partitions a disk as specified by drive layout and partition information data.
    IOCTL_DISK_SET_DRIVE_LAYOUT_EX 0x7c054 inc\api\ntdddisk.h The handle to the disk drive to be partitioned. To retrieve a device handle, call theCreateFilefunction.
    IOCTL_DISK_SET_PARTITION_ATTRIBUTES 0x7c0ec inc\api\ntdddisk.h Retrieves information about the type, size, and nature of a disk partition.
    IOCTL_DISK_SET_PARTITION_INFO 0x7c008 inc\api\ntdddisk.h Sets partition information for the specified disk partition.
    IOCTL_DISK_SET_PARTITION_INFO_EX 0x7c04c inc\api\ntdddisk.h Sets partition information for the specified disk partition, including layout information for AT and EFI (Extensible Firmware Interface) partitions.
    IOCTL_DISK_SET_SAN_SETTINGS 0x7c204 inc\api\ntdddisk.h  
    IOCTL_DISK_SET_SNAPSHOT_INFO 0x7c20c inc\api\ntdddisk.h Retrieves the length of the specified disk, volume, or partition.
    IOCTL_DISK_SIMBAD 0x7d000 inc\api\ntdddisk.h  
    IOCTL_DISK_UPDATE_DRIVE_SIZE 0x7c0c8 inc\api\ntdddisk.h Updates device extension with drive size information for current media.
    IOCTL_DISK_UPDATE_PROPERTIES 0x70140 inc\api\ntdddisk.h Invalidates the cached partition table and re-enumerates the device.
    IOCTL_DISK_VERIFY 0x70014 inc\api\ntdddisk.h Verifies the specified extent on a fixed disk.
    IOCTL_DOT4_ADD_ACTIVITY_BROADCAST 0x3a2014 inc\ddk\d4drvif.h  
    IOCTL_DOT4_CLOSE_CHANNEL 0x3a2008 inc\ddk\d4drvif.h  
    IOCTL_DOT4_CREATE_SOCKET 0x3a2022 inc\ddk\d4drvif.h  
    IOCTL_DOT4_DESTROY_SOCKET 0x3a202a inc\ddk\d4drvif.h  
    IOCTL_DOT4_LAST 0x80a inc\ddk\d4drvif.h  
    IOCTL_DOT4_OPEN_CHANNEL 0x3a2006 inc\ddk\d4drvif.h  
    IOCTL_DOT4_READ 0x3a200e inc\ddk\d4drvif.h  
    IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST 0x3a2018 inc\ddk\d4drvif.h  
    IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST 0x3a201e inc\ddk\d4drvif.h  
    IOCTL_DOT4_WAIT_FOR_CHANNEL 0x3a2026 inc\ddk\d4drvif.h  
    IOCTL_DOT4_WRITE 0x3a2011 inc\ddk\d4drvif.h  
    IOCTL_DVD_END_SESSION 0x33500c inc\api\ntddcdvd.h Ends a DVD session by invalidating its authentication grant ID (AGID).
    IOCTL_DVD_GET_REGION 0x335014 inc\api\ntddcdvd.h Returns Region Playback Control (RPC) information for a DVD device, such as whether the player supports the RPC2 standard, the current region code of the player, and the remaining number of times the player's region code can be changed by the user. This IOCTL also indicates the region code of the currently mounted disc. This only works if a DVD is in the drive. TheIOCTL_DVD_READ_KEYoperation should be used to obtain only the device region code. If the drive region has not been set previously (if it is still at factory default) and if the inserted media has a region, the device region will be set to the current media region.
    IOCTL_DVD_READ_KEY 0x335004 inc\api\ntddcdvd.h Returns a copy-protection key of the specified type: challenge key, bus key, title key, read RPC key, set RPC key, or disk key. A challenge key or bus key is sent back to the device to complete the related step in a DVD authentication sequence. After the authentication sequence is completed, a title key is used to encrypt and decrypt user data transferred from a DVD disc and a disk key is used to encrypt and decrypt title key data. If the drive region has not been set previously (if it is still at factory default) and if the inserted media has a region, the device region will be set to the current media region.
    IOCTL_DVD_READ_STRUCTURE 0x335140 inc\api\ntddcdvd.h Returns information about a DVD disc, such as a layer descriptor, copyright information, or manufacturer-specific information.
    IOCTL_DVD_SEND_KEY 0x335008 inc\api\ntddcdvd.h Sends the specified key to a DVD device to complete the related step in an authentication sequence.
    IOCTL_DVD_SEND_KEY2 0x33d018 inc\api\ntddcdvd.h Sends the specified key to a DVD device -to complete the related step in an authentication sequence. The IOCTL_DVD_SEND_KEY2 request has write access to the device and can send a broader range of key types thanIOCTL_DVD_SEND_KEY.
    IOCTL_DVD_SET_READ_AHEAD 0x335010 inc\api\ntddcdvd.h  
    IOCTL_DVD_START_SESSION 0x335000 inc\api\ntddcdvd.h Returns an authentication grant ID (AGID) as a DVD session ID, which a caller must pass to the device in all subsequent operations in a DVD session.
    IOCTL_EHSTOR_DEVICE_ENUMERATE_PDOS 0x2d1410 inc\ddk\usbstorioctl.h This enumeration describes the types of Physical Device Objects (PDOs).
    IOCTL_EHSTOR_DEVICE_GET_AUTHZ_STATE 0x2d1408 inc\ddk\usbstorioctl.h  
    IOCTL_EHSTOR_DEVICE_SET_AUTHZ_STATE 0x2d1404 inc\ddk\usbstorioctl.h  
    IOCTL_EHSTOR_DEVICE_SILO_COMMAND 0x2d140c inc\ddk\usbstorioctl.h  
    IOCTL_ENTER_PRIORITY_RECEIVE 0x0000 inc\ddk\irclass_ioctl.h  
    IOCTL_FSVIDEO_COPY_FRAME_BUFFER 0x340800 inc\api\ntddvdeo.h  
    IOCTL_FSVIDEO_REVERSE_MOUSE_POINTER 0x340808 inc\api\ntddvdeo.h  
    IOCTL_FSVIDEO_SET_CURRENT_MODE 0x34080c inc\api\ntddvdeo.h Sets the adapter to the specified operating mode. Miniport drivers are required to support this nonmodal request because it resets the current mode. The miniport driver must also consider the two high order flags which are used to additionally control the mode set operation. SeeVIDEO_MODEfor further information.
    IOCTL_FSVIDEO_SET_CURSOR_POSITION 0x340814 inc\api\ntddvdeo.h  
    IOCTL_FSVIDEO_SET_SCREEN_INFORMATION 0x340810 inc\api\ntddvdeo.h Sets various battery information. The input parameter structure,BATTERY_SET_INFORMATION, indicates which battery status information is to be set.
    IOCTL_FSVIDEO_WRITE_TO_FRAME_BUFFER 0x340804 inc\api\ntddvdeo.h  
    IOCTL_GET_CHANNEL_ALIGN_RQST 0x80002014 inc\ddk\usbscan.h Returns a USB device's maximum packet size for the read, write, and interrupt transfer pipes associated with the specified device handle.
    IOCTL_GET_DEVICE_DESCRIPTOR 0x80002018 inc\ddk\usbscan.h Returns vendor and device identifiers.
    IOCTL_GET_HCD_DRIVERKEY_NAME 0x220424 inc\api\usbioctl.h TheIOCTL_GET_HCD_DRIVERKEY_NAMEI/O control request retrieves the driver key name in the registry for a USB host controller driver.
    IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS 0xb01a0 inc\ddk\hidclass.h The IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of theinput reportqueue for atop-level collection.
    IOCTL_GET_PHYSICAL_DESCRIPTOR 0xb019a inc\ddk\hidclass.h The IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of atop-level collection.
    IOCTL_GET_PIPE_CONFIGURATION 0x80002028 inc\ddk\usbscan.h Returns a description of every transfer pipe supported for a device.
    IOCTL_GET_PROCESSOR_OBJ_INFO 0x294180 inc\ddk\poclass.h  
    IOCTL_GET_SYS_BUTTON_CAPS 0x294140 inc\ddk\poclass.h  
    IOCTL_GET_SYS_BUTTON_EVENT 0x294144 inc\ddk\poclass.h  
    IOCTL_GET_TUPLE_DATA 0x42ee0 inc\ddk\ntddpcm.h This request retrieves tuple data that is stored in a PC Card's or CardBus card's attribute memory. The caller must specify the number of the socket where the PC Card or CardBus card is inserted, the location of an output buffer, and the number of bytes of tuple data to be read.
    IOCTL_GET_USB_DESCRIPTOR 0x80002020 inc\ddk\usbscan.h Returns a specified USB Descriptor.
    IOCTL_GET_VERSION 0x80002000 inc\ddk\usbscan.h Returns the version number of the driver.
    IOCTL_HID_ACTIVATE_DEVICE 0xb001f inc\ddk\hidport.h The IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations.
    IOCTL_HID_DEACTIVATE_DEVICE 0xb0023 inc\ddk\hidport.h The IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations.
    IOCTL_HID_DISABLE_SECURE_READ 0xb020f inc\ddk\hidclass.h The IOCTL_HID_DISABLE_SECURE_READ request cancels anIOCTL_HID_ENABLE_SECURE_READrequest for aHID collection. Only a "trusted" user-mode application (an application withSeTcbPrivilegeprivileges) can successfully use this request. Kernel-mode drivers haveSeTcbPrivilegeprivileges by default, but user-mode applications do not.
    IOCTL_HID_ENABLE_SECURE_READ 0xb020b inc\ddk\hidclass.h The IOCTL_HID_ENABLE_SECURE_READ request enables a secure read for open files of aHID collection. Only a "trusted" user-mode application (an application withSeTcbPrivilegeprivileges) can successfully use this request. Kernel-mode drivers haveSeTcbPrivilegeprivileges by default, but user-mode applications do not.
    IOCTL_HID_FLUSH_QUEUE 0xb0197 inc\ddk\hidclass.h The IOCTL_HID_FLUSH_QUEUE request dequeues all of the unparsedinput reportsfrom atop-level collection'sinput report queue.
    IOCTL_HID_GET_COLLECTION_DESCRIPTOR 0xb0193 inc\ddk\hidclass.h The IOCTL_HID_GET_COLLECTION_DESCRIPTOR request obtains a top-level collection'spreparsed data, which theHID class driverextracted from the physical device'sreport descriptorduring device initialization.
    IOCTL_HID_GET_COLLECTION_INFORMATION 0xb01a8 inc\ddk\hidclass.h The IOCTL_HID_GET_COLLECTION_INFORMATION request obtains atop-level collection'sHID_COLLECTION_INFORMATIONstructure. This information includes the size, in bytes, of a collection'spreparsed data.
    IOCTL_HID_GET_DEVICE_ATTRIBUTES 0xb0027 inc\ddk\hidport.h  
    IOCTL_HID_GET_DEVICE_DESCRIPTOR 0xb0003 inc\ddk\hidport.h The IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device'sHID descriptor.
    IOCTL_HID_GET_DRIVER_CONFIG 0xb0190 inc\ddk\hidclass.h  
    IOCTL_HID_GET_FEATURE 0xb0192 inc\ddk\hidclass.h The IOCTL_HID_GET_FEATURE request obtains afeature reportfrom a HIDClass device.
    IOCTL_HID_GET_FRIENDLY_NAME 0x0000 inc\ddk\hidclass.h  
    IOCTL_HID_GET_HARDWARE_ID 0xb019e inc\ddk\hidclass.h  
    IOCTL_HID_GET_INDEXED_STRING 0xb01e2 inc\ddk\hidclass.h The IOCTL_HID_GET_INDEXED_STRING request obtains a specified embedded string from atop-level collection. The retrieved string is a NULL-terminated wide character string in a human readable format.
    IOCTL_HID_GET_INPUT_REPORT 0xb01a2 inc\ddk\hidclass.h The IOCTL_HID_GET_INPUT_REPORT request obtains aninput reportfrom atop-level collection.
    IOCTL_HID_GET_MANUFACTURER_STRING 0xb01ba inc\ddk\hidclass.h The IOCTL_HID_GET_MANUFACTURER_STRING request obtains atop-level collection'sembedded string that identifies the manufacturer of the device. The retrieved string is a NULL-terminated wide character string in a human readable format.
    IOCTL_HID_GET_MS_GENRE_DESCRIPTOR 0xb01e6 inc\ddk\hidclass.h  
    IOCTL_HID_GET_POLL_FREQUENCY_MSEC 0xb0198 inc\ddk\hidclass.h The IOCTL_HID_GET_POLL_FREQUENCY_MSEC request obtains the current polling frequency, in milliseconds, of atop-level collection.
    IOCTL_HID_GET_PRODUCT_STRING 0xb01be inc\ddk\hidclass.h  
    IOCTL_HID_GET_REPORT_DESCRIPTOR 0xb0007 inc\ddk\hidport.h The IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains thereport descriptorfor a HIDClass device.
    IOCTL_HID_GET_SERIALNUMBER_STRING 0xb01c2 inc\ddk\hidclass.h  
    IOCTL_HID_GET_STRING 0xb0013 inc\ddk\hidport.h The IOCTL_HID_GET_STRING request obtains a manufacturer ID, product ID, or serial number for atop-level collection. The retrieved string is a NULL-terminated wide character string in a human readable format.
    IOCTL_HID_READ_REPORT 0xb000b inc\ddk\hidport.h The IOCTL_HID_READ_REPORT request transfers an input report from a HIDClass device into theHID class driver'sbuffer.
    IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST 0xb002b inc\ddk\hidport.h  
    IOCTL_HID_SET_DRIVER_CONFIG 0xb0194 inc\ddk\hidclass.h  
    IOCTL_HID_SET_FEATURE 0xb0191 inc\ddk\hidclass.h The IOCTL_HID_SET_FEATURE request sends afeature reportto atop-level collection.
    IOCTL_HID_SET_OUTPUT_REPORT 0xb0195 inc\ddk\hidclass.h The IOCTL_HID_SET_OUTPUT_REPORT request sends anoutput reportto a HIDClass device.
    IOCTL_HID_SET_POLL_FREQUENCY_MSEC 0xb019c inc\ddk\hidclass.h The IOCTL_HID_SET_POLL_FREQUENCY_MSEC request sets the polling frequency, in milliseconds, for atop-level collection.
    IOCTL_HID_WRITE_REPORT 0xb000f inc\ddk\hidport.h The IOCTL_HID_WRITE_REPORT request sends aHID reportto a HIDClass device.
    IOCTL_IDE_PASS_THROUGH 0x4d028 inc\api\ntddscsi.h Allows an application to send almost any ATA command to a target device, with the following restrictions:
    IOCTL_IEEE1284_GET_MODE 0x160014 inc\api\ntddpar.h  
    IOCTL_IEEE1284_NEGOTIATE 0x160018 inc\api\ntddpar.h The IOCTL_IEEE1284_NEGOTIATE request sets the read and write protocols that are used for a parallel device. This request requires that the parallel port, to which the parallel device is attached, be locked and the parallel device be selected. The system-supplied bus driver for parallel ports negotiates with the parallel device to determine the fastest modes that are supported by both the host chipset and the parallel device from among the modes that are specified by the client. The parallel port bus driver sets the default read and write modes to the negotiated modes.
    IOCTL_IEEE1394_API_REQUEST 0x220400 inc\api\ntdd1394.h IEEE1394_API_ADD_VIRTUAL_DEVICE
    IOCTL_INTERNAL_BTHENUM_GET_DEVINFO 0x41000b inc\ddk\bthioctl.h The IOCTL_INTERNAL_BTHENUM_GET_DEVINFO request returns information about the remote device that caused the Plug and Play (PnP) manager to load the current instance of the profile driver.
    IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO 0x410007 inc\ddk\bthioctl.h The IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO request obtains information about the underlying device and service that caused the Plug and Play (PnP) manager to load the profile driver.
    IOCTL_INTERNAL_BTH_SUBMIT_BRB 0x410003 inc\ddk\bthioctl.h Profile drivers use IOCTL_INTERNAL_BTH_SUBMIT_BRB to submit a Bluetooth Request Block (BRB) to the Bluetooth driver stack from the following list:
    IOCTL_INTERNAL_DESELECT_DEVICE 0x160060 inc\ddk\parallel.h The IOCTL_INTERNAL_DESELECT_DEVICE request deselects an IEEE 1284.3 daisy-chain device or an IEEE 1284 end-of-chain device attached to a parallel port.
    IOCTL_INTERNAL_DISABLE_END_OF_CHAIN_BUS_RESCAN 0x1600d8 inc\ddk\parallel.h  
    IOCTL_INTERNAL_DISCONNECT_IDLE 0x160080 inc\ddk\parallel.h The IOCTL_INTERNAL_DISCONNECT_IDLE request disconnects the IEEE 1284 operating modes that are set for a parallel device. The system-supplied bus driver for parallel ports sets the default operating mode to IEEE 1284-compatible.
    IOCTL_INTERNAL_ENABLE_END_OF_CHAIN_BUS_RESCAN 0x1600dc inc\ddk\parallel.h  
    IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO 0x160044 inc\ddk\parallel.h The IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO request returns information about a parallel port. This information supplements the information that a client obtains by using anIOCTL_INTERNAL_GET_PARALLEL_PORT_INFOrequest. The additional information about the parallel port includes the type of system interface, the bus number, and the interrupt resources used by the port.
    IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO 0x160054 inc\ddk\parallel.h The IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO request returns Plug and Play information about a parallel port.
    IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO 0x160030 inc\ddk\parallel.h The IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO request returns information about a parallel port. The information specifies the resources assigned to the parallel port, the capabilities of the port, and pointers toparallel port callback routines.
    IOCTL_INTERNAL_GET_PARPORT_FDO 0x160074 inc\ddk\parallel.h  
    IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER 0xb3fcb inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER request is not supported.
    IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 0xb3fc3 inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request does the following:
    IOCTL_INTERNAL_I8042_HOOK_MOUSE 0xf3fc3 inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_HOOK_MOUSE request adds an ISR callback routine to the I8042prt mouse ISR. The ISR callback is optional and is provided by an upper-level mouse filter driver.
    IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION 0xb3fcf inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION request passes a pointer to a keyboard interrupt object. I8042prt sends this request synchronously to the top of the device stack after the keyboard interrupt object is created. Upper-level filter drivers that need to synchronize their callback operation with the I8042prt keyboard ISR can use the pointer to the keyboard interrupt object. For more information about this request, seeSynchronize the Operation of a Filter Driver with a Device's ISR.
    IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER 0xb3fc7 inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a keyboard device. A filter driver can use this request to control the operation of a keyboard.
    IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION 0xf3fcf inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION request passes a pointer to a mouse interrupt object. I8042prt sends this request synchronously to the top of the device stack after the mouse interrupt object is created. Upper-level filter drivers that need to synchronize their callback operation with the mouse ISR can use the pointer to the mouse interrupt object. For more information about this request, seeSynchronize the Operation of a Filter Driver with a Device's ISR.
    IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER 0xf3fc7 inc\api\ntdd8042.h The IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a mouse device. An upper-level filter driver can use this request to control the operation of a mouse.
    IOCTL_INTERNAL_INIT_1284_3_BUS 0x160058 inc\ddk\parallel.h This section describes how the system-supplied function driver for parallel ports handles the following internal device control requests:
    IOCTL_INTERNAL_KEYBOARD_CONNECT 0xb0203 inc\ddk\kbdmou.h The IOCTL_INTERNAL_KEYBOARD_CONNECT request connects the Kbdclass service to the keyboard device. Kbdclass sends this request down the keyboard device stack before it opens the keyboard device.
    IOCTL_INTERNAL_KEYBOARD_DISABLE 0xb1003 inc\ddk\kbdmou.h  
    IOCTL_INTERNAL_KEYBOARD_DISCONNECT 0xb0403 inc\ddk\kbdmou.h The IOCTL_INTERNAL_KEYBOARD_DISCONNECT request is completed with a status of STATUS_NOT_IMPLEMENTED. Note that a Plug and Play keyboard can be added or removed by the Plug and Play manager.
    IOCTL_INTERNAL_KEYBOARD_ENABLE 0xb0803 inc\ddk\kbdmou.h  
    IOCTL_INTERNAL_LOCK_PORT 0x160094 inc\ddk\parallel.h The IOCTL_INTERNAL_LOCK_PORT request allocates the parallel device's parent parallel port and selects the parallel device on the port.
    IOCTL_INTERNAL_LOCK_PORT_NO_SELECT 0x1600d0 inc\ddk\parallel.h The IOCTL_INTERNAL_LOCK_PORT_NO_SELECT request allocates the parallel device's parent parallel port, but does not select the parallel device.
    IOCTL_INTERNAL_MOUSE_CONNECT 0xf0203 inc\ddk\kbdmou.h The IOCTL_INTERNAL_MOUSE_CONNECT request connects Mouclass service to a mouse device. Mouclass sends this request down the device stack before it opens a mouse device.
    IOCTL_INTERNAL_MOUSE_DISABLE 0xf1003 inc\ddk\kbdmou.h  
    IOCTL_INTERNAL_MOUSE_DISCONNECT 0xf0403 inc\ddk\kbdmou.h The IOCTL_INTERNAL_MOUSE_DISCONNECT request is completed by Moufiltr with an error status of STATUS_NOT_IMPLEMENTED. (Note that a Plug and Play mouse device can be added or removed by the Plug and Play manager.)
    IOCTL_INTERNAL_MOUSE_ENABLE 0xf0803 inc\ddk\kbdmou.h The IRP_MJ_CREATE request opens a mouse device.
    IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE 0x160050 inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE request clears the operating mode of a parallel port.
    IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT 0x160034 inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT request connects an optional interrupt service routine and an optionaldeferred port checkroutine to a parallel port. Only kernel-mode drivers can use this request.
    IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT 0x160038 inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT request disconnects an interrupt service routine (and an optional deferred port check service routine) that was connected by using anIOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPTrequest. Only kernel-mode drivers can connect and disconnect an interrupt routine.
    IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE 0x16002c inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE request allocates a parallel port for exclusive access by a client. Before accessing port hardware, a client must first allocate it.
    IOCTL_INTERNAL_PARALLEL_PORT_FREE 0x1600a0 inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_PORT_FREE request frees a parallel port. After using a parallel port, a client must free it. Microsoft recommends using the system-suppliedPPARALLEL_FREE_ROUTINEcallback to free a parallel port because there is no functional advantage to using an IOCTL_INTERNAL_PARALLEL_PORT_FREE request to free the port.
    IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE 0x16004c inc\ddk\parallel.h The IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE request sets the operating mode of a parallel port.
    IOCTL_INTERNAL_PARCHIP_CONNECT 0x160048 inc\ddk\parallel.h The IOCTL_INTERNAL_MOUSE_CONNECT request connects Mouclass service to a mouse device. Mouclass sends this request down the device stack before it opens a mouse device.
    IOCTL_INTERNAL_PARCLASS_CONNECT 0x160078 inc\ddk\parallel.h The IOCTL_INTERNAL_PARCLASS_CONNECT request returns information about a parallel port and the callback routines that the system-supplied bus driver for parallel ports provides to operate the parallel port.
    IOCTL_INTERNAL_PARCLASS_DISCONNECT 0x16007c inc\ddk\parallel.h The IOCTL_INTERNAL_PARCLASS_DISCONNECT request disconnects a client from a parallel device. After disconnecting from a parallel device, a client must not use any information obtained from a previousIOCTL_INTERNAL_PARCLASS_CONNECTrequest.
    IOCTL_INTERNAL_PARDOT3_CONNECT 0x1600a4 inc\ddk\parallel.h The IOCTL_INTERNAL_MOUSE_CONNECT request connects Mouclass service to a mouse device. Mouclass sends this request down the device stack before it opens a mouse device.
    IOCTL_INTERNAL_PARDOT3_DISCONNECT 0x1600a8 inc\ddk\parallel.h The IOCTL_INTERNAL_KEYBOARD_DISCONNECT request is completed with a status of STATUS_NOT_IMPLEMENTED. Note that a Plug and Play keyboard can be added or removed by the Plug and Play manager.
    IOCTL_INTERNAL_PARDOT3_RESET 0x1600ac inc\ddk\parallel.h  
    IOCTL_INTERNAL_PARDOT3_SIGNAL 0x1600b0 inc\ddk\parallel.h  
    IOCTL_INTERNAL_REGISTER_FOR_REMOVAL_RELATIONS 0x1600c8 inc\ddk\parallel.h  
    IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO 0x16003c inc\ddk\parallel.h The IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO request returns STATUS_SUCCESS.
    IOCTL_INTERNAL_SELECT_DEVICE 0x16005c inc\ddk\parallel.h The IOCTL_INTERNAL_SELECT_DEVICE request:
    IOCTL_INTERNAL_SERENUM_REMOVE_SELF 0x370207 inc\api\ntddser.h The IOCTL_INTERNAL_SERENUM_REMOVE_SELF request invalidates the bus relations of the filter DO that are associated with a target PDO. (Physically, this request invalidates the bus relations of the RS-232 port to which the target device is attached.)
    IOCTL_INTERNAL_UNLOCK_PORT 0x160098 inc\ddk\parallel.h The IOCTL_INTERNAL_UNLOCK_PORT request deselects a parallel device and frees the parallel device's parent parallel port.
    IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT 0x1600d4 inc\ddk\parallel.h The IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT_DEVICE request frees a parallel device's parent parallel port. The request does not deselect the parallel device on the parallel port.
    IOCTL_INTERNAL_UNREGISTER_FOR_REMOVAL_RELATIONS 0x1600cc inc\ddk\parallel.h  
    IOCTL_INTERNAL_USB_CYCLE_PORT 0x22001f inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_CYCLE_PORTI/O request simulates a device unplug and replug on the port associated with the PDO.
    IOCTL_INTERNAL_USB_ENABLE_PORT 0x220017 inc\api\usbioctl.h This control code is not supported.
    IOCTL_INTERNAL_USB_GET_BUSGUID_INFO 0x220428 inc\api\usbioctl.h This control code is not supported.
    IOCTL_INTERNAL_USB_GET_BUS_INFO 0x220420 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_BUS_INFOI/O request queries the bus driver for certain bus information.
    IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME 0x220424 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_CONTROLLER_NAMEI/O request queries the bus driver for the device name of the USB host controller.
    IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO 0x22044f inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFOI/O request returns information about a USB device and the hub it is attached to.
    IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE 0x220433 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_DEVICE_HANDLEIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX 0x220437 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EXIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_GET_HUB_COUNT 0x22001b inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_HUB_COUNTIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_GET_HUB_NAME 0x220020 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_HUB_NAMEI/O request is used by drivers to retrieve the UNICODE symbolic name for the target PDO if the PDO is for a hub. Otherwise a NULL string is returned.
    IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO 0x22042c inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_PARENT_HUB_INFOis used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_GET_PORT_STATUS 0x220013 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_PORT_STATUSI/O request queries the status of the PDO.
    IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO 0x22000f inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_ROOTHUB_PDOIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS 0x22043f inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESSI/O request returns information about the host controller the USB device is attached to, and the device's location in the USB device tree.
    IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE 0x22043b inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLEis used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY 0x220443 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_NOTIFY_IDLE_READYIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_RECORD_FAILURE 0x22002b inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_RECORD_FAILUREIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME 0x22044b inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_REQ_GLOBAL_RESUMEIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND 0x220447 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPENDIOCTL is used by the USB hub driver. Do not use.
    IOCTL_INTERNAL_USB_RESET_PORT 0x220007 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_RESET_PORTI/O control request is used by a driver to reset the upstream port of the device it manages. After a successful reset, the bus driver reselects the configuration and any alternative interface settings that the device had before the reset occurred. All pipe handles, configuration handles and interface handles remain valid.
    IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION 0x220027 inc\api\usbioctl.h  
    IOCTL_INTERNAL_USB_SUBMIT_URB 0x220003 inc\api\usbioctl.h TheIOCTL_INTERNAL_USB_SUBMIT_URBI/O control request is used by drivers to submit anURBto the bus driver.
    IOCTL_IP_ADDCHANGE_NOTIFY_REQUEST 0x66 inc\api\ipexport.h  
    IOCTL_IP_GET_BEST_INTERFACE 0x69 inc\api\ipexport.h  
    IOCTL_IP_INTERFACE_INFO 0x68 inc\api\ipexport.h The number of adapters listed in the array pointed to by theAdaptermember.
    IOCTL_IP_RTCHANGE_NOTIFY_REQUEST 0x65 inc\api\ipexport.h  
    IOCTL_IP_SET_FIREWALL_HOOK 0x128030 inc\ddk\ipfirewall.h  
    IOCTL_IP_UNIDIRECTIONAL_ADAPTER_ADDRESS 0x6a inc\api\ipexport.h  
    IOCTL_IR_ENTER_PRIORITY_RECEIVE 0xf608028 inc\ddk\irclass_ioctl.h The IOCTL_IR_ENTER_PRIORITY_RECEIVE request puts the IR receiver into learning mode. This learning can be a 10-foot learn (parse-and-match) or a 2-foot learn from the learning receiver.
    IOCTL_IR_ENTER_PRIORITY_RECEIVE_PARAMS 0x0000 inc\ddk\irclass_ioctl.h The IR_ENTER_PRIORITY_RECEIVE_MODE_PARAMS structure is used with theIOCTL_IR_ENTER_PRIORITY_RECEIVEIOCTL to put the device into Priority Receive mode.
    IOCTL_IR_EXIT_PRIORITY_RECEIVE 0xf60802c inc\ddk\irclass_ioctl.h The IOCTL_IR_EXIT_PRIORITY_RECEIVE request transfers the device from learning mode back into basic receive mode.
    IOCTL_IR_FLASH_RECEIVER 0xf60800c inc\ddk\irclass_ioctl.h The IOCTL_IR_FLASH_RECEIVER request gives the user a visible indication of where to point the receiver.
    IOCTL_IR_GET_DEVCAPS 0x0000 inc\ddk\irclass_ioctl.h  
    IOCTL_IR_GET_DEV_CAPS 0xf604004 inc\ddk\irclass_ioctl.h The IOCTL_IR_GET_DEV_CAPS request is used in the first run to determine what hardware is connected to the system and if that hardware supports the functionality the user is trying to configure.
    IOCTL_IR_GET_EMITTERS 0xf604008 inc\ddk\irclass_ioctl.h The IOCTL_IR_GET_EMITTERS request is used in the first run to identify how many emitters are connected to the system and which ports have emitters connected.
    IOCTL_IR_HANDSHAKE 0xf600024 inc\ddk\irclass_ioctl.h WhenCIRClassdiscovers an instance of a CIR Port device as a result of its device interface being enabled,CIRClasswill send a handshake IOCTL (IOCTL_IR_HANDSHAKE) to the newly-created port device object instance. This IOCTL informs the CIR Port driver thatCIRClasshas detected its device.
    IOCTL_IR_PRIORITY_RECEIVE 0xf604022 inc\ddk\irclass_ioctl.h The IOCTL_IR_PRIORITY_RECEIVE request occurs when data is sent from a learned remote control to the class driver.
    IOCTL_IR_RECEIVE 0xf60401a inc\ddk\irclass_ioctl.h The IOCTL_IR_RECEIVE request occurs with basic remote commands that come from a remote control.
    IOCTL_IR_RESET_DEVICE 0xf608010 inc\ddk\irclass_ioctl.h The IOCTL_IR_RESET_DEVICE request resets the given device. When a device is reset, the port driver cancels all pending transmit and receive IOCTLs. Additionally, the power driver should re-initialize the hardware to the default state.
    IOCTL_IR_SET_WAKE_PATTERN 0xf608038 inc\ddk\irclass_ioctl.h The IOCTL_SERIAL_SET_WAIT_MASK request configures Serial to notify a client after the occurrence of any one of a specified set ofwait events.
    IOCTL_IR_TRANSMIT 0xf608015 inc\ddk\irclass_ioctl.h When the Microsoft Windows operating systems wants to send CIR data, it uses theIOCTL_IR_TRANSMITrequest. Transmit request processing is only a bit more complicated than processing a receive request. IOCTL_IR_TRANSMIT uses both IOCTL data buffers. The input buffer (which uses buffered I/O) contains anIR_TRANSMIT_PARAMSstructure that describes the parameters for the transmit request.
    IOCTL_IR_USER_CLOSE 0xf608034 inc\ddk\irclass_ioctl.h The IOCTL_IR_USER_CLOSE request is part of basic device communication. This IOCTL is sent fromIRCLASSwhen a user has indirectly closed the port driver. This IOCTL is informational only, enabling the port to do any cleanup that is required when a user closes it.
    IOCTL_IR_USER_OPEN 0xf608030 inc\ddk\irclass_ioctl.h The IOCTL_IR_USER_OPEN is part of basic device communication. This IOCTL is sent from the class driver when a user has indirectly opened the port driver through IRCLASS. This IOCTL is informational only, enabling the port to do any initialization or bookkeeping that is required to handle requests not directly originating from IRCLASS.
    IOCTL_KEYBOARD_INSERT_DATA 0xb0100 inc\api\ntddkbd.h  
    IOCTL_KEYBOARD_QUERY_ATTRIBUTES 0xb0000 inc\api\ntddkbd.h The IOCTL_KEYBOARD_QUERY_ATTRIBUTES request returns information about the keyboard attributes.
    IOCTL_KEYBOARD_QUERY_IME_STATUS 0xb1000 inc\api\ntddkbd.h  
    IOCTL_KEYBOARD_QUERY_INDICATORS 0xb0040 inc\api\ntddkbd.h The IOCTL_KEYBOARD_QUERY_INDICATORS request returns information about the keyboard indicators.
    IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION 0xb0080 inc\api\ntddkbd.h The IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION request returns information about the mapping between scan codes and indicators.
    IOCTL_KEYBOARD_QUERY_TYPEMATIC 0xb0020 inc\api\ntddkbd.h The IOCTL_KEYBOARD_QUERY_TYPEMATIC request returns the typematic settings.
    IOCTL_KEYBOARD_SET_IME_STATUS 0xb1004 inc\api\ntddkbd.h  
    IOCTL_KEYBOARD_SET_INDICATORS 0xb0008 inc\api\ntddkbd.h The IOCTL_KEYBOARD_SET_INDICATORS request sets the keyboard indicators.
    IOCTL_KEYBOARD_SET_TYPEMATIC 0xb0004 inc\api\ntddkbd.h The IOCTL_KEYBOARD_SET_TYPEMATIC request sets the typematic parameters.
    IOCTL_KS_DISABLE_EVENT 0x2f000b inc\api\ks.h An application can use IOCTL_KS_DISABLE_EVENT to rescind a previous request notification. The application specifies IOCTL_KS_DISABLE_EVENT in theIoControlparameter of a call toKsSynchronousDeviceControl.
    IOCTL_KS_ENABLE_EVENT 0x2f0007 inc\api\ks.h An application can use IOCTL_KS_ENABLE_EVENT to request notification of a KS event type, or to determine the events supported by a KS object. The application specifies IOCTL_KS_ENABLE_EVENT in theIoControlparameter of a call toKsSynchronousDeviceControl.
    IOCTL_KS_HANDSHAKE 0x2f001f inc\api\ks.h A kernel-mode client can use IOCTL_KS_HANDSHAKE to negotiate an interface between unconnected AVStream pins. The client callsKsSynchronousDeviceControlwith IOCTL_KS_HANDSHAKE and the parameters described below.
    IOCTL_KS_METHOD 0x2f000f inc\api\ks.h An application can use IOCTL_KS_METHOD to execute a method on a KS object. The application passes IOCTL_KS_METHOD with the parameters described below to theKsSynchronousDeviceControlfunction.
    IOCTL_KS_PROPERTY 0x2f0003 inc\api\ks.h An application can use IOCTL_KS_PROPERTY to get or set properties, or to determine the properties supported by a KS object. The application passes IOCTL_KS_PROPERTY with the parameters described below to theKsSynchronousDeviceControlfunction.
    IOCTL_KS_READ_STREAM 0x2f4017 inc\api\ks.h  
    IOCTL_KS_RESET_STATE 0x2f001b inc\api\ks.h An application can use IOCTL_KS_RESET_STATE to return a pin to the state it was in atAcquire-time. The application passes IOCTL_KS_RESET_STATE with the parameters described below to theKsSynchronousDeviceControlfunction.
    IOCTL_KS_WRITE_STREAM 0x2f8013 inc\api\ks.h An application can use IOCTL_KS_WRITE_STREAM to write data to a pin. The application passes IOCTL_KS_WRITE_STREAM with the parameters described below to theKsSynchronousDeviceControlfunction.
    IOCTL_LMR_ARE_FILE_OBJECTS_ON_SAME_SERVER 0x1400f0 inc\ddk\ntifs.h  
    IOCTL_MINIPORT_PROCESS_SERVICE_IRP 0x4d038 inc\api\ntddscsi.h This IOCTL is used by a user-mode application or kernel-mode driver that requires notification when something of interest happens in the virtual miniport. This IOCTL might be used, for example, when a vendor-specific, time-consuming operation such as device discovery completes.
    IOCTL_MODEM_CHECK_FOR_MODEM 0x2b002c inc\api\ntddmodm.h  
    IOCTL_MODEM_GET_DLE 0x2b0010 inc\api\ntddmodm.h  
    IOCTL_MODEM_GET_MESSAGE 0x2b0020 inc\api\ntddmodm.h  
    IOCTL_MODEM_GET_PASSTHROUGH 0x2b0004 inc\api\ntddmodm.h  
    IOCTL_MODEM_SEND_GET_MESSAGE 0x2b0024 inc\api\ntddmodm.h  
    IOCTL_MODEM_SEND_LOOPBACK_MESSAGE 0x2b0028 inc\api\ntddmodm.h  
    IOCTL_MODEM_SEND_MESSAGE 0x2b001c inc\api\ntddmodm.h  
    IOCTL_MODEM_SET_DLE_MONITORING 0x2b000c inc\api\ntddmodm.h  
    IOCTL_MODEM_SET_DLE_SHIELDING 0x2b0014 inc\api\ntddmodm.h  
    IOCTL_MODEM_SET_MIN_POWER 0x2b0030 inc\api\ntddmodm.h  
    IOCTL_MODEM_SET_PASSTHROUGH 0x2b0008 inc\api\ntddmodm.h  
    IOCTL_MODEM_STOP_WAVE_RECEIVE 0x2b0018 inc\api\ntddmodm.h  
    IOCTL_MODEM_WATCH_FOR_RESUME 0x2b0034 inc\api\ntddmodm.h  
    IOCTL_MOUNTDEV_LINK_CREATED 0x4dc010 inc\ddk\mountdev.h Support for this IOCTL by the mount manager clients is optional. The mount manager uses this IOCTL to alert the client driver that a persistent name has been assigned to its volume. The input for this IOCTL is the persistent name assigned.
    IOCTL_MOUNTDEV_LINK_DELETED 0x4dc014 inc\ddk\mountdev.h Support for this IOCTL by the mount manager clients is optional. It alerts the mount manager client that a persistent name associated with it has been deleted. The input for this IOCTL is the persistent name that was deleted.
    IOCTL_MOUNTDEV_QUERY_DEVICE_NAME 0x4d0008 inc\ddk\mountmgr.h  
    IOCTL_MOUNTDEV_QUERY_STABLE_GUID 0x4d0018 inc\ddk\mountdev.h  
    IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME 0x4d000c inc\ddk\mountdev.h Support for this IOCTL by the mount manager clients is optional. Some mount manager clients are able to keep track of their drive letters across reboots of the system without the help of the mount manager. Such clients can send a suggested drive letter name to the mount manager in response to this IOCTL. The mount manager uses the suggested name if the mount manager's database does not already contain a persistent drive letter name for the client's volume. Otherwise, it ignores the suggestion and uses the drive letter name in its persistent name database.
    IOCTL_MOUNTDEV_QUERY_UNIQUE_ID 0x4d0000 inc\ddk\mountdev.h  
    IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS 0x6dc014 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_BOOT_DL_ASSIGNMENT 0x6dc044 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_CHANGE_NOTIFY 0x6d4020 inc\ddk\mountmgr.h Clients send this IOCTL to the mount manager to be informed whenever there is a change in the mount manager's persistent symbolic link name database.
    IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES 0x6d4028 inc\ddk\mountmgr.h When a volume arrives in the system, it registers for the MOUNTDEV_MOUNTED_DEVICE_GUID interface class and the mount manager receives a Plug and Play notification (seeMount Manager I/O Control Codesfor a discussion of this process). When the mount manager receives this notification, it queries the client driver that manages the volume for the volume's unique ID. In some cases, however, particularly with clusters, the client notifies the mount manager of the arrival of its volume, but then does not respond when queried for the volume's unique ID. The mount manager keeps these volumes in adead mounted devicelist. Clients can use the IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES IOCTL to request that the mount manager rescan its dead mounted device list and make another attempt to query the clients on the list for the unique IDs of their respective volumes.
    IOCTL_MOUNTMGR_CREATE_POINT 0x6dc000 inc\ddk\mountmgr.h The mount manager clients can use this IOCTL to request that the mount manager create a persistent symbolic link name for the indicated volume. For a discussion of the various sorts of persistent symbolic links managed by the mount manager, seeSupporting Mount Manager Requests in a Storage Class Driver.
    IOCTL_MOUNTMGR_DELETE_POINTS 0x6dc004 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY 0x6dc00c inc\ddk\mountmgr.h This IOCTL returns triples that consist of a persistent symbolic link name for the volume (that is, a mount point), a unique ID for the volume, and a nonpersistent device name (such as "\Device\HarddiskVolume1") for the volume. The input to this IOCTL is aMOUNTMGR_MOUNT_POINTstructure that contains a single triple.
    IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE 0x6dc024 inc\ddk\mountmgr.h This IOCTL directs the mount manager to keep a symbolic link active after the Plug and Play manager has given notification that its corresponding volume has gone offline. When the volume goes back online, the mount manager reassigns the symbolic link to the volume. No other volume is allowed to claim the symbolic link while its original owner is offline.
    IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER 0x6dc010 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_QUERY_AUTO_MOUNT 0x6d003c inc\ddk\mountmgr.h This IOCTL returns triples that consist of a persistent symbolic link name for the volume (that is, a mount point), a unique ID for the volume, and a nonpersistent device name (such as "\Device\HarddiskVolume1") for the volume. The input to this IOCTL is aMOUNTMGR_MOUNT_POINTstructure that contains a single triple.
    IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH 0x6d0030 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS 0x6d0034 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_QUERY_POINTS 0x6d0008 inc\ddk\mountmgr.h This IOCTL returns triples that consist of a persistent symbolic link name for the volume (that is, a mount point), a unique ID for the volume, and a nonpersistent device name (such as "\Device\HarddiskVolume1") for the volume. The input to this IOCTL is aMOUNTMGR_MOUNT_POINTstructure that contains a single triple.
    IOCTL_MOUNTMGR_SCRUB_REGISTRY 0x6dc038 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_SET_AUTO_MOUNT 0x6dc040 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_TRACELOG_CACHE 0x6d4048 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION 0x6d402c inc\ddk\mountmgr.h This IOCTL allows a client to simulate a Plug and Play device interface arrival notification with the given volume name. If a client does not register a device interface of type MOUNTDEV_MOUNTED_DEVICE_GUID, the mount manager is not alerted of its arrival. However, the client can alert the mount manager of its volume's arrival directly by means of this IOCTL.
    IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED 0x6dc018 inc\ddk\mountmgr.h  
    IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED 0x6dc01c inc\ddk\mountmgr.h The mount manager clients use this IOCTL to alert the mount manager that a volume mount point has been deleted so that the mount manager can replicate the database entry for the given mount point.
    IOCTL_MOUSE_INSERT_DATA 0xf0004 inc\api\ntddmou.h  
    IOCTL_MOUSE_QUERY_ATTRIBUTES 0xf0000 inc\api\ntddmou.h The IOCTL_MOUSE_QUERY_ATTRIBUTES request returns information about the mouse attributes.
    IOCTL_MPDSM_DEREGISTER 0x736dc008 inc\ddk\dsm.h  
    IOCTL_MPDSM_REGISTER 0x736dc004 inc\ddk\dsm.h  
    IOCTL_MPIO_PASS_THROUGH_PATH 0x4d03c inc\api\ntddscsi.h This I/O control code allows an application or kernel driver to send a SCSI command to a designated real LUN. The following restrictions apply to the use of this I/O control code:
    IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT 0x4d040 inc\api\ntddscsi.h Allows an application to send almost any SCSI command to a target device, with the following restrictions:
    IOCTL_MTP_CUSTOM_COMMAND 0x3150544d    
    IOCTL_NDIS_ADD_TDI_DEVICE 0x170014 inc\api\ntddndis.h  
    IOCTL_NDIS_DO_PNP_OPERATION 0x170008 inc\api\ntddndis.h  
    IOCTL_NDIS_ENUMERATE_INTERFACES 0x170010 inc\api\ntddndis.h  
    IOCTL_NDIS_GET_LOG_DATA 0x17001e inc\api\ntddndis.h  
    IOCTL_NDIS_GET_VERSION 0x170020 inc\api\ntddndis.h  
    IOCTL_NDIS_QUERY_ALL_STATS 0x170006 inc\api\ntddndis.h  
    IOCTL_NDIS_QUERY_GLOBAL_STATS 0x170002 inc\api\ntddndis.h An application can use IOCTL_NDIS_QUERY_GLOBAL_STATS to obtain information from a network adapter. The application passes IOCTL_NDIS_QUERY_GLOBAL_STATS, along with anObject Identifier(OID), in theDeviceIoControlfunction.
    IOCTL_NDIS_QUERY_SELECTED_STATS 0x17000e inc\api\ntddndis.h An application can use IOCTL_NDIS_QUERY_GLOBAL_STATS to obtain information from a network adapter. The application passes IOCTL_NDIS_QUERY_GLOBAL_STATS, along with anObject Identifier(OID), in theDeviceIoControlfunction.
    IOCTL_NDIS_RESERVED1 0x170024 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED10 0x170048 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED11 0x17004c inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED12 0x170050 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED13 0x170054 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED14 0x170058 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED15 0x17005c inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED16 0x170060 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED17 0x170064 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED18 0x170068 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED19 0x17006c inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED2 0x170028 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED20 0x170070 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED21 0x170074 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED22 0x170078 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED3 0x17002c inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED4 0x170030 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED5 0x170034 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED6 0x178038 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED7 0x17003e inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED8 0x170040 inc\api\ntddndis.h  
    IOCTL_NDIS_RESERVED9 0x170044 inc\api\ntddndis.h  
    IOCTL_NOTIFY_SWITCH_EVENT 0x294100 inc\ddk\poclass.h  
    IOCTL_PAR_ECP_HOST_RECOVERY 0x160034 inc\api\ntddpar.h  
    IOCTL_PAR_GET_DEFAULT_MODES 0x160028 inc\api\ntddpar.h The IOCTL_PAR_GET_DEFAULT_MODES request returns the default write (forward) and read (reverse) IEEE 1284 protocols that the system-supplied bus driver for parallel ports uses. The default write protocol is CENTRONICS; the default read protocol is NIBBLE.
    IOCTL_PAR_GET_DEVICE_CAPS 0x160024 inc\api\ntddpar.h The IOCTL_PAR_GET_DEVICE_CAPS request does the following:
    IOCTL_PAR_GET_READ_ADDRESS 0x160038 inc\api\ntddpar.h  
    IOCTL_PAR_GET_WRITE_ADDRESS 0x16003c inc\api\ntddpar.h This content can be found here:IOCTL_PAR_SET_WRITE_ADDRESS.
    IOCTL_PAR_IS_PORT_FREE 0x160054 inc\api\ntddpar.h The IOCTL_PAR_IS_PORT_FREE request determines if a parallel device's parent parallel port is free at the time the system-supplied bus driver for parallel ports processes the request. This request is provided primarily for user-mode clients.
    IOCTL_PAR_PING 0x16002c inc\api\ntddpar.h  
    IOCTL_PAR_QUERY_DEVICE_ID 0x16000c inc\api\ntddpar.h  
    IOCTL_PAR_QUERY_DEVICE_ID_SIZE 0x160010 inc\api\ntddpar.h The IOCTL_PAR_QUERY_DEVICE_ID_SIZE request returns the size, in bytes, of a buffer that can hold a device's IEEE 1284 device ID and a NULL terminator.
    IOCTL_PAR_QUERY_INFORMATION 0x160004 inc\api\ntddpar.h PARALLEL_BUSY
    IOCTL_PAR_QUERY_LOCATION 0x160058 inc\api\ntddpar.h The IOCTL_PAR_QUERY_LOCATION request returns the "LPTn" or "LPTn.m" symbolic link name associated with a parallel device. This request is only supported by Windows XP and later.
    IOCTL_PAR_QUERY_RAW_DEVICE_ID 0x160030 inc\api\ntddpar.h The IOCTL_PAR_QUERY_DEVICE_ID request returns the IEEE 1284 device ID of a parallel device assigned by the system-supplied function driver for parallel ports.
    IOCTL_PAR_SET_INFORMATION 0x160008 inc\api\ntddpar.h The IOCTL_PAR_SET_INFORMATION request resets and initializes a parallel device.
    IOCTL_PAR_SET_READ_ADDRESS 0x160020 inc\api\ntddpar.h The IOCTL_PAR_SET_READ_ADDRESS request sets an extended capabilities port (ECP) or enhanced parallel port (EPP) read address (channel) for a parallel device.
    IOCTL_PAR_SET_WRITE_ADDRESS 0x16001c inc\api\ntddpar.h The IOCTL_PAR_SET_WRITE_ADDRESS request sets an extended capabilities port (ECP) or enhanced parallel port (EPP) write address (channel) for a parallel device. The parallel port bus driver queues this request on a work queue for the parallel device.
    IOCTL_PAR_TEST 0x160050 inc\api\ntddpar.h  
    IOCTL_PCMCIA_HIDE_DEVICE 0x4af08 inc\ddk\ntddpcm.h  
    IOCTL_PCMCIA_REVEAL_DEVICE 0x4af0c inc\ddk\ntddpcm.h  
    IOCTL_PF_SET_EXTENSION_POINTER 0x128058 inc\ddk\pfhook.h The filter-hook driver uses this IOCTL to set up an IRP that the filter-hook driver submits to the IP filter driver. The filter-hook driver passes this IOCTL along with related parameters in theIoBuildDeviceIoControlRequestfunction to set up the IRP.
    IOCTL_PMI_GET_CAPABILITIES 0x454000 inc\api\pmi.h The IOCTL_PMI_GET_CAPABILITIES request obtains the capability and asset information about a power meter.
    IOCTL_PMI_GET_CONFIGURATION 0x454004 inc\api\pmi.h The IOCTL_PMI_GET_CONFIGURATION request returns information about the current configuration of a power meter.
    IOCTL_PMI_GET_MEASUREMENT 0x45400c inc\api\pmi.h The IOCTL_PMI_GET_MEASUREMENT request returns the current measurement data from a power meter.
    IOCTL_PMI_REGISTER_EVENT_NOTIFY 0x45c010 inc\api\pmi.h The IOCTL_PMI_REGISTER_EVENT_NOTIFY request registers the IOCTL initiator to be notified about a power meter event. When the event occurs, the Power Meter Interface (PMI) completes the IOCTL request and returns information about the event.
    IOCTL_PMI_SET_CONFIGURATION 0x458008 inc\api\pmi.h The IOCTL_PMI_SET_CONFIGURATION request sets the configuration data for a power meter.
    IOCTL_QUERY_DEVICE_POWER_STATE 0x294000 inc\ddk\ntpoapi.h TheDEVICE_POWER_STATEenumeration type indicates adevice power state.
    IOCTL_QUERY_LID 0x2940c0 inc\ddk\poclass.h  
    IOCTL_READ_REGISTERS 0x8000200c inc\ddk\usbscan.h Reads from USB device registers, using the control pipe.
    IOCTL_REDIR_QUERY_PATH 0x14018f inc\ddk\ntifs.h The IOCTL_REDIR_QUERY_PATH control code is sent by the multiple UNC provider (MUP) to network redirectors to determine which provider can handle a specific UNC path in a name-based operation, typically an IRP_MJ_CREATE request. This request is referred to as "prefix resolution."
    IOCTL_REDIR_QUERY_PATH_EX 0x140193 inc\ddk\ntifs.h The IOCTL_REDIR_QUERY_PATH_EX control code is sent by the multiple UNC provider (MUP) on Windows Vista or later to network redirectors to determine which provider can handle a specific UNC path in a name-based operation, typically an IRP_MJ_CREATE request. This request is referred to as "prefix resolution."
    IOCTL_RESET_PIPE 0x8000201c inc\ddk\usbscan.h Resets the specified USB transfer pipe that is associated with the specified device handle.
    IOCTL_RUN_ACTIVE_COOLING_METHOD 0x298088 inc\ddk\poclass.h  
    IOCTL_SCSISCAN_CMD 0x190012 inc\ddk\scsiscan.h Creates a customized SCSI control descriptor block (CDB) and sends it to the kernel-mode still image driver for SCSI buses.
    IOCTL_SCSISCAN_GET_INFO 0x190022 inc\ddk\scsiscan.h Returns device information.
    IOCTL_SCSISCAN_LOCKDEVICE 0x190016 inc\ddk\scsiscan.h Reserved for use by Microsoft.
    IOCTL_SCSISCAN_SET_TIMEOUT 0x19001c inc\ddk\scsiscan.h Modifies the time-out value used by the kernel-mode still image driver for SCSI buses when it accesses a device.
    IOCTL_SCSISCAN_UNLOCKDEVICE 0x19001a inc\ddk\scsiscan.h  
    IOCTL_SCSI_EXECUTE_IN 0x1b0011 inc\ddk\scsi.h  
    IOCTL_SCSI_EXECUTE_NONE 0x1b0013 inc\ddk\scsi.h  
    IOCTL_SCSI_EXECUTE_OUT 0x1b0012 inc\ddk\scsi.h  
    IOCTL_SCSI_FREE_DUMP_POINTERS 0x41024 inc\api\ntddscsi.h  
    IOCTL_SCSI_GET_ADDRESS 0x41018 inc\api\ntddscsi.h Returns the address information, such as the target ID (TID) and the logical unit number (LUN) of a particular SCSI target. A legacy class driver can issue this request to the port driver to obtain the address of its device. This request is not relevant to storage class drivers that support Plug and Play because the port driver supplies the address information on behalf of the class driver.
    IOCTL_SCSI_GET_CAPABILITIES 0x41010 inc\api\ntddscsi.h Returns the capabilities and limitations of the underlying SCSI HBA. The most important information is returned in theMaximumTransferLengthandAlignmentMaskmembers. Class drivers and users ofIOCTL_SCSI_PASS_THROUGHandIOCTL_SCSI_PASS_THROUGH_DIRECTare required to honor these limitations.
    IOCTL_SCSI_GET_DUMP_POINTERS 0x41020 inc\api\ntddscsi.h  
    IOCTL_SCSI_GET_INQUIRY_DATA 0x4100c inc\api\ntddscsi.h Returns the SCSI inquiry data for all devices on a given SCSI host bus adapter (HBA). If the IOCTL is employed in user space, the program must have opened a handle to the HBA, which can be enumerated by various means, such as SetupDixxx calls. You can useIOCTL_STORAGE_QUERY_PROPERTYto find information about a specific device on the HBA. To determine the size of the output buffer that is required, the caller should send this IOCTL request in a loop. Every time that the storage stack rejects the IOCTL with an error message that indicates that the buffer was too small, the caller should double the buffer size.
    IOCTL_SCSI_MINIPORT 0x4d008 inc\api\ntddscsi.h Sends a special control function to an HBA-specific miniport driver. Results vary, depending on the particular miniport driver to which this request is forwarded. If the caller specifies a nonzeroLength, either the input or output buffer must be at least (sizeof(SRB_IO_CONTROL) +DataBufferLength)).
    IOCTL_SCSI_MINIPORT_DISABLE_SMART 0x1b0505 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE 0x1b0507 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE 0x1b050a inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_ENABLE_SMART 0x1b0504 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS 0x1b0509 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_IDENTIFY 0x1b0501 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE 0x1b0521 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE 0x1b0520 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_NVCACHE 0x1b0600 inc\api\ntddscsi.h The NV Cache Management operations that are defined here can be invoked by user-mode application code running with administrator privileges, using DeviceIoControl and theIOCTL_SCSI_MINIPORTcontrol code. Or, the caller can be kernel-mode driver code usingIoBuildDeviceIoControlRequestand the IOCTL_SCSI_MINIPORT control code.
    IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS 0x1b0502 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_READ_SMART_LOG 0x1b050b inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS 0x1b0503 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_RETURN_STATUS 0x1b0506 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES 0x1b0508 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_SMART_VERSION 0x1b0500 inc\ddk\scsi.h  
    IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG 0x1b050c inc\ddk\scsi.h  
    IOCTL_SCSI_PASS_THROUGH 0x4d004 inc\api\ntddscsi.h Allows an application to send almost any SCSI command to a target device, with the following restrictions:
    IOCTL_SCSI_PASS_THROUGH_DIRECT 0x4d014 inc\api\ntddscsi.h Allows an application to send almost any SCSI command to a target device, with the following restrictions:
    IOCTL_SCSI_RESCAN_BUS 0x4101c inc\api\ntddscsi.h  
    IOCTL_SD_SUBMIT_REQUEST 0x43073 inc\ddk\ntddsd.h  
    IOCTL_SEND_USB_REQUEST 0x80002024 inc\ddk\usbscan.h Sends a vendor-defined request to a USB device, using the control pipe, and optionally sends or receives additional data.
    IOCTL_SERENUM_EXPOSE_HARDWARE 0x370200 inc\api\ntddser.h  
    IOCTL_SERENUM_GET_PORT_NAME 0x37020c inc\api\ntddser.h The IOCTL_SERENUM_GET_PORT_NAME request returns the value of thePortName(orIdentifer) entry value for the RS-232 port -- seeRegistry Settings for a Plug and Play Serial Device.
    IOCTL_SERENUM_PORT_DESC 0x370208 inc\api\ntddser.h The IOCTL_SERENUM_PORT_DESC request returns a description of the RS-232 port associated with a filter DO.
    IOCTL_SERENUM_REMOVE_HARDWARE 0x370204 inc\api\ntddser.h  
    IOCTL_SERIAL_CLEAR_STATS 0x1b0090 inc\api\ntddser.h The IOCTL_SERIAL_CLEAR_STATS request clears the performance statistics for a serial device.
    IOCTL_SERIAL_CLR_DTR 0x1b0028 inc\api\ntddser.h  
    IOCTL_SERIAL_CLR_RTS 0x1b0034 inc\api\ntddser.h The IOCTL_SERIAL_CLR_RTS request clears therequest to sendcontrol signal (RTS).
    IOCTL_SERIAL_CONFIG_SIZE 0x1b0080 inc\api\ntddser.h  
    IOCTL_SERIAL_GET_BAUD_RATE 0x1b0050 inc\api\ntddser.h The IOCTL_SERIAL_GET_BAUD_RATE request returns the baud rate that is currently set for a serial device.
    IOCTL_SERIAL_GET_CHARS 0x1b0058 inc\api\ntddser.h The IOCTL_SERIAL_GET_CHARS request returns the special characters that Serial uses with handshake flow control.
    IOCTL_SERIAL_GET_COMMCONFIG 0x1b0084 inc\api\ntddser.h  
    IOCTL_SERIAL_GET_COMMSTATUS 0x1b006c inc\api\ntddser.h  
    IOCTL_SERIAL_GET_DTRRTS 0x1b0078 inc\api\ntddser.h The IOCTL_SERIAL_GET_DTRRTS request returns information about thedata terminal readycontrol signal (DTR) and therequest to sendcontrol signal (RTS).
    IOCTL_SERIAL_GET_HANDFLOW 0x1b0060 inc\api\ntddser.h The IOCTL_SERIAL_GET_HANDFLOW request returns information about the configuration of the handshake flow control set for a serial device.
    IOCTL_SERIAL_GET_LINE_CONTROL 0x1b0054 inc\api\ntddser.h The IOCTL_SERIAL_GET_LINE_CONTROL request returns information about the line control set for a serial device. The line control parameters include the number of stop bits, the number of data bits, and the parity.
    IOCTL_SERIAL_GET_MODEMSTATUS 0x1b0068 inc\api\ntddser.h  
    IOCTL_SERIAL_GET_MODEM_CONTROL 0x1b0094 inc\api\ntddser.h The IOCTL_SERIAL_GET_MODEM_CONTROL request returns the value of the modem control register.
    IOCTL_SERIAL_GET_PROPERTIES 0x1b0074 inc\api\ntddser.h  
    IOCTL_SERIAL_GET_STATS 0x1b008c inc\api\ntddser.h The IOCTL_SERIAL_GET_STATS request returns information about the performance of a serial device. The statistics include the number of characters transmitted, the number of characters received, and useful error statistics. The driver continuously increments performance values.
    IOCTL_SERIAL_GET_TIMEOUTS 0x1b0020 inc\api\ntddser.h The IOCTL_SERIAL_GET_TIMEOUTS request returns the time-out values that Serial uses with read and write requests.
    IOCTL_SERIAL_GET_WAIT_MASK 0x1b0040 inc\api\ntddser.h  
    IOCTL_SERIAL_IMMEDIATE_CHAR 0x1b0018 inc\api\ntddser.h The IOCTL_SERIAL_IMMEDIATE_CHAR request causes a specified character to be transmitted as soon as possible. The immediate character request completes immediately after any other write that might be in progress. Only one immediate character request can be pending at a time.
    IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS 0x1b000c inc\api\ntddser.h The IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS request sets a serial device to a basic operating mode. Serial's basic operating mode reads and writes one byte at a time, and does not use handshake flow control or time-outs. The basic operation mode is suitable for use by a driver that uses a subset of the 16550 UART interface. Examples of such drivers include a mouse driver or a graphics pad driver for older hardware that use a 16450 UART.
    IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE 0x1b0008 inc\api\ntddser.h The IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE request disables the wait/wake operation of a serial device.
    IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE 0x1b0004 inc\api\ntddser.h The IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE request enables the wait/wake operation of a serial device.
    IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS 0x1b0010 inc\api\ntddser.h  
    IOCTL_SERIAL_LSRMST_INSERT 0x1b007c inc\api\ntddser.h Enables or disables the placement of line status and modem status values into the regular data stream that an application acquires through theReadFilefunction.
    IOCTL_SERIAL_PURGE 0x1b004c inc\api\ntddser.h  
    IOCTL_SERIAL_RESET_DEVICE 0x1b002c inc\api\ntddser.h The IOCTL_SERIAL_RESET_DEVICE request resets a serial device.
    IOCTL_SERIAL_SET_BAUD_RATE 0x1b0004 inc\api\ntddser.h The IOCTL_SERIAL_SET_BAUD_RATE request sets the baud rate on a serial device. Serial verifies the specified baud rate.
    IOCTL_SERIAL_SET_BREAK_OFF 0x1b0014 inc\api\ntddser.h The IOCTL_SERIAL_SET_BREAK_OFF request sets the line control break signal inactive.
    IOCTL_SERIAL_SET_BREAK_ON 0x1b0010 inc\api\ntddser.h  
    IOCTL_SERIAL_SET_CHARS 0x1b005c inc\api\ntddser.h The IOCTL_SERIAL_GET_CHARS request sets the special characters that Serial uses for handshake flow control. Serial verifies the specified special characters.
    IOCTL_SERIAL_SET_COMMCONFIG 0x1b0088 inc\api\ntddser.h  
    IOCTL_SERIAL_SET_DTR 0x1b0024 inc\api\ntddser.h The IOCTL_SERIAL_SET_DTR request sets DTR (data terminal ready).
    IOCTL_SERIAL_SET_FIFO_CONTROL 0x1b009c inc\api\ntddser.h The IOCTL_SERIAL_SET_INFO_CONTROL request sets the FIFO control register (FCR). Serial does not verify the specified FIFO control information.
    IOCTL_SERIAL_SET_HANDFLOW 0x1b0064 inc\api\ntddser.h The IOCTL_SERIAL_SET_HANDFLOW request sets the configuration of handshake flow control. Serial verifies the specified handshake flow control information.
    IOCTL_SERIAL_SET_LINE_CONTROL 0x1b000c inc\api\ntddser.h The IOCTL_SERIAL_SET_LINE_CONTROL request sets theline control register(LCR). The line control register controls the data size, the number of stop bits, and the parity.
    IOCTL_SERIAL_SET_MODEM_CONTROL 0x1b0098 inc\api\ntddser.h The IOCTL_SERIAL_SET_MODEM_CONTROL request sets the modem control register. Parameter checking is not done.
    IOCTL_SERIAL_SET_QUEUE_SIZE 0x1b0008 inc\api\ntddser.h  
    IOCTL_SERIAL_SET_RTS 0x1b0030 inc\api\ntddser.h The IOCTL_SERIAL_SET_RTS request sets RTS (request to send).
    IOCTL_SERIAL_SET_TIMEOUTS 0x1b001c inc\api\ntddser.h The IOCTL_SERIAL_SET_TIMEOUTS request sets the time-out values that the driver uses with read and write requests.
    IOCTL_SERIAL_SET_WAIT_MASK 0x1b0044 inc\api\ntddser.h  
    IOCTL_SERIAL_SET_XOFF 0x1b0038 inc\api\ntddser.h  
    IOCTL_SERIAL_SET_XON 0x1b003c inc\api\ntddser.h The IOCTL_SERIAL_SET_XON request emulates the reception of a XON character, which restarts reception of data.
    IOCTL_SERIAL_WAIT_ON_MASK 0x1b0048 inc\api\ntddser.h  
    IOCTL_SERIAL_XOFF_COUNTER 0x1b0070 inc\api\ntddser.h The count value specified for the XOFF counter request is less than zero.
    IOCTL_SET_DEVICE_WAKE 0x298004 inc\ddk\ntpoapi.h  
    IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS 0xb01a4 inc\ddk\hidclass.h The IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request sets the number of buffers for the input report queue of atop-level collection.
    IOCTL_SET_SERVER_STATE 0x2b003c inc\api\ntddmodm.h EXCEPTION: 'NavigableString' object has no attribute 'text'
    IOCTL_SET_SYS_MESSAGE_INDICATOR 0x2981c0 inc\ddk\poclass.h  
    IOCTL_SET_TIMEOUT 0x8000202c inc\ddk\usbscan.h Sets the time-out value for USB bulk IN, bulk OUT, or interrupt pipe access.
    IOCTL_SFFDISK_DEVICE_COMMAND 0x79e84 inc\ddk\sffdisk.h User-mode applications use this IOCTL to send Secure Digital (SD) card commands to an SD card. For a description of these commands, see theSD Memory Card Part 1 Physical Layer Specification, and theSD Memory Card Part 3 Securityspecification.
    IOCTL_SFFDISK_DEVICE_PASSWORD 0x79e88 inc\ddk\sffdisk.h User-mode applications use this IOCTL to perform basic operations on a Secure Digital (SD) card, such as setting the password on the card, resetting the card, or locking and unlocking the card. For a description of this command, see theSecure Digital I/O (SDIO)specification.
    IOCTL_SFFDISK_QUERY_DEVICE_PROTOCOL 0x71e80 inc\ddk\sffdisk.h User-mode applications use this IOCTL to retrieve a protocol value that identifies the card as either an SD card or an MMC card. For a description of this command, see theSecure Digital I/O (SDIO)specification.
    IOCTL_SMARTCARD_CONFISCATE 0x310010 inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_EJECT 0x310018 inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_GET_ATTRIBUTE 0x310008 inc\api\winsmcrd.h The IOCTL_SMARTCARD_GET_ATTRIBUTE request queries smart card and smart card reader attributes. For a list of all defined attributes, refer to Part 3 of theInteroperability Specification for ICCs and Personal Computer Systems.
    IOCTL_SMARTCARD_GET_LAST_ERROR 0x31003c inc\api\winsmcrd.h The IOCTL_SMARTCARD_GET_LAST_ERROR request retrieves the error code of the most previous operation because there is no option to return an error code immediately after an overlapped operation is complete.
    IOCTL_SMARTCARD_GET_PERF_CNTR 0x310040 inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_GET_STATE 0x310038 inc\api\winsmcrd.h The IOCTL_SMARTCARD_GET_STATE request retrieves the current status of the smart card reader.
    IOCTL_SMARTCARD_IS_ABSENT 0x31002c inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_IS_PRESENT 0x310028 inc\api\winsmcrd.h The IOCTL_SMARTCARD_IS_PRESENT request either returns immediately if no smart card is currently inserted, or it installs an event handler to track smart card insertions.
    IOCTL_SMARTCARD_POWER 0x310004 inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_SET_ATTRIBUTE 0x31000c inc\api\winsmcrd.h The IOCTL_SMARTCARD_SET_ATTRIBUTE request sets various attributes in the driver.
    IOCTL_SMARTCARD_SET_PROTOCOL 0x310030 inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_SWALLOW 0x31001c inc\api\winsmcrd.h  
    IOCTL_SMARTCARD_TRANSMIT 0x310014 inc\api\winsmcrd.h A pointer to an SCARD_IO_REQUEST structure followed by the data to be transmitted. An SCARD_IO_REQUEST structure has the following definition:
    IOCTL_SOCKET_INFORMATION 0x42ef0 inc\ddk\ntddpcm.h This request retrieves socket information for the socket that is indicated by the caller.
    IOCTL_STORAGE_ALLOCATE_BC_STREAM 0x2dd804 inc\api\ntddstor.h  
    IOCTL_STORAGE_BC_VERSION 0x1 inc\api\ntddstor.h  
    IOCTL_STORAGE_BREAK_RESERVATION 0x2d5014 inc\api\ntddstor.h  
    IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT 0x2d1880 inc\api\ntddstor.h  
    IOCTL_STORAGE_CHECK_VERIFY 0x2d4800 inc\api\ntddstor.h Determines whether media are accessible for a device.
    IOCTL_STORAGE_CHECK_VERIFY2 0x2d0800 inc\api\ntddstor.h Determines whether the media has changed on a removable-media device - the caller has opened with FILE_READ_ATTRIBUTES. Because no file system is mounted when a device is opened in this way, this request can be processed much more quickly than an IOCTL_STORAGE_CHECK_VERIFY request.
    IOCTL_STORAGE_EJECTION_CONTROL 0x2d0940 inc\api\ntddstor.h Enables or disables the mechanism that ejects media. Disabling the mechanism locks the drive.
    IOCTL_STORAGE_EJECT_MEDIA 0x2d4808 inc\api\ntddstor.h Ejects media from a SCSI device.
    IOCTL_STORAGE_FIND_NEW_DEVICES 0x2d4818 inc\api\ntddstor.h Determines whether another device that the driver supports has been connected to the I/O bus, either since the system was booted or since the driver last processed this request.
    IOCTL_STORAGE_FREE_BC_STREAM 0x2dd808 inc\api\ntddstor.h  
    IOCTL_STORAGE_GET_BC_PROPERTIES 0x2d5800 inc\api\ntddstor.h Returns the properties of a storage device or adapter. The request indicates the kind of information to retrieve, such as the inquiry data for a device or the capabilities and limitations of an adapter.IOCTL_STORAGE_QUERY_PROPERTYcan also be used to determine whether the port driver supports a particular property or which fields in the property descriptor can be modified with a subsequent change-property request.
    IOCTL_STORAGE_GET_DEVICE_NUMBER 0x2d1080 inc\api\ntddstor.h Retrieves the device type, device number, and, for a partitionable device, the partition number of a device.
    IOCTL_STORAGE_GET_HOTPLUG_INFO 0x2d0c14 inc\api\ntddstor.h Retrieves the hotplug configuration of the specified device.
    IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER 0x2d0c10 inc\api\ntddstor.h Retrieves the serial number of a USB device.
    IOCTL_STORAGE_GET_MEDIA_TYPES 0x2d0c00 inc\api\ntddstor.h Retrieves the geometry information for the device.
    IOCTL_STORAGE_GET_MEDIA_TYPES_EX 0x2d0c04 inc\api\ntddstor.h Retrieves information about the types of media supported by a device.
    IOCTL_STORAGE_LOAD_MEDIA 0x2d480c inc\api\ntddstor.h Loads media into a device.
    IOCTL_STORAGE_LOAD_MEDIA2 0x2d080c inc\api\ntddstor.h Causes media to be loaded in a device that the caller has opened with FILE_READ_ATTRIBUTES. Because no file system is mounted when a device is opened in this way, this request can be processed much more quickly than anIOCTL_STORAGE_LOAD_MEDIArequest.
    IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 0x2d9404 inc\api\ntddstor.h TheIOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTEScontrol code communicates attribute information to the device for trim optimizations if the device supports it.
    IOCTL_STORAGE_MCN_CONTROL 0x2d0944 inc\api\ntddstor.h Enables or disables media change notification. Disabling media change notification prevents the GUID_IO_MEDIA_ARRIVAL and GUID_IO_MEDIA_REMOVAL events.
    IOCTL_STORAGE_MEDIA_REMOVAL 0x2d4804 inc\api\ntddstor.h Enables or disables the mechanism that ejects media, for those devices possessing that locking capability.
    IOCTL_STORAGE_PERSISTENT_RESERVE_IN 0x2d5018 inc\api\ntddstor.h The generic storage class driver (classpnp.sys) exposes an I/O control (IOCTL) interface for issuing Persistent Reserve In commands. The behavior of the storage device when a Persistent Reserve In command is received is described in theSCSI Primary Commands - 2 (SPC-2)specification. The IOCTL interface requires the caller to have read access to the physical device for Persistent Reserve In commands. User-mode applications, services, and kernel-mode drivers can use this IOCTL to control persistent reservations. If called from a driver, this IOCTL must be called from a thread running at IRQL < DISPATCH_LEVEL. This IOCTL is defined with FILE_READ_ACCESS, requiring a device handle to have read permissions to issue the Persistent Reserve In command.
    IOCTL_STORAGE_PERSISTENT_RESERVE_OUT 0x2dd01c inc\api\ntddstor.h The generic storage class driver (classpnp.sys) exposes an I/O control (IOCTL) interface for issuing Persistent Reserve Out commands. The behavior of the storage device when a Persistent Reserve Out command is received is described in theSCSI Primary Commands - 2 (SPC-2)specification. The IOCTL interface requires the caller to have read/write access to the physical device for Persistent Reserve Out commands. User-mode applications, services, and kernel-mode drivers can use this IOCTL to control persistent reservations. If called from a driver, this IOCTL must be called from a thread running at IRQL < DISPATCH_LEVEL. This IOCTL is defined with FILE_READ_ACCESS and FILE_WRITE_ACCESS, requiring a device handle to have both read and write permissions to issue the Persistent Reserve Out command.
    IOCTL_STORAGE_PREDICT_FAILURE 0x2d1100 inc\api\ntddstor.h Polls for a prediction of device failure. This request works with the IDE disk drives that support self-monitoring analysis and reporting technology (SMART). If the drive is a SCSI drive, the class driver attempts to verify if the SCSI disk supports the equivalent IDE SMART technology by check the inquiry information on the Information Exception Control Page, X3T10/94-190 Rev 4.
    IOCTL_STORAGE_QUERY_PROPERTY 0x2d1400 inc\api\ntddstor.h Returns the properties of a storage device or adapter. The request indicates the kind of information to retrieve, such as the inquiry data for a device or the capabilities and limitations of an adapter.IOCTL_STORAGE_QUERY_PROPERTYcan also be used to determine whether the port driver supports a particular property or which fields in the property descriptor can be modified with a subsequent change-property request.
    IOCTL_STORAGE_READ_CAPACITY 0x2d5140 inc\api\ntddstor.h Retrieves the geometry information for the device.
    IOCTL_STORAGE_RELEASE 0x2d4814 inc\api\ntddstor.h Releases a device previously reserved for the exclusive use of the caller on a bus that supports multiple initiators and the concept of reserving a device, such as a SCSI bus.
    IOCTL_STORAGE_RESERVE 0x2d4810 inc\api\ntddstor.h Claims a device for the exclusive use of the caller on a bus that supports multiple initiators and the concept of reserving a device, such as a SCSI bus.
    IOCTL_STORAGE_RESET_BUS 0x2d5000 inc\api\ntddstor.h Resets an I/O bus and, indirectly, each device on the bus. Resetting the bus clears all device reservations and transfer speed settings, which must then be renegotiated, making it a time-consuming operation that should be used very rarely. The caller requires only read access to issue a bus reset.
    IOCTL_STORAGE_RESET_DEVICE 0x2d5004 inc\api\ntddstor.h If possible, resets a non-SCSI storage device without affecting other devices on the bus. Device reset for SCSI devices is not supported. The caller requires only read access to issue a device reset and, to comply, the device must be capable of responding to I/O requests. If the device reset succeeds, pending I/O requests are canceled.
    IOCTL_STORAGE_SET_HOTPLUG_INFO 0x2dcc18 inc\api\ntddstor.h Sets the hotplug configuration of the specified device.
    IOCTL_STORAGE_SET_READ_AHEAD 0x2d4400 inc\api\ntddcdvd.h Causes the device to skip to the given target address when the device reaches a certain trigger address during read-ahead caching.
    IOCTL_SWENUM_GET_BUS_ID 0x2a400b inc\ddk\swenum.h  
    IOCTL_SWENUM_INSTALL_INTERFACE 0x2a0000 inc\ddk\swenum.h  
    IOCTL_SWENUM_REMOVE_INTERFACE 0x2a0004 inc\ddk\swenum.h  
    IOCTL_TAPE_CHECK_VERIFY 0x1f4800 inc\api\ntddtape.h  
    IOCTL_TAPE_CREATE_PARTITION 0x1fc028 inc\api\ntddtape.h Creates the specified number of fixed, select, or initiator partition(s) of the given size on the media.
    IOCTL_TAPE_EJECT_MEDIA 0x1f4808 inc\api\ntddtape.h Ejects media from a SCSI device.
    IOCTL_TAPE_ERASE 0x1fc000 inc\api\ntddtape.h Erases the current tape partition, either as a TAPE_ERASE_LONG (in other words, a "secure") operation that overwrites data with a pattern or as a TAPE_ERASE_SHORT (in other words, a "quick") operation that writes an end-of-recorded-data mark at the current position.
    IOCTL_TAPE_FIND_NEW_DEVICES 0x74818 inc\api\ntddtape.h  
    IOCTL_TAPE_GET_DRIVE_PARAMS 0x1f4014 inc\api\ntddtape.h Returns information about the tape drive's capabilities, such as its default block size, maximum and minimum block sizes, maximum partition count, whether the drive has EEC, compression, data padding, and report-setmark capabilities, that is, which configurable features the drive supports, including the EOT warning zone size.
    IOCTL_TAPE_GET_MEDIA_PARAMS 0x1f401c inc\api\ntddtape.h Returns information about the media's total and remaining capacity, its block size, the number of partitions, and whether it is write-protected.
    IOCTL_TAPE_GET_POSITION 0x1f400c inc\api\ntddtape.h Returns the current absolute, logical, or pseudological partition and offset position on the tape.
    IOCTL_TAPE_GET_STATUS 0x1f4024 inc\api\ntddtape.h Returns the current status of the drive in theStatusfield of the I/O status block.
    IOCTL_TAPE_LOAD_MEDIA 0x1f480c inc\api\ntddtape.h Loads media into a device.
    IOCTL_TAPE_MEDIA_REMOVAL 0x1f4804 inc\api\ntddtape.h Enables or disables the mechanism that ejects media, for those devices possessing that locking capability.
    IOCTL_TAPE_PREPARE 0x1f4004 inc\api\ntddtape.h Loads or unloads the tape, resets tape tension, locks or unlocks the ejection mechanism, or formats the tape.
    IOCTL_TAPE_RELEASE 0x1f4814 inc\api\ntddtape.h  
    IOCTL_TAPE_RESERVE 0x1f4810 inc\api\ntddtape.h  
    IOCTL_TAPE_SET_DRIVE_PARAMS 0x1fc018 inc\api\ntddtape.h Adjusts a tape drive's configurable parameters. The miniclass driver can ignore parameters that its device does not support. The calling application is responsible for determining whether a device supports a particular feature before attempting to set it.
    IOCTL_TAPE_SET_MEDIA_PARAMS 0x1f4020 inc\api\ntddtape.h Resets the block size of the media in the drive.
    IOCTL_TAPE_SET_POSITION 0x1f4010 inc\api\ntddtape.h Moves the current position on the tape to the specified partition and offset, according to the given method.
    IOCTL_TAPE_WRITE_MARKS 0x1fc008 inc\api\ntddtape.h Writes one of setmarks, filemarks, short filemarks, or long filemarks to tape.
    IOCTL_TCP_QUERY_INFORMATION_EX 0x120003    
    IOCTL_TDI_ACCEPT 0x210000 inc\api\ntddtdi.h  
    IOCTL_TDI_ACTION 0x210036 inc\api\ntddtdi.h  
    IOCTL_TDI_ASSOCIATE_ADDRESS 0x21002c inc\api\ntddtdi.h  
    IOCTL_TDI_CONNECT 0x210004 inc\api\ntddtdi.h  
    IOCTL_TDI_DISASSOCIATE_ADDRESS 0x210030 inc\api\ntddtdi.h  
    IOCTL_TDI_DISCONNECT 0x210008 inc\api\ntddtdi.h  
    IOCTL_TDI_LISTEN 0x21000c inc\api\ntddtdi.h  
    IOCTL_TDI_MAGIC_BULLET 0x2101ff inc\api\tdi.h  
    IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER 0x210207 inc\ddk\tdikrnl.h  
    IOCTL_TDI_QUERY_DIRECT_SEND_HANDLER 0x210203 inc\ddk\tdikrnl.h  
    IOCTL_TDI_QUERY_INFORMATION 0x210012 inc\api\ntddtdi.h  
    IOCTL_TDI_RECEIVE 0x210016 inc\api\ntddtdi.h  
    IOCTL_TDI_RECEIVE_DATAGRAM 0x21001a inc\api\ntddtdi.h  
    IOCTL_TDI_SEND 0x21001d inc\api\ntddtdi.h Specifies the final status of the send request. The transport sets this member before it completes the IRP, possibly to one of the following:
    IOCTL_TDI_SEND_DATAGRAM 0x210021 inc\api\ntddtdi.h  
    IOCTL_TDI_SET_EVENT_HANDLER 0x210024 inc\api\ntddtdi.h  
    IOCTL_TDI_SET_INFORMATION 0x210029 inc\api\ntddtdi.h  
    IOCTL_TDI_TL_IO_CONTROL_ENDPOINT 0x210038 inc\api\tdiinfo.h  
    IOCTL_THERMAL_QUERY_INFORMATION 0x294080 inc\ddk\poclass.h  
    IOCTL_THERMAL_SET_COOLING_POLICY 0x298084 inc\ddk\poclass.h  
    IOCTL_USBPRINT_GET_1284_ID 0x220034 inc\ddk\usbprint.h The IOCTL_USBPRINT_GET_1284_ID control code allows upper-layer software (such as a language monitor), to request and obtain the printer's IEEE 1284 device ID string.
    IOCTL_USBPRINT_GET_LPT_STATUS 0x220030 inc\ddk\usbprint.h The IOCTL_USBPRINT_GET_LPT_STATUS request allows upper-layer software (such as a language monitor), to request and obtain the printer status byte from a USB printer.
    IOCTL_USBPRINT_SOFT_RESET 0x220040 inc\ddk\usbprint.h The IOCTL_USBPRINT_SOFT_RESET request allows upper-layer software (such as a language monitor), to issue a class-specific soft reset command to the printer.
    IOCTL_USBPRINT_VENDOR_GET_COMMAND 0x22003c inc\ddk\usbprint.h The IOCTL_USBPRINT_VENDOR_GET_COMMAND request allows upper-layer software (such as a language monitor), to issue a vendor-specific GET command to the target device.
    IOCTL_USBPRINT_VENDOR_SET_COMMAND 0x220038 inc\ddk\usbprint.h The IOCTL_USBPRINT_VENDOR_SET_COMMAND request allows upper-layer software (such as a language monitor) to issue a vendor-specific SET command to the target device.
    IOCTL_USB_DIAGNOSTIC_MODE_OFF 0x220404 inc\api\usbioctl.h  
    IOCTL_USB_DIAGNOSTIC_MODE_ON 0x220400 inc\api\usbioctl.h TheIOCTL_USB_DIAGNOSTIC_MODE_ONI/O control has been deprecated. Do not use.
    IOCTL_USB_DIAG_IGNORE_HUBS_OFF 0x22041c inc\api\usbioctl.h TheIOCTL_USB_DIAG_IGNORE_HUBS_OFFI/O control has been deprecated. Do not use.
    IOCTL_USB_DIAG_IGNORE_HUBS_ON 0x220418 inc\api\usbioctl.h TheIOCTL_USB_DIAG_IGNORE_HUBS_ONI/O control has been deprecated. Do not use.
    IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 0x220410 inc\api\usbioctl.h TheIOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTIONI/O control request retrieves one or more descriptors for the device that is associated with the indicated port index.
    IOCTL_USB_GET_HUB_CAPABILITIES 0x22043c inc\api\usbioctl.h TheIOCTL_USB_GET_HUB_CAPABILITIESI/O control request retrieves the capabilities of a USB hub.
    IOCTL_USB_GET_HUB_CAPABILITIES_EX 0x220450 inc\api\usbioctl.h TheIOCTL_USB_GET_HUB_CAPABILITIES_EXI/O control request retrieves the capabilities of a USB hub.
    IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES 0x220440 inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTESI/O control request retrieves the Microsoft-extended port attributes for a specific port.
    IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 0x220420 inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAMEI/O control request retrieves the driver registry key name that is associated with the device that is connected to the indicated port.
    IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 0x22040c inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_CONNECTION_INFORMATIONrequest retrieves information about the indicated USB port and the device that is attached to the port, if there is one.
    IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX 0x220448 inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EXrequest retrieves information about a USB port and the device that is attached to the port, if there is one.
    IOCTL_USB_GET_NODE_CONNECTION_NAME 0x220414 inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_CONNECTION_NAMEI/O control request is used with theUSB_NODE_CONNECTION_NAMEstructure to retrieve the symbolic link name of the hub that is attached to the downstream port.
    IOCTL_USB_GET_NODE_INFORMATION 0x220408 inc\api\usbioctl.h TheIOCTL_USB_GET_NODE_INFORMATIONI/O control request is used with theUSB_NODE_INFORMATIONstructure to retrieve information about a parent device.
    IOCTL_USB_GET_ROOT_HUB_NAME 0x220408 inc\api\usbioctl.h TheIOCTL_USB_GET_ROOT_HUB_NAMEI/O control request is used with theUSB_HCD_DRIVERKEY_NAMEstructure to retrieve the symbolic link name of the root hub.
    IOCTL_USB_HCD_DISABLE_PORT 0x220430 inc\api\usbioctl.h TheIOCTL_USB_HCD_DISABLE_PORTIOCTL has been deprecated. Do not use.
    IOCTL_USB_HCD_ENABLE_PORT 0x220434 inc\api\usbioctl.h This control code is not supported.
    IOCTL_USB_HCD_GET_STATS_1 0x2203fc inc\api\usbioctl.h TheIOCTL_USB_HCD_GET_STATS_1IOCTL has been deprecated. Do not use.
    IOCTL_USB_HCD_GET_STATS_2 0x220428 inc\api\usbioctl.h TheIOCTL_USB_HCD_GET_STATS_2IOCTL has been deprecated. Do not use.
    IOCTL_USB_HUB_CYCLE_PORT 0x220444 inc\api\usbioctl.h TheIOCTL_USB_HUB_CYCLE_PORTI/O control request power cycles the port that is associated with the PDO that receives the request.
    IOCTL_USB_RESET_HUB 0x22044c inc\api\usbioctl.h TheIOCTL_USB_RESET_HUBIOCTL is used by the USB driver stack. Do not use.
    IOCTL_USB_USER_REQUEST 0x220438 inc\api\usbuser.h Do not use this request.
    IOCTL_VIDEO_DISABLE_CURSOR 0x230424 inc\api\ntddvdeo.h Makes the cursor invisible by disabling the cursor's visibility attribute. Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers.
    IOCTL_VIDEO_DISABLE_POINTER 0x23043c inc\api\ntddvdeo.h Makes the pointer invisible by disabling the pointer attributes. Support for this modal request is optional.
    IOCTL_VIDEO_DISABLE_VDM 0x230004 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_ENABLE_CURSOR 0x230420 inc\api\ntddvdeo.h Makes the cursor visible by enabling the cursor's visibility attribute. Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers.
    IOCTL_VIDEO_ENABLE_POINTER 0x230438 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_ENABLE_VDM 0x230000 inc\api\ntddvdeo.h This IOCTL is not handled by video miniport drivers. It is handled entirely by the system-supplied video port driver.
    IOCTL_VIDEO_ENUM_MONITOR_PDO 0x230018 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES 0x230464 inc\api\ntddvdeo.h Releases the address range that was allocated by a precedingIOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGESrequest. Support for this nonmodal request is optional.
    IOCTL_VIDEO_GET_BANK_SELECT_CODE 0x230454 inc\api\ntddvdeo.h Returns a block of x86-specific executable code to be used by a high-resolution SVGA display driver for bank switching. Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers.
    IOCTL_VIDEO_GET_CHILD_STATE 0x230480 inc\api\ntddvdeo.h Determines whether a child device is currently enabled. Although miniport driver support for this modal request is optional, it is highly recommended. Otherwise, Windows 2000 and later must call the BIOS to perform the operation, which is very inefficient and can adversely affect system robustness. If the BIOS cannot handle this request, then Windows 2000 or later considers the child device to be active.
    IOCTL_VIDEO_GET_OUTPUT_DEVICE_POWER_STATE 0x230010 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_GET_POWER_MANAGEMENT 0x230470 inc\api\ntddvdeo.h This IOCTL isobsoletein Windows 2000 and later, and is no longer supported. A Plug and Play video miniport driver should implement theHwVidGetPowerStatefunction, which provides similar functionality.
    IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS 0x230020 inc\api\ntddvdeo.h Gets the capabilities of the device's television connector and/or copy protection hardware, or sets the desired functionality on the copy protection hardware. Adapters that support TV connectors should provide support for this modal IOCTL. SeeTV Connector and Copy Protection Support in Video Miniport Driversfor details.
    IOCTL_VIDEO_INIT_WIN32K_CALLBACKS 0x23001c inc\api\ntddvdeo.h This IOCTL is for internal use only.
    IOCTL_VIDEO_IS_VGA_DEVICE 0x230024 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_LOAD_AND_SET_FONT 0x230414 inc\api\ntddvdeo.h Loads a user-defined font on the adapter. Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers.
    IOCTL_VIDEO_MAP_VIDEO_MEMORY 0x230458 inc\api\ntddvdeo.h Maps the video hardwareframe bufferand video RAM into the virtual address space of the requester. Miniport drivers are required to handle this IOCTL and to map all video memory in the caller's address space withVideoPortMapMemory.
    IOCTL_VIDEO_MONITOR_DEVICE 0x230014 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_PREPARE_FOR_EARECOVERY 0x23002c inc\api\ntddvdeo.h This IOCTL is for internal use only.
    IOCTL_VIDEO_QUERY_AVAIL_MODES 0x230400 inc\api\ntddvdeo.h Returns information about each video mode supported by the adapter. Miniport drivers are required to support this nonmodal request.
    IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES 0x230468 inc\api\ntddvdeo.h Returns the color-capabilities information found in the VDDP description file for the adapter. Support for this nonmodal request is optional. However, if a miniport driver supports this request, it cannot return a subset of the color-capabilities information.
    IOCTL_VIDEO_QUERY_CURRENT_MODE 0x230408 inc\api\ntddvdeo.h Returns information about the current adapter mode. Miniport drivers are required to support this modal request.
    IOCTL_VIDEO_QUERY_CURSOR_ATTR 0x23042c inc\api\ntddvdeo.h Returns the size, position, and visibility of the cursor. Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers. The cursor position is specified by top and bottom scan lines, instead of row and column information, for VGA-compatible adapters.
    IOCTL_VIDEO_QUERY_CURSOR_POSITION 0x230434 inc\api\ntddvdeo.h Returns the current cursor position (row and column). Miniport drivers for VGA-compatible adapters are required to support this modal request; optional for other miniport drivers.
    IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS 0x230498 inc\api\ntddvdeo.h [This control code is available for use in the operating systems specified in the Requirements section. Support for this control code was removed in Windows Server 2008 and Windows Vista. Use theWmiMonitorBrightnessclass instead.]
    IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES 0x230404 inc\api\ntddvdeo.h Returns the number of video modes supported by the adapter and the size in bytes of the video mode information, which can be used to allocate a buffer for anIOCTL_VIDEO_QUERY_AVAIL_MODESrequest. Miniport drivers are required to support this nonmodal request.
    IOCTL_VIDEO_QUERY_POINTER_ATTR 0x230444 inc\api\ntddvdeo.h Returns the attributes for the pointer, defined as a set of pixels used to paint the shape associated with the mouse. Support for this modal request is optional.
    IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES 0x230450 inc\api\ntddvdeo.h Returns information about the adapter's "hardware cursor" features. Support for this modal request is optional.
    IOCTL_VIDEO_QUERY_POINTER_POSITION 0x23044c inc\api\ntddvdeo.h Returns the current position of the pointer. Support for this modal request is optional.
    IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES 0x230460 inc\api\ntddvdeo.h Returns an array, possibly with one element, of address ranges used to program the adapter registers or ports directly. Support for this nonmodal request is optional.
    IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS 0x230494 inc\api\ntddvdeo.h Retrieves the supported backlight levels.
    IOCTL_VIDEO_REGISTER_VDM 0x230008 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_RESET_DEVICE 0x230410 inc\api\ntddvdeo.h Resets the video hardware to the default mode, to which it was initialized at system boot. Miniport drivers are required to support this nonmodal request.
    IOCTL_VIDEO_RESTORE_HARDWARE_STATE 0x230204 inc\api\ntddvdeo.h Restores all values used to set the hardware registers. Miniport drivers for VGA-compatible adapters are required to support this nonmodal request; optional for other miniport drivers.
    IOCTL_VIDEO_SAVE_HARDWARE_STATE 0x230200 inc\api\ntddvdeo.h Saves the state of the video adapter in the VRPOutputBuffer. Miniport drivers for VGA-compatible adapters are required to support this nonmodal request; optional for other miniport drivers.
    IOCTL_VIDEO_SET_BANK_POSITION 0x230490 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION 0x230488 inc\api\ntddvdeo.h Performs a display device switch, a state change in which the video signal going to one display device is sent to another, possibly different type of display device. After the display device switch, the video signal can be sent to one or both display devices. When the video port driver receives a notification to switch display devices, it sends this IOCTL to the miniport driver. Normally, this IOCTL is sent afterIOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATIONindicates that the miniport driver is ready to make the switch. If the miniport driver is capable of switching display devices, it should do so and set theStatusmember ofStatusBlockto NO_ERROR.
    IOCTL_VIDEO_SET_COLOR_LUT_DATA 0x23047c inc\api\ntddvdeo.h  
    IOCTL_VIDEO_SET_COLOR_REGISTERS 0x23041c inc\api\ntddvdeo.h Sets the adapter's color registers to the specified RGB values. If the adapter has a color look up table (CLUT), sometimes called a palette, the miniport driver is required to support this modal request.
    IOCTL_VIDEO_SET_CURRENT_MODE 0x23040c inc\api\ntddvdeo.h Sets the adapter to the specified operating mode. Miniport drivers are required to support this nonmodal request because it resets the current mode. The miniport driver must also consider the two high order flags which are used to additionally control the mode set operation. SeeVIDEO_MODEfor further information.
    IOCTL_VIDEO_SET_CURSOR_ATTR 0x230428 inc\api\ntddvdeo.h Sets the cursor size, position, and visibility. Miniport drivers for VGA-compatible adapters are required to support this request, which is modal. Support is optional for other miniport drivers.
    IOCTL_VIDEO_SET_CURSOR_POSITION 0x230430 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS 0x23049c inc\api\ntddvdeo.h Sets the current AC and DC backlight levels.
    IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE 0x23000c inc\api\ntddvdeo.h  
    IOCTL_VIDEO_SET_PALETTE_REGISTERS 0x230418 inc\api\ntddvdeo.h Sets the current AC and DC backlight levels.
    IOCTL_VIDEO_SET_POINTER_ATTR 0x230440 inc\api\ntddvdeo.h Sets the pointer attributes. Support for this modal request is optional. A supporting miniport driver can fail this request (for example, if the attributes specify a larger pointer than the miniport driver can supply). When a miniport driver fails this request, the corresponding display driver must manage the pointer.
    IOCTL_VIDEO_SET_POINTER_POSITION 0x230448 inc\api\ntddvdeo.h Sets the pointer position. Support for this modal request is optional. A supporting miniport driver should have already processed an enable-pointer request before processing this request.
    IOCTL_VIDEO_SET_POWER_MANAGEMENT 0x23046c inc\api\ntddvdeo.h This IOCTL isobsoletein Windows 2000 and later, and is no longer supported. A Plug and Play video miniport driver should implement theHwVidSetPowerStatefunction, which provides similar functionality.
    IOCTL_VIDEO_SHARE_VIDEO_MEMORY 0x230474 inc\api\ntddvdeo.h This IOCTL is called by a process that will share user-mode video memory as a linearframe buffer. Miniport drivers handle this IOCTL by mapping the frame buffer into the caller's address space withVideoPortMapBankedMemory. Otherwise this IOCTL is the same asIOCTL_VIDEO_MAP_VIDEO_MEMORY.
    IOCTL_VIDEO_SWITCH_DUALVIEW 0x23048c inc\api\ntddvdeo.h Notifies the video miniport that a secondary view is about to be enabled or disabled. A secondary view is enabled by a call to the video port driver'sVideoPortCreateSecondaryDisplay.
    IOCTL_VIDEO_UNMAP_VIDEO_MEMORY 0x23045c inc\api\ntddvdeo.h Releases a mapping between the virtual address space and the adapter'sframe bufferand video RAM. Miniport drivers are required to support this nonmodal request.
    IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY 0x230478 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_USE_DEVICE_IN_SESSION 0x230028 inc\api\ntddvdeo.h  
    IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION 0x230484 inc\api\ntddvdeo.h Queries the miniport driver to determine whether it is ready for a display device switch. This switch is a state change in which the video signal going to one display device is sent to another, possibly different type of display device. After the display device switch, the video signal can be sent to one or both display devices. When the video port driver receives a request to switch display devices (by, for example, a hotkey being pressed), it sends this IOCTL to the video miniport driver. The value returned by the miniport driver indicates whether the video port driver should proceed with the display device switch.
    IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES 0x53c000 inc\ddk\ntifs.h The IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES control code is sent to force a flush of a file system before a volume shadow copy occurs. This IOCTL is issued as an IRP_MJ_DEVICE_CONTROL request that is sent only to the volume device object of a local file system and to file system filter drivers that may have attached to that volume. This IOCTL is most commonly sent by the Volume Shadow Copy Service, but it can also be issued by other user-mode applications or processes. It is also possible under special circumstances for this IOCTL to be sent by the Volume Shadow Copy Driver (volsnap.sys) during a hibernation request or before a crash dump. This IOCTL is sent to file system filter drivers, file system drivers, and other device drivers (storage filter drivers and storage drivers, for example) located below the file systems.
    IOCTL_VOLUME_ALLOCATE_BC_STREAM 0x56c040 inc\api\ntddvol.h  
    IOCTL_VOLUME_BC_VERSION 0x1 inc\api\ntddvol.h  
    IOCTL_VOLUME_FREE_BC_STREAM 0x56c044 inc\api\ntddvol.h  
    IOCTL_VOLUME_GET_BC_PROPERTIES 0x56403c inc\api\ntddvol.h  
    IOCTL_VOLUME_GET_GPT_ATTRIBUTES 0x560038 inc\api\ntddvol.h Retrieves the attributes for a volume.
    IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS 0x560000 inc\api\ntddvol.h Retrieves the physical location of a specified volume on one or more disks.
    IOCTL_VOLUME_IS_CLUSTERED 0x560030 inc\api\ntddvol.h Determines whether the specified volume is clustered.
    IOCTL_VOLUME_IS_DYNAMIC 0x560048 inc\api\ntddvol.h  
    IOCTL_VOLUME_IS_IO_CAPABLE 0x560014 inc\api\ntddvol.h  
    IOCTL_VOLUME_IS_OFFLINE 0x560010 inc\api\ntddvol.h Takes a volume offline.
    IOCTL_VOLUME_IS_PARTITION 0x560028 inc\api\ntddvol.h Enlarges the specified partition.
    IOCTL_VOLUME_LOGICAL_TO_PHYSICAL 0x560020 inc\api\ntddvol.h Returns physical offsets and physical disk numbers for a given volume logical offset.
    IOCTL_VOLUME_OFFLINE 0x56c00c inc\api\ntddvol.h Takes a volume offline.
    IOCTL_VOLUME_ONLINE 0x56c008 inc\api\ntddvol.h Brings a volume online.
    IOCTL_VOLUME_PHYSICAL_TO_LOGICAL 0x560024 inc\api\ntddvol.h Returns the logical offset corresponding to a physical disk number and a physical offset.
    IOCTL_VOLUME_PREPARE_FOR_CRITICAL_IO 0x56c04c inc\api\ntddvol.h  
    IOCTL_VOLUME_PREPARE_FOR_SHRINK 0x56c05c inc\api\ntddvol.h  
    IOCTL_VOLUME_QUERY_ALLOCATION_HINT 0x564052 inc\api\ntddvol.h  
    IOCTL_VOLUME_QUERY_FAILOVER_SET 0x560018 inc\api\ntddvol.h  
    IOCTL_VOLUME_QUERY_MINIMUM_SHRINK_SIZE 0x564058 inc\api\ntddvol.h  
    IOCTL_VOLUME_QUERY_VOLUME_NUMBER 0x56001c inc\api\ntddvol.h  
    IOCTL_VOLUME_READ_PLEX 0x56402e inc\api\ntddvol.h  
    IOCTL_VOLUME_SET_GPT_ATTRIBUTES 0x560034 inc\api\ntddvol.h  
    IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE 0x560004 inc\api\ntddvol.h  
    IOCTL_VOLUME_UPDATE_PROPERTIES 0x560054 inc\api\ntddvol.h Invalidates the cached partition table and re-enumerates the device.
    IOCTL_WAIT_ON_DEVICE_EVENT 0x80002008 inc\ddk\usbscan.h To properly set up your WIA driver to report interrupt events, do the following:
    IOCTL_WMP_DEVICE_CAN_SYNC 0x32504d57    
    IOCTL_WMP_METADATA_ROUND_TRIP 0x31504d57    
    IOCTL_WPD_MESSAGE_READWRITE_ACCESS 0x40c108 inc\ddk\portabledevice.h  
    IOCTL_WPD_MESSAGE_READ_ACCESS 0x404108 inc\ddk\portabledevice.h  
    IOCTL_WRITE_REGISTERS 0x80002010 inc\ddk\usbscan.h Writes to USB device registers, using the control pipe.

    展开全文
  • Windows驱动的IOCTL

    千次阅读 2017-12-30 22:24:12
    虽然目前,没有具体的项目,但是Direct3D学习还是会继续。其实很多东西,虽然看起来现在没多大用处,说不定将来有很大的用处。...我们今天看一下Windows驱动中的IOCTLIOCTL顾名思义,就是IO控制码。也就是输入输出

    虽然目前,没有具体的项目,但是Direct3D学习还是会继续。其实很多东西,虽然看起来现在没多大用处,说不定将来有很大的用处。这个无法衡量,多学点,总是有好处的。后面,断断续续,会把另外的几个方向,WDDM 驱动,数据结构算法,也开始捡起来继续。现在需要的是,将知识变成体系。所以,需要大量的总结。

    我们今天看一下Windows驱动中的IOCTL,IOCTL顾名思义,就是IO控制码。也就是输入输出控制码。Window驱动中大量充斥着这样的控制码。前面的文章,我们知道,所有在驱动中的流都是以IRP的形式进行的。而用来标识IRP的就是这些IOCTL码。回忆一下MSDN中的IRP的结构。

    typedef struct _IRP {
        .
        .
        PMDL  MdlAddress;
        ULONG  Flags;
        union {
          struct _IRP  *MasterIrp;
           .
           .
           PVOID  SystemBuffer;
         } AssociatedIrp;
         .
         .
         IO_STATUS_BLOCK  IoStatus;
         KPROCESSOR_MODE  RequestorMode;
         BOOLEAN PendingReturned;
         .
         .
         BOOLEAN  Cancel;
         KIRQL  CancelIrql;
         .
         .
         PDRIVER_CANCEL  CancelRoutine;
         PVOID UserBuffer;
         union {
            struct {
             .
             .
             union {
                KDEVICE_QUEUE_ENTRY DeviceQueueEntry;
                struct {
                  PVOID  DriverContext[4];
                 };
              };
             .
             .
             PETHREAD  Thread;
             .
             .
             LIST_ENTRY  ListEntry;
             .
             .
             } Overlay;
          .
          .
          } Tail;
      } IRP, *PIRP;
    

    我们知道IRP的一些信息都是存储在IO的堆栈中的:

    typedef struct _IO_STACK_LOCATION {
           UCHAR  MajorFunction;
           UCHAR  MinorFunction;
           UCHAR  Flags;
           UCHAR  Control;
            union {
                  //
                  // Parameters for IRP_MJ_CREATE 
                  //
                  struct {
                       PIO_SECURITY_CONTEXT SecurityContext;
                       ULONG Options;
                       USHORT POINTER_ALIGNMENT FileAttributes;
                       USHORT ShareAccess;
                       ULONG POINTER_ALIGNMENT EaLength;
                   } Create;
                  //
                  // Parameters for IRP_MJ_READ 
                  //
                  struct {
                       ULONG Length;
                       ULONG POINTER_ALIGNMENT Key;
                       LARGE_INTEGER ByteOffset;
                   } Read;
                  //
                  // Parameters for IRP_MJ_WRITE 
                  //
                  struct {
                       ULONG Length;
                       ULONG POINTER_ALIGNMENT Key;
                       LARGE_INTEGER ByteOffset;
                   } Write;
                  //
                  // Parameters for IRP_MJ_QUERY_INFORMATION 
                  //
                  struct {
                       ULONG Length;
                       FILE_INFORMATION_CLASS POINTER_ALIGNMENT   
          FileInformationClass;
                   } QueryFile;
                  //
                  // Parameters for IRP_MJ_SET_INFORMATION 
                  //
                  struct {
                       ULONG Length;
                       FILE_INFORMATION_CLASS POINTER_ALIGNMENT   
          FileInformationClass;
                       PFILE_OBJECT FileObject;
                       union {
                            struct {
                                BOOLEAN ReplaceIfExists;
                                BOOLEAN AdvanceOnly;
                            };
                            ULONG ClusterCount;
                            HANDLE DeleteHandle;
                             };
                   } SetFile;
                  //
                  // Parameters for IRP_MJ_QUERY_VOLUME_INFORMATION 
                  //
                  struct {
                       ULONG Length;
                       FS_INFORMATION_CLASS POINTER_ALIGNMENT    
         FsInformationClass;
                   } QueryVolume;
                  //
                  // Parameters for IRP_MJ_DEVICE_CONTROL and    
         IRP_MJ_INTERNAL_DEVICE_CONTROL 
                  //
                  struct {
                       ULONG OutputBufferLength;
                       ULONG POINTER_ALIGNMENT InputBufferLength;
                       ULONG POINTER_ALIGNMENT IoControlCode;
                       PVOID Type3InputBuffer;
                   } DeviceIoControl;
                  //
                  // Nonsystem service parameters.
                  //
                  // Parameters for IRP_MN_MOUNT_VOLUME 
                  //
                  struct {
                       PVOID DoNotUse1;
                       PDEVICE_OBJECT DeviceObject;
                   } MountVolume;
                  //
                  // Parameters for IRP_MN_VERIFY_VOLUME 
                  //
                  struct {
                       PVOID DoNotUse1;
                       PDEVICE_OBJECT DeviceObject;
                   } VerifyVolume;
                  //
                  // Parameters for Scsi using IRP_MJ_INTERNAL_DEVICE_CONTROL 
                  //
                  struct {
                       struct _SCSI_REQUEST_BLOCK *Srb;
                   } Scsi;
                  //
                  // Parameters for IRP_MN_QUERY_DEVICE_RELATIONS 
                  //
                  struct {
                       DEVICE_RELATION_TYPE Type;
                   } QueryDeviceRelations;
                  //
                  // Parameters for IRP_MN_QUERY_INTERFACE 
                  //
                  struct {
                       CONST GUID *InterfaceType;
                      USHORT Size;
                       USHORT Version;
                       PINTERFACE Interface;
                       PVOID InterfaceSpecificData;
                   } QueryInterface;
                  //
                  // Parameters for IRP_MN_QUERY_CAPABILITIES 
                  //
                  struct {
                       PDEVICE_CAPABILITIES Capabilities;
                   } DeviceCapabilities;
                  //
                  // Parameters for IRP_MN_FILTER_RESOURCE_REQUIREMENTS 
                  //
                  struct {
                       PIO_RESOURCE_REQUIREMENTS_LIST     
        IoResourceRequirementList;
                   } FilterResourceRequirements;
                  //
                  // Parameters for IRP_MN_READ_CONFIG and IRP_MN_WRITE_CONFIG 
                  //
                  struct {
                       ULONG WhichSpace;
                       PVOID Buffer;
                       ULONG Offset;
                       ULONG POINTER_ALIGNMENT Length;
                   } ReadWriteConfig;
                  //
                  // Parameters for IRP_MN_SET_LOCK 
                  //
                  struct {
                       BOOLEAN Lock;
                   } SetLock;
                  //
                  // Parameters for IRP_MN_QUERY_ID 
                  //
                  struct {
                       BUS_QUERY_ID_TYPE IdType;
                   } QueryId;
                  //
                  // Parameters for IRP_MN_QUERY_DEVICE_TEXT 
                  //
                  struct {
                       DEVICE_TEXT_TYPE DeviceTextType;
                       LCID POINTER_ALIGNMENT LocaleId;
                    } QueryDeviceText;
                  //
                  // Parameters for IRP_MN_DEVICE_USAGE_NOTIFICATION 
                  //
                  struct {
                       BOOLEAN InPath;
                        BOOLEAN Reserved[3];
                        DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT  
             Type;
                   } UsageNotification;
                  //
                  // Parameters for IRP_MN_WAIT_WAKE 
                  //
                  struct {
                       SYSTEM_POWER_STATE PowerState;
                  } WaitWake;
                  //
                  // Parameter for IRP_MN_POWER_SEQUENCE 
                  //
                  struct {
                       PPOWER_SEQUENCE PowerSequence;
                   } PowerSequence;
                  //
                  // Parameters for IRP_MN_SET_POWER and IRP_MN_QUERY_POWER 
                  //
                  struct {
                       ULONG SystemContext;
                       POWER_STATE_TYPE POINTER_ALIGNMENT Type;
                       POWER_STATE POINTER_ALIGNMENT State;
                       POWER_ACTION POINTER_ALIGNMENT ShutdownType;
                   } Power;
                  //
                  // Parameters for IRP_MN_START_DEVICE 
                  //
                  struct {
                       PCM_RESOURCE_LIST AllocatedResources;
                       PCM_RESOURCE_LIST AllocatedResourcesTranslated;
                    } StartDevice;
                  //
                  // Parameters for WMI Minor IRPs 
                  //
                  struct {
                       ULONG_PTR ProviderId;
                       PVOID DataPath;
                       ULONG BufferSize;
                       PVOID Buffer;
                  } WMI;
                  //
                  // Others - driver-specific
                  //
                  struct {
                       PVOID Argument1;
                       PVOID Argument2;
                       PVOID Argument3;
                       PVOID Argument4;
                   } Others;
             } Parameters;
         PDEVICE_OBJECT  DeviceObject;
         PFILE_OBJECT  FileObject;
         .
         .
      } IO_STACK_LOCATION, *PIO_STACK_LOCATION;
    

    在IO堆栈中,我们看到了大量的IOCTL。这个是在WDM中的,在WDF对其进行了封装。我们在WDF中,一般使用如下的3个函数向其他模块发送这些IRP.我认为REQUEST是WDM中的IRP和IO_STATION_LOCATION的封装。

    看一下异步函数:

    WdfIoTargetFormatRequestForInternalIoctl,WdfIoTargetFormatRequestForInternalIoctlOthers,WdfIoTargetFormatRequestForIoctl,WdfIoTargetFormatRequestForRead,WdfIoTargetFormatRequestForWrite,这是是异步的,后面需要设置完成例程,和真正发送请求。

    再看一下同步的:
    WdfIoTargetSendInternalIoctlOthersSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronously,同步需要等待,所以可以直接发。

    先看一下异步的例子:

    NTSTATUS
    NICSendOidRequestToTargetAsync(
        IN WDFIOTARGET  IoTarget,
        IN WDFREQUEST  Request,
        IN PFILE_OBJECT  FileObject,
        IN ULONG  IoctlControlCode,
        IN OUT PVOID  InputBuffer,
        IN ULONG  InputBufferLength,
        IN OUT PVOID  OutputBuffer,
        IN ULONG  OutputBufferLength,
        OUT PULONG  BytesReadOrWritten
        )
    {
        NTSTATUS  status;
        PREQUEST_CONTEXT  reqContext;
        WDF_REQUEST_REUSE_PARAMS  params;
        WDFMEMORY  inputMem, outputMem;
        
        WDF_REQUEST_REUSE_PARAMS_INIT(
                                      &params, 
                                      WDF_REQUEST_REUSE_NO_FLAGS, 
                                      STATUS_SUCCESS
                                      );
        status = WdfRequestReuse(Request, &params);
        if (!NT_SUCCESS(status)){
            return status;
        }
        reqContext = GetRequestContext(Request);
        inputMem = outputMem = NULL;
        
        if (InputBuffer != NULL) {
            status = WdfMemoryAssignBuffer(
                                           reqContext->InputMemory,
                                           InputBuffer, 
                                           InputBufferLength
                                           );
            if (!NT_SUCCESS(status)) {
                 return status;
            }
            inputMem = reqContext->InputMemory;
        }
        if (OutputBuffer != NULL) {
            status = WdfMemoryAssignBuffer(
                                           reqContext->OutputMemory,
                                           OutputBuffer, 
                                           OutputBufferLength
                                           );
            if (!NT_SUCCESS(status)) {
                return status;
            }
            outputMem = reqContext->OutputMemory;
        }
        status = WdfIoTargetFormatRequestForIoctl(
                                                  IoTarget,
                                                  Request,
                                                  IoctlControlCode,
                                                  inputMem,
                                                  NULL,
                                                  outputMem,
                                                  NULL
                                                  );
        if (!NT_SUCCESS(status)) {
            return status;
        }
        WdfRequestSetCompletionRoutine(
                                       Request,
                                       NICSendOidRequestToTargetAsyncCompletionRoutine,
                                       BytesReadOrWritten
                                       );
        if (WdfRequestSend(
                           Request,
                           IoTarget,
                           WDF_NO_SEND_OPTIONS
                           ) == FALSE) {
            status = WdfRequestGetStatus(Request);
        }
        return status;
    }
    

    再看一下同步的:

    WDF_MEMORY_DESCRIPTOR  outputDescriptor;
    NTSTATUS  status;
    HID_COLLECTION_INFORMATION  collectionInformation;
    WDF_MEMORY_DESCRIPTOR_INIT_BUFFER(
                                      &outputDescriptor,
                                      (PVOID) &collectionInformation,
                                      sizeof(HID_COLLECTION_INFORMATION)
                                      );
    status = WdfIoTargetSendIoctlSynchronously(
                                               hidTarget,
                                               NULL,
                                               IOCTL_HID_GET_COLLECTION_INFORMATION,
                                               NULL,
                                               &outputDescriptor,
                                               NULL,
                                               NULL
                                               )
    

    上面是发送,我们在驱动中如何进行处理这些IOCTL了,有些IOCTL,已经被WDF封装了,直接成为了驱动对象的一些域了,比如
    IRP_MN_START_DEVICE,IRP_MN_FILTER_RESOURCE_REQUIREMENTS 等。有些我们自己定义的流给应用程序的接口,我们需要在请求对象中获取。调用函数

    WdfRequestGetParameters(
           IN WDFREQUEST  Request,
          OUT PWDF_REQUEST_PARAMETERS  Parameters
         );
    

    请求对象会在队列处理函数中,以参数的形式传给你,所以,你可以得到请求的参数,以确定IOCTL,而做不同的操作。
    回忆一下请求参数:

    typedef struct _WDF_REQUEST_PARAMETERS {
        USHORT Size;
        UCHAR MinorFunction;
        WDF_REQUEST_TYPE Type;
        union {
            //
            // Parameters for IRP_MJ_CREATE
            //
            struct {
                PIO_SECURITY_CONTEXT SecurityContext;
                ULONG Options;
                USHORT POINTER_ALIGNMENT FileAttributes;
                USHORT ShareAccess;
                ULONG POINTER_ALIGNMENT EaLength;
            } Create;
            //
            // Parameters for IRP_MJ_READ
            //
            struct {
                size_t Length;
                ULONG POINTER_ALIGNMENT Key;
                LONGLONG DeviceOffset;
            } Read;
            //
            // Parameters for IRP_MJ_WRITE 
            //
            struct {
                size_t Length;
                ULONG POINTER_ALIGNMENT Key;
                LONGLONG DeviceOffset;
            } Write;
            //
            // Parameters for IRP_MJ_DEVICE_CONTROL and IRP_MJ_INTERNAL_DEVICE_CONTROL 
            //
            struct {
                size_t OutputBufferLength;
                size_t POINTER_ALIGNMENT InputBufferLength;
                ULONG POINTER_ALIGNMENT IoControlCode;
                PVOID Type3InputBuffer;
            } DeviceIoControl;
            struct {
                PVOID Arg1;
                PVOID  Arg2;
                ULONG POINTER_ALIGNMENT IoControlCode;
                PVOID Arg4;
            } Others;
        } Parameters;
    } WDF_REQUEST_PARAMETERS, *PWDF_REQUEST_PARAMETERS;
    

    这里,我们就可以很方便的得到控制码进行操作了。

    http://blog.csdn.net/z18_28_19/article/details/8892552
    转载自其博客,因为排版较乱,所以重新编辑后发到自己博客记录。

    展开全文
  • <div><p>Depends on PR #1930</p><p>该提问来源于开源项目:openenclave/openenclave</p></div>
  • IOCTL Fuzzer是一个自动化的windows内核驱动漏洞挖掘工具,它利用自己的驱动hook了NtDeviceIoControlFile, 目的是接管整个系统所有的IOCTL请求。当处理IOCTL请求时,一旦符合配置文件中定义的条件,IOCTL Fuzzer回...

    IOCTL Fuzzer是一个自动化的windows内核驱动漏洞挖掘工具,它利用自己的驱动hook了NtDeviceIoControlFile, 目的是接管整个系统所有的IOCTL请求。当处理IOCTL请求时,一旦符合配置文件中定义的条件,IOCTL Fuzzer回用随机产生的fuzz数据去替换IOCTL的原始请求数据。IOCTL Fuzzer只替换输入数据并不会改变IOCTL数据包的其他数据。IOCTL Fuzzer可以工作在windows XP、2003、vista和2008服务器上。

    源码地址:https://code.google.com/p/ioctlfuzzer/

     

    转载于:https://www.cnblogs.com/taskiller/archive/2013/01/30/2882445.html

    展开全文
  • if (ioctl(iFd, SIOCGIFBRDADDR, &ifr) < 0) //get ip addr { printf("ip ioctl error!"); return UBTEDU_RC_SOCKET_FAILED; } linux这边一片空白,然后不是很理解,他是怎么判断广播接收到的是我...
  • IOCTL Fuzzer

    2011-12-20 00:06:57
    IOCTL Fuzzer是一款自动化windows内核驱动漏洞挖掘工具,支持32/64位,windows xp/7/2003/2008操作系统。IOCTL Fuzzer hook了NtDeviceIoControlFile函数,接管了所有通往系统内核的IOCTL请求。 IOCTL Fuzzer更新了,...
  • 参考 https://blog.51cto.com/xiacaojun/1909064

    参考
    https://blog.51cto.com/xiacaojun/1909064

    展开全文
  • ioctl error

    2020-12-01 17:16:57
    <div><p>When I ran bedup on my partition I came with an invalid ioctl after the volume was scanned <p>Config : systemrescuecd (altker64) on 3rd gen core i5 with a single 2TB sata 3 hard drive <p>uname...
  • Updating IOCTL interface

    2020-11-30 09:13:59
    mask 0x40): This could include ioctls like <em>HAX_VCPU_IOCTL_KICKOFF</em> (which is Windows-specific). - <em>Extension ioctls</em>: Flagged with the bit 8th bit (i.e. mask 0x80): This could provide...
  • 代码片段来自wdk7,工程路径C:\WinDDK\7600.16385.1\src\general\ioctl\wdm,该工程描述了IOCTLs (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER, and METHOD_BUFFERED)的使用方法。以下截取关键部分,详情...
  • ioctlsocket封装

    2012-11-26 17:09:00
    根据MSDN,Windows似乎很不愿意支持ioctl和fcntl,专门弄进来一个ioctlsocket,传递的三个命令分别是FIONBIO用于设置阻塞属性,FIONREAD用于读取缓冲区未读字节数,SIOCATMARK用来测试TCP的紧急指针,网上一搜,发现...
  • <div><p>Hi, <p>two of my friends seem to have issues with starting the hypervisor. It loads (<code>make ...Both of them use Windows 10.</p><p>该提问来源于开源项目:Bareflank/hypervisor</p></div>
  • 驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。...DWORDdwIoControlCode,//IOCTL请求操作代...
  • <p>It would be greatl if the DOKAN_OPERATIONS structure was extended to provide an optional callback method for passing arbitrary IOCTL messages to the underlying file system code. For instance: <p>...
  • Add set_cpuid ioctl

    2020-11-30 03:26:02
    ve tested it on windows host and guest. I've created the code in hax for linux/netbsd/darwin too, but didn't test it. <p>when cpuids are set: - HYPERVISOR bit is not returned by hax in cpuid 1...
  • Let's say you define an IOCTL that requires the user-mode program to create a INSTRUCT input parameter. Your driver will process the data in the input structure and then give back a OUTSTRUCT as the ...
  • 这个诺鸡鸭估计做的还有点问题, 如果在qt调用ioctl的话,windows是编译不过的,除非用windowsIOCTL()。 如果在linux下编译,那么包含<sys/ioctl.h>就行了,我在windows下编译,搞来搞去没处理掉...
  • <div><p>Failed to ioctl (1) in lowl-vcom.c windows_usb_get_root_hub_path():622: The parameter is incorrect <p>I'm using Win7 Pro 64bit. I have gridseed based 5.2MH miners. The miners do operate, ...
  • <ul><li>Windows version: Windows Server 2019 Standard</li><li>Processor architecture: intel x86 </li><li>Dokany version: 1.4.0.1000 Bundle<