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

Ioctl Hex Value Header Brief
IOCTL_1394_CLASS0x22021dinc\ddk\1394.hAn 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_OFF0x220224inc\ddk\1394.h
IOCTL_1394_TOGGLE_ENUM_TEST_ON0x220220inc\ddk\1394.h
IOCTL_61883_CLASS0x220245inc\ddk\61883.hAn 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_SESSION0x3350ccinc\api\ntddcdvd.hReleases the Authentication Grant Identifier (AGID) that was obtained byIOCTL_AACS_START_SESSION.
IOCTL_AACS_GENERATE_BINDING_NONCE0x33d0f0inc\api\ntddcdvd.hReads 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_CERTIFICATE0x3350d4inc\api\ntddcdvd.hQueries the logical unit for the device certificate.
IOCTL_AACS_GET_CHALLENGE_KEY0x3350d8inc\api\ntddcdvd.hQueries 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_NONCE0x3350ecinc\api\ntddcdvd.hReads 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_ID0x3350e8inc\api\ntddcdvd.hReads the Advanced Access Content System (AACS)-specific media identifier data.
IOCTL_AACS_READ_MEDIA_KEY_BLOCK0x3350c4inc\api\ntddcdvd.hQueries the logical unit for the Media Key Block (MKB).
IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE0x3350c0inc\api\ntddcdvd.hQueries 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_NUMBER0x3350e4inc\api\ntddcdvd.hReads the Advanced Access Content System (AACS)-specific prerecorded media serial number.
IOCTL_AACS_READ_VOLUME_ID0x3350e0inc\api\ntddcdvd.hReads the Advanced Access Content System (AACS)-specific volume identifier.
IOCTL_AACS_SEND_CERTIFICATE0x3350d0inc\api\ntddcdvd.hSends the host certificate to the logical unit.
IOCTL_AACS_SEND_CHALLENGE_KEY0x3350dcinc\api\ntddcdvd.hSends 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_SESSION0x3350c8inc\api\ntddcdvd.hRetrieves an Authentication Grant Identifier (AGID) that identifies a secure session.
IOCTL_ABORT_PIPE0x80002004inc\ddk\usbscan.h
IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK0x32c010inc\ddk\acpiioct.hThe IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK device control request is reserved for internal use only.
IOCTL_ACPI_ASYNC_EVAL_METHOD0x32c000inc\ddk\acpiioct.hA 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_EX0x32c01cinc\ddk\acpiioct.hA 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_CHILDREN0x32c020inc\ddk\acpiioct.hThe 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_METHOD0x32c004inc\ddk\acpiioct.hA 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_EX0x32c018inc\ddk\acpiioct.hA 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_LOCK0x32c014inc\ddk\acpiioct.hThe IOCTL_ACPI_RELEASE_GLOBAL_LOCK device control request is reserved for internal use only.
IOCTL_ARP_SEND_REQUEST0x67inc\api\ipexport.h
IOCTL_ATA_MINIPORT0x4d034inc\api\ntddscsi.h
IOCTL_ATA_PASS_THROUGH0x4d02cinc\api\ntddscsi.hAllows an application to send almost any ATA command to a target device, with the following restrictions:
IOCTL_ATA_PASS_THROUGH_DIRECT0x4d030inc\api\ntddscsi.hAllows an application to send almost any ATA command to a target device, with the following restrictions:
IOCTL_AVCSTRM_CLASS0x22024dinc\ddk\avcstrm.hAn 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_RESET0x2a0008inc\ddk\avc.hThe 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_CLASS0x220248inc\ddk\avc.hThe 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_INFO0x2a0004inc\ddk\avc.hThe 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_INFO0x2a0000inc\ddk\avc.hThe 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_STREAM0xff0004inc\api\winioctl.h
IOCTL_AVIO_FREE_STREAM0xff0008inc\api\winioctl.h
IOCTL_AVIO_MODIFY_STREAM0xff000cinc\api\winioctl.h
IOCTL_BATTERY_QUERY_INFORMATION0x294044inc\api\batclass.hRetrieves a variety of information for the battery.
IOCTL_BATTERY_QUERY_STATUS0x29404cinc\api\batclass.hRetrieves the current status of the battery.
IOCTL_BATTERY_QUERY_TAG0x294040inc\api\batclass.hRetrieves the battery's current tag.
IOCTL_BATTERY_SET_INFORMATION0x298048inc\api\batclass.hSets various battery information. The input parameter structure,BATTERY_SET_INFORMATION, indicates which battery status information is to be set.
IOCTL_BEEP_SET0x10000inc\api\ntddbeep.h
IOCTL_BIOMETRIC_CALIBRATE0x44000cinc\api\winbio_ioctl.hThe 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_DATA0x440014inc\api\winbio_ioctl.hThe 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_ATTRIBUTES0x440004inc\api\winbio_ioctl.hThe 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_INDICATOR0x440020inc\api\winbio_ioctl.hThe IOCTL_BIOMETRIC_GET_INDICATOR IOCTL directs the driver to retrieve the status of the indicator light. This IOCTL is optional.
IOCTL_BIOMETRIC_GET_SENSOR_STATUS0x440010inc\api\winbio_ioctl.hThe 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_ALGORITHMS0x44001cinc\api\winbio_ioctl.hThe 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_RESET0x440008inc\api\winbio_ioctl.hThe 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_INDICATOR0x440024inc\api\winbio_ioctl.hThe 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_FIRMWARE0x440018inc\api\winbio_ioctl.hThe 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_VENDOR0x442000inc\api\winbio_ioctl.h
IOCTL_BTH_DISCONNECT_DEVICE0x41000cinc\ddk\bthioctl.hProfile drivers use IOCTL_BTH_DISCONNECT_DEVICE to request the operating system to disconnect the specified remote device.
IOCTL_BTH_EIR_GET_RECORDS0x410040inc\ddk\bthioctl.h
IOCTL_BTH_EIR_REMOVE_RECORD0x41004cinc\ddk\bthioctl.h
IOCTL_BTH_EIR_SUBMIT_RECORD0x410044inc\ddk\bthioctl.h
IOCTL_BTH_EIR_UPDATE_RECORD0x410048inc\ddk\bthioctl.h
IOCTL_BTH_GET_DEVICE_INFO0x410008inc\ddk\bthioctl.hThe IOCTL_BTH_GET_DEVICE_INFO request returns information about all cached, previously discovered remote radios that are Bluetooth-enabled.
IOCTL_BTH_GET_DEVICE_RSSI0x410014inc\ddk\bthioctl.h
IOCTL_BTH_GET_LOCAL_INFO0x410000inc\ddk\bthioctl.hThe IOCTL_BTH_GET_LOCAL_INFO request returns information about the local Bluetooth system and radio.
IOCTL_BTH_GET_RADIO_INFO0x410004inc\ddk\bthioctl.hThe IOCTL_BTH_GET_RADIO_INFO request obtains information about the specified remote radio.
IOCTL_BTH_HCI_VENDOR_COMMAND0x410050inc\ddk\bthioctl.hThe IOCTL_BTH_HCI_VENDOR_COMMAND request allows Bluetooth applications to send vendor-specific commands to radios.
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH0x41020cinc\ddk\bthioctl.hThe IOCTL_BTH_SDP_ATTRIBUTE_SEARCH request obtains attributes for the specified SDP record.
IOCTL_BTH_SDP_CONNECT0x410200inc\ddk\bthioctl.hThe IOCTL_BTH_SDP_CONNECT request creates a connection to the SDP service on a remote Bluetooth device.
IOCTL_BTH_SDP_DISCONNECT0x410204inc\ddk\bthioctl.hThe IOCTL_BTH_SDP_DISCONNECT request closes a connection to a remote SDP server.
IOCTL_BTH_SDP_REMOVE_RECORD0x410218inc\ddk\bthioctl.hThe 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_SEARCH0x410210inc\ddk\bthioctl.hThe 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_SEARCH0x410208inc\ddk\bthioctl.hThe 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_RECORD0x410214inc\ddk\bthioctl.hThe 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_INFO0x41021cinc\ddk\bthioctl.hThe 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_WAKE0x298008inc\ddk\ntpoapi.h
IOCTL_CANCEL_GET_SEND_MESSAGE0x2b0038inc\api\ntddmodm.h
IOCTL_CANCEL_IO0x80002004inc\ddk\usbscan.hCancels activity on the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_CDROM_CHECK_VERIFY0x24800inc\api\ntddcdrm.hIn 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_POSITION0x1inc\api\ntddcdrm.h
IOCTL_CDROM_DISK_TYPE0x20040inc\api\ntddcdrm.h
IOCTL_CDROM_EJECT_MEDIA0x24808inc\api\ntddcdrm.h
IOCTL_CDROM_ENABLE_STREAMING0x24068inc\api\ntddcdrm.hEnables or disables CDROM streaming mode on a per-handle basis for raw read and write requests.
IOCTL_CDROM_EXCLUSIVE_ACCESS0x2c05cinc\api\ntddcdrm.hThe IOCTL_CDROM_EXCLUSIVE_ACCESS request instructs the CD-ROM class driver to:
IOCTL_CDROM_FIND_NEW_DEVICES0x24818inc\api\ntddcdrm.hIn 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_CONFIGURATION0x24058inc\api\ntddcdrm.hRequests feature and profile information from a CD-ROM device.
IOCTL_CDROM_GET_CONTROL0x24034inc\api\ntddcdrm.hThis IOCTL request is obsolete. Do not use.
IOCTL_CDROM_GET_DRIVE_GEOMETRY0x2404cinc\api\ntddcdrm.hReturns 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_EX0x24050inc\api\ntddcdrm.hReturns 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_DATA0x24064inc\api\ntddcdrm.hReturns 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_SESSION0x24038inc\api\ntddcdrm.hQueries 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_PERFORMANCE0x24070inc\api\ntddcdrm.hRetrieves 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_VOLUME0x24014inc\api\ntddcdrm.h
IOCTL_CDROM_LOAD_MEDIA0x2480cinc\api\ntddcdrm.hDraws a protruding CDROM tray back into the drive.
IOCTL_CDROM_MEDIA_CATALOG0x2inc\api\ntddcdrm.hSpecifies which subset of the Q data the read operation should return, as follows:
IOCTL_CDROM_MEDIA_REMOVAL0x24804inc\api\ntddcdrm.h
IOCTL_CDROM_PAUSE_AUDIO0x2400cinc\api\ntddcdrm.h
IOCTL_CDROM_PLAY_AUDIO_MSF0x24018inc\api\ntddcdrm.hPlays the specified range of the media.
IOCTL_CDROM_RAW_READ0x2403einc\api\ntddcdrm.hReads data from the CD-ROM in raw mode.
IOCTL_CDROM_READ_Q_CHANNEL0x2402cinc\api\ntddcdrm.hIOCTL_CDROM_CURRENT_POSITION
IOCTL_CDROM_READ_TOC0x24000inc\api\ntddcdrm.h
IOCTL_CDROM_READ_TOC_EX0x24054inc\api\ntddcdrm.hQueries 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_RELEASE0x24814inc\api\ntddcdrm.h
IOCTL_CDROM_RESERVE0x24810inc\api\ntddcdrm.h
IOCTL_CDROM_RESUME_AUDIO0x24010inc\api\ntddcdrm.h
IOCTL_CDROM_SEEK_AUDIO_MSF0x24004inc\api\ntddcdrm.h
IOCTL_CDROM_SEND_OPC_INFORMATION0x2c06cinc\api\ntddcdrm.hTheIOCTL_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_SPEED0x24060inc\api\ntddcdrm.hSets the spindle speed of the CD-ROM drive.
IOCTL_CDROM_SET_VOLUME0x24028inc\api\ntddcdrm.hResets the volume for its device's audio ports.
IOCTL_CDROM_SIMBAD0x2400cinc\api\ntddcdrm.h
IOCTL_CDROM_STOP_AUDIO0x24008inc\api\ntddcdrm.h
IOCTL_CDROM_SUB_Q_CHANNEL0x0inc\api\ntddcdrm.hIOCTL_CDROM_CURRENT_POSITION
IOCTL_CDROM_TRACK_ISRC0x3inc\api\ntddcdrm.hReturns the current position, media catalog, or ISRC track data.
IOCTL_CDROM_UNLOAD_DRIVER0x25008inc\api\ntddcdrm.h
IOCTL_CHANGER_EXCHANGE_MEDIUM0x304020inc\api\ntddchgr.hMoves 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_STATUS0x30c014inc\api\ntddchgr.hRetrieves the status of all elements or a specified number of elements of a particular type.
IOCTL_CHANGER_GET_PARAMETERS0x304000inc\api\ntddchgr.hRetrieves the parameters of the specified device.
IOCTL_CHANGER_GET_PRODUCT_DATA0x304008inc\api\ntddchgr.hRetrieves the product data for the specified device.
IOCTL_CHANGER_GET_STATUS0x304004inc\api\ntddchgr.hRetrieves the current status of the specified device.
IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS0x304018inc\api\ntddchgr.hInitializes the status of all elements or the specified elements of a particular type.
IOCTL_CHANGER_MOVE_MEDIUM0x304024inc\api\ntddchgr.hMoves a piece of media to a destination.
IOCTL_CHANGER_QUERY_VOLUME_TAGS0x30c02cinc\api\ntddchgr.hRetrieves the volume tag information for the specified elements.
IOCTL_CHANGER_REINITIALIZE_TRANSPORT0x304028inc\api\ntddchgr.hPhysically recalibrates a transport element. Recalibration may involve returning the transport to its home position.
IOCTL_CHANGER_SET_ACCESS0x30c010inc\api\ntddchgr.hSets the state of the device's insert/eject port, door, or keypad.
IOCTL_CHANGER_SET_POSITION0x30401cinc\api\ntddchgr.hSets 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_VERIFY0x74800inc\api\ntdddisk.hIn 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_NUMBER0x70044inc\api\ntdddisk.hRetrieves the controller number and disk number for an IDE disk.
IOCTL_DISK_COPY_DATA0x7c064inc\api\ntdddisk.hThis IOCTL_DISK_COPY_DATA IOCTL is used to copy data from one area of the disk to another.
IOCTL_DISK_CREATE_DISK0x7c058inc\api\ntdddisk.hInitializes the specified disk and disk partition table using the information in theCREATE_DISKstructure.
IOCTL_DISK_DELETE_DRIVE_LAYOUT0x7c100inc\api\ntdddisk.hRemoves 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_MEDIA0x74808inc\api\ntdddisk.hEjects media from a SCSI device.
IOCTL_DISK_FIND_NEW_DEVICES0x74818inc\api\ntdddisk.hIn 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_DRIVE0x7c3ccinc\api\ntdddisk.h
IOCTL_DISK_FORMAT_TRACKS0x7c018inc\api\ntdddisk.hFormats a specified, contiguous set of tracks on a floppy disk. To provide additional parameters, useIOCTL_DISK_FORMAT_TRACKS_EXinstead.
IOCTL_DISK_FORMAT_TRACKS_EX0x7c02cinc\api\ntdddisk.hFormats a specified, contiguous set of tracks on a floppy disk.
IOCTL_DISK_GET_CACHE_INFORMATION0x740d4inc\api\ntdddisk.hRetrieves the disk cache configuration data.
IOCTL_DISK_GET_CACHE_SETTING0x740e0inc\api\ntdddisk.h
IOCTL_DISK_GET_DISK_ATTRIBUTES0x700f0inc\api\ntdddisk.h
IOCTL_DISK_GET_DRIVE_GEOMETRY0x70000inc\api\ntdddisk.hRetrieves 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_EX0x700a0inc\api\ntdddisk.hRetrieves 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_LAYOUT0x7400cinc\api\ntdddisk.hRetrieves information for each entry in the partition tables for a disk.
IOCTL_DISK_GET_DRIVE_LAYOUT_EX0x70050inc\api\ntdddisk.hRetrieves extended information for each entry in the partition tables for a disk.
IOCTL_DISK_GET_LENGTH_INFO0x7405cinc\api\ntdddisk.hRetrieves the length of the specified disk, volume, or partition.
IOCTL_DISK_GET_MEDIA_TYPES0x70c00inc\api\ntdddisk.hIn 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_ATTRIBUTES0x700e8inc\api\ntdddisk.hRetrieves information about the type, size, and nature of a disk partition.
IOCTL_DISK_GET_PARTITION_INFO0x74004inc\api\ntdddisk.hRetrieves information about the type, size, and nature of a disk partition.
IOCTL_DISK_GET_PARTITION_INFO_EX0x70048inc\api\ntdddisk.hRetrieves extended information about the type, size, and nature of a disk partition.
IOCTL_DISK_GET_SAN_SETTINGS0x74200inc\api\ntdddisk.h
IOCTL_DISK_GET_SNAPSHOT_INFO0x74208inc\api\ntdddisk.hRetrieves the length of the specified disk, volume, or partition.
IOCTL_DISK_GET_WRITE_CACHE_STATE0x740dcinc\api\ntdddisk.h
IOCTL_DISK_GROW_PARTITION0x7c0d0inc\api\ntdddisk.hEnlarges the specified partition.
IOCTL_DISK_HISTOGRAM_DATA0x70034inc\api\ntdddisk.h
IOCTL_DISK_HISTOGRAM_RESET0x70038inc\api\ntdddisk.h
IOCTL_DISK_HISTOGRAM_STRUCTURE0x70030inc\api\ntdddisk.hThe following table identifies the control codes that are used in disk management.
IOCTL_DISK_INTERNAL_CLEAR_VERIFY0x70407inc\api\ntdddisk.hAllows 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_NOTIFY0x70408inc\api\ntdddisk.h
IOCTL_DISK_INTERNAL_SET_VERIFY0x70403inc\api\ntdddisk.hAllows a driver to set the verify bit on a disk device object if the mode of the caller is kernel mode.
IOCTL_DISK_IS_CLUSTERED0x700f8inc\api\ntdddisk.hAllows a driver or application to determine if a disk is clustered.
IOCTL_DISK_IS_WRITABLE0x70024inc\api\ntdddisk.hDetermines whether the specified disk is writable.
IOCTL_DISK_LOAD_MEDIA0x7480cinc\api\ntdddisk.h
IOCTL_DISK_LOGGING0x70028inc\api\ntdddisk.hThe following table identifies the control codes that are used in disk management.
IOCTL_DISK_MEDIA_REMOVAL0x74804inc\api\ntdddisk.h
IOCTL_DISK_PERFORMANCE0x70020inc\api\ntdddisk.hEnables performance counters that provide disk performance information.
IOCTL_DISK_PERFORMANCE_OFF0x70060inc\api\ntdddisk.hDisables the performance counters that provide disk performance information.
IOCTL_DISK_REASSIGN_BLOCKS0x7c01cinc\api\ntdddisk.hDirects the disk device to map one or more blocks to its spare-block pool.
IOCTL_DISK_REASSIGN_BLOCKS_EX0x7c0a4inc\api\ntdddisk.hThe handle to the object where blocks are to be reassigned.
IOCTL_DISK_RELEASE0x74814inc\api\ntdddisk.h
IOCTL_DISK_REQUEST_DATA0x70040inc\api\ntdddisk.hThe following table identifies the control codes that are used in disk management.
IOCTL_DISK_REQUEST_STRUCTURE0x7003cinc\api\ntdddisk.hThe following table identifies the control codes that are used in disk management.
IOCTL_DISK_RESERVE0x74810inc\api\ntdddisk.h
IOCTL_DISK_RESET_SNAPSHOT_INFO0x7c210inc\api\ntdddisk.hClears all Volume Shadow Copy Service (VSS) hardware-based shadow copy (also called "snapshot") information from the disk.
IOCTL_DISK_SENSE_DEVICE0x703e0inc\api\ntdddisk.h
IOCTL_DISK_SET_CACHE_INFORMATION0x7c0d8inc\api\ntdddisk.hSets the disk configuration data.
IOCTL_DISK_SET_CACHE_SETTING0x7c0e4inc\api\ntdddisk.hSets the disk configuration data.
IOCTL_DISK_SET_DISK_ATTRIBUTES0x7c0f4inc\api\ntdddisk.h
IOCTL_DISK_SET_DRIVE_LAYOUT0x7c010inc\api\ntdddisk.hPartitions a disk as specified by drive layout and partition information data.
IOCTL_DISK_SET_DRIVE_LAYOUT_EX0x7c054inc\api\ntdddisk.hThe handle to the disk drive to be partitioned. To retrieve a device handle, call theCreateFilefunction.
IOCTL_DISK_SET_PARTITION_ATTRIBUTES0x7c0ecinc\api\ntdddisk.hRetrieves information about the type, size, and nature of a disk partition.
IOCTL_DISK_SET_PARTITION_INFO0x7c008inc\api\ntdddisk.hSets partition information for the specified disk partition.
IOCTL_DISK_SET_PARTITION_INFO_EX0x7c04cinc\api\ntdddisk.hSets partition information for the specified disk partition, including layout information for AT and EFI (Extensible Firmware Interface) partitions.
IOCTL_DISK_SET_SAN_SETTINGS0x7c204inc\api\ntdddisk.h
IOCTL_DISK_SET_SNAPSHOT_INFO0x7c20cinc\api\ntdddisk.hRetrieves the length of the specified disk, volume, or partition.
IOCTL_DISK_SIMBAD0x7d000inc\api\ntdddisk.h
IOCTL_DISK_UPDATE_DRIVE_SIZE0x7c0c8inc\api\ntdddisk.hUpdates device extension with drive size information for current media.
IOCTL_DISK_UPDATE_PROPERTIES0x70140inc\api\ntdddisk.hInvalidates the cached partition table and re-enumerates the device.
IOCTL_DISK_VERIFY0x70014inc\api\ntdddisk.hVerifies the specified extent on a fixed disk.
IOCTL_DOT4_ADD_ACTIVITY_BROADCAST0x3a2014inc\ddk\d4drvif.h
IOCTL_DOT4_CLOSE_CHANNEL0x3a2008inc\ddk\d4drvif.h
IOCTL_DOT4_CREATE_SOCKET0x3a2022inc\ddk\d4drvif.h
IOCTL_DOT4_DESTROY_SOCKET0x3a202ainc\ddk\d4drvif.h
IOCTL_DOT4_LAST0x80ainc\ddk\d4drvif.h
IOCTL_DOT4_OPEN_CHANNEL0x3a2006inc\ddk\d4drvif.h
IOCTL_DOT4_READ0x3a200einc\ddk\d4drvif.h
IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST0x3a2018inc\ddk\d4drvif.h
IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST0x3a201einc\ddk\d4drvif.h
IOCTL_DOT4_WAIT_FOR_CHANNEL0x3a2026inc\ddk\d4drvif.h
IOCTL_DOT4_WRITE0x3a2011inc\ddk\d4drvif.h
IOCTL_DVD_END_SESSION0x33500cinc\api\ntddcdvd.hEnds a DVD session by invalidating its authentication grant ID (AGID).
IOCTL_DVD_GET_REGION0x335014inc\api\ntddcdvd.hReturns 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_KEY0x335004inc\api\ntddcdvd.hReturns 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_STRUCTURE0x335140inc\api\ntddcdvd.hReturns information about a DVD disc, such as a layer descriptor, copyright information, or manufacturer-specific information.
IOCTL_DVD_SEND_KEY0x335008inc\api\ntddcdvd.hSends the specified key to a DVD device to complete the related step in an authentication sequence.
IOCTL_DVD_SEND_KEY20x33d018inc\api\ntddcdvd.hSends 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_AHEAD0x335010inc\api\ntddcdvd.h
IOCTL_DVD_START_SESSION0x335000inc\api\ntddcdvd.hReturns 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_PDOS0x2d1410inc\ddk\usbstorioctl.hThis enumeration describes the types of Physical Device Objects (PDOs).
IOCTL_EHSTOR_DEVICE_GET_AUTHZ_STATE0x2d1408inc\ddk\usbstorioctl.h
IOCTL_EHSTOR_DEVICE_SET_AUTHZ_STATE0x2d1404inc\ddk\usbstorioctl.h
IOCTL_EHSTOR_DEVICE_SILO_COMMAND0x2d140cinc\ddk\usbstorioctl.h
IOCTL_ENTER_PRIORITY_RECEIVE0x0000inc\ddk\irclass_ioctl.h
IOCTL_FSVIDEO_COPY_FRAME_BUFFER0x340800inc\api\ntddvdeo.h
IOCTL_FSVIDEO_REVERSE_MOUSE_POINTER0x340808inc\api\ntddvdeo.h
IOCTL_FSVIDEO_SET_CURRENT_MODE0x34080cinc\api\ntddvdeo.hSets 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_POSITION0x340814inc\api\ntddvdeo.h
IOCTL_FSVIDEO_SET_SCREEN_INFORMATION0x340810inc\api\ntddvdeo.hSets various battery information. The input parameter structure,BATTERY_SET_INFORMATION, indicates which battery status information is to be set.
IOCTL_FSVIDEO_WRITE_TO_FRAME_BUFFER0x340804inc\api\ntddvdeo.h
IOCTL_GET_CHANNEL_ALIGN_RQST0x80002014inc\ddk\usbscan.hReturns a USB device's maximum packet size for the read, write, and interrupt transfer pipes associated with the specified device handle.
IOCTL_GET_DEVICE_DESCRIPTOR0x80002018inc\ddk\usbscan.hReturns vendor and device identifiers.
IOCTL_GET_HCD_DRIVERKEY_NAME0x220424inc\api\usbioctl.hTheIOCTL_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_BUFFERS0xb01a0inc\ddk\hidclass.hThe IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of theinput reportqueue for atop-level collection.
IOCTL_GET_PHYSICAL_DESCRIPTOR0xb019ainc\ddk\hidclass.hThe IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of atop-level collection.
IOCTL_GET_PIPE_CONFIGURATION0x80002028inc\ddk\usbscan.hReturns a description of every transfer pipe supported for a device.
IOCTL_GET_PROCESSOR_OBJ_INFO0x294180inc\ddk\poclass.h
IOCTL_GET_SYS_BUTTON_CAPS0x294140inc\ddk\poclass.h
IOCTL_GET_SYS_BUTTON_EVENT0x294144inc\ddk\poclass.h
IOCTL_GET_TUPLE_DATA0x42ee0inc\ddk\ntddpcm.hThis 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_DESCRIPTOR0x80002020inc\ddk\usbscan.hReturns a specified USB Descriptor.
IOCTL_GET_VERSION0x80002000inc\ddk\usbscan.hReturns the version number of the driver.
IOCTL_HID_ACTIVATE_DEVICE0xb001finc\ddk\hidport.hThe IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations.
IOCTL_HID_DEACTIVATE_DEVICE0xb0023inc\ddk\hidport.hThe IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations.
IOCTL_HID_DISABLE_SECURE_READ0xb020finc\ddk\hidclass.hThe 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_READ0xb020binc\ddk\hidclass.hThe 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_QUEUE0xb0197inc\ddk\hidclass.hThe IOCTL_HID_FLUSH_QUEUE request dequeues all of the unparsedinput reportsfrom atop-level collection'sinput report queue.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR0xb0193inc\ddk\hidclass.hThe 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_INFORMATION0xb01a8inc\ddk\hidclass.hThe 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_ATTRIBUTES0xb0027inc\ddk\hidport.h
IOCTL_HID_GET_DEVICE_DESCRIPTOR0xb0003inc\ddk\hidport.hThe IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device'sHID descriptor.
IOCTL_HID_GET_DRIVER_CONFIG0xb0190inc\ddk\hidclass.h
IOCTL_HID_GET_FEATURE0xb0192inc\ddk\hidclass.hThe IOCTL_HID_GET_FEATURE request obtains afeature reportfrom a HIDClass device.
IOCTL_HID_GET_FRIENDLY_NAME0x0000inc\ddk\hidclass.h
IOCTL_HID_GET_HARDWARE_ID0xb019einc\ddk\hidclass.h
IOCTL_HID_GET_INDEXED_STRING0xb01e2inc\ddk\hidclass.hThe 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_REPORT0xb01a2inc\ddk\hidclass.hThe IOCTL_HID_GET_INPUT_REPORT request obtains aninput reportfrom atop-level collection.
IOCTL_HID_GET_MANUFACTURER_STRING0xb01bainc\ddk\hidclass.hThe 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_DESCRIPTOR0xb01e6inc\ddk\hidclass.h
IOCTL_HID_GET_POLL_FREQUENCY_MSEC0xb0198inc\ddk\hidclass.hThe IOCTL_HID_GET_POLL_FREQUENCY_MSEC request obtains the current polling frequency, in milliseconds, of atop-level collection.
IOCTL_HID_GET_PRODUCT_STRING0xb01beinc\ddk\hidclass.h
IOCTL_HID_GET_REPORT_DESCRIPTOR0xb0007inc\ddk\hidport.hThe IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains thereport descriptorfor a HIDClass device.
IOCTL_HID_GET_SERIALNUMBER_STRING0xb01c2inc\ddk\hidclass.h
IOCTL_HID_GET_STRING0xb0013inc\ddk\hidport.hThe 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_REPORT0xb000binc\ddk\hidport.hThe IOCTL_HID_READ_REPORT request transfers an input report from a HIDClass device into theHID class driver'sbuffer.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST0xb002binc\ddk\hidport.h
IOCTL_HID_SET_DRIVER_CONFIG0xb0194inc\ddk\hidclass.h
IOCTL_HID_SET_FEATURE0xb0191inc\ddk\hidclass.hThe IOCTL_HID_SET_FEATURE request sends afeature reportto atop-level collection.
IOCTL_HID_SET_OUTPUT_REPORT0xb0195inc\ddk\hidclass.hThe IOCTL_HID_SET_OUTPUT_REPORT request sends anoutput reportto a HIDClass device.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC0xb019cinc\ddk\hidclass.hThe IOCTL_HID_SET_POLL_FREQUENCY_MSEC request sets the polling frequency, in milliseconds, for atop-level collection.
IOCTL_HID_WRITE_REPORT0xb000finc\ddk\hidport.hThe IOCTL_HID_WRITE_REPORT request sends aHID reportto a HIDClass device.
IOCTL_IDE_PASS_THROUGH0x4d028inc\api\ntddscsi.hAllows an application to send almost any ATA command to a target device, with the following restrictions:
IOCTL_IEEE1284_GET_MODE0x160014inc\api\ntddpar.h
IOCTL_IEEE1284_NEGOTIATE0x160018inc\api\ntddpar.hThe 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_REQUEST0x220400inc\api\ntdd1394.hIEEE1394_API_ADD_VIRTUAL_DEVICE
IOCTL_INTERNAL_BTHENUM_GET_DEVINFO0x41000binc\ddk\bthioctl.hThe 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_ENUMINFO0x410007inc\ddk\bthioctl.hThe 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_BRB0x410003inc\ddk\bthioctl.hProfile 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_DEVICE0x160060inc\ddk\parallel.hThe 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_RESCAN0x1600d8inc\ddk\parallel.h
IOCTL_INTERNAL_DISCONNECT_IDLE0x160080inc\ddk\parallel.hThe 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_RESCAN0x1600dcinc\ddk\parallel.h
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO0x160044inc\ddk\parallel.hThe 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_INFO0x160054inc\ddk\parallel.hThe IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO request returns Plug and Play information about a parallel port.
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO0x160030inc\ddk\parallel.hThe 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_FDO0x160074inc\ddk\parallel.h
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER0xb3fcbinc\api\ntdd8042.hThe IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER request is not supported.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD0xb3fc3inc\api\ntdd8042.hThe IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request does the following:
IOCTL_INTERNAL_I8042_HOOK_MOUSE0xf3fc3inc\api\ntdd8042.hThe 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_INFORMATION0xb3fcfinc\api\ntdd8042.hThe 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_BUFFER0xb3fc7inc\api\ntdd8042.hThe 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_INFORMATION0xf3fcfinc\api\ntdd8042.hThe 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_BUFFER0xf3fc7inc\api\ntdd8042.hThe 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_BUS0x160058inc\ddk\parallel.hThis section describes how the system-supplied function driver for parallel ports handles the following internal device control requests:
IOCTL_INTERNAL_KEYBOARD_CONNECT0xb0203inc\ddk\kbdmou.hThe 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_DISABLE0xb1003inc\ddk\kbdmou.h
IOCTL_INTERNAL_KEYBOARD_DISCONNECT0xb0403inc\ddk\kbdmou.hThe 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_ENABLE0xb0803inc\ddk\kbdmou.h
IOCTL_INTERNAL_LOCK_PORT0x160094inc\ddk\parallel.hThe 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_SELECT0x1600d0inc\ddk\parallel.hThe 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_CONNECT0xf0203inc\ddk\kbdmou.hThe 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_DISABLE0xf1003inc\ddk\kbdmou.h
IOCTL_INTERNAL_MOUSE_DISCONNECT0xf0403inc\ddk\kbdmou.hThe 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_ENABLE0xf0803inc\ddk\kbdmou.hThe IRP_MJ_CREATE request opens a mouse device.
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE0x160050inc\ddk\parallel.hThe IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE request clears the operating mode of a parallel port.
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT0x160034inc\ddk\parallel.hThe 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_INTERRUPT0x160038inc\ddk\parallel.hThe 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_ALLOCATE0x16002cinc\ddk\parallel.hThe 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_FREE0x1600a0inc\ddk\parallel.hThe 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_MODE0x16004cinc\ddk\parallel.hThe IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE request sets the operating mode of a parallel port.
IOCTL_INTERNAL_PARCHIP_CONNECT0x160048inc\ddk\parallel.hThe 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_CONNECT0x160078inc\ddk\parallel.hThe 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_DISCONNECT0x16007cinc\ddk\parallel.hThe 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_CONNECT0x1600a4inc\ddk\parallel.hThe 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_DISCONNECT0x1600a8inc\ddk\parallel.hThe 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_RESET0x1600acinc\ddk\parallel.h
IOCTL_INTERNAL_PARDOT3_SIGNAL0x1600b0inc\ddk\parallel.h
IOCTL_INTERNAL_REGISTER_FOR_REMOVAL_RELATIONS0x1600c8inc\ddk\parallel.h
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO0x16003cinc\ddk\parallel.hThe IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO request returns STATUS_SUCCESS.
IOCTL_INTERNAL_SELECT_DEVICE0x16005cinc\ddk\parallel.hThe IOCTL_INTERNAL_SELECT_DEVICE request:
IOCTL_INTERNAL_SERENUM_REMOVE_SELF0x370207inc\api\ntddser.hThe 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_PORT0x160098inc\ddk\parallel.hThe IOCTL_INTERNAL_UNLOCK_PORT request deselects a parallel device and frees the parallel device's parent parallel port.
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT0x1600d4inc\ddk\parallel.hThe 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_RELATIONS0x1600ccinc\ddk\parallel.h
IOCTL_INTERNAL_USB_CYCLE_PORT0x22001finc\api\usbioctl.hTheIOCTL_INTERNAL_USB_CYCLE_PORTI/O request simulates a device unplug and replug on the port associated with the PDO.
IOCTL_INTERNAL_USB_ENABLE_PORT0x220017inc\api\usbioctl.hThis control code is not supported.
IOCTL_INTERNAL_USB_GET_BUSGUID_INFO0x220428inc\api\usbioctl.hThis control code is not supported.
IOCTL_INTERNAL_USB_GET_BUS_INFO0x220420inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_BUS_INFOI/O request queries the bus driver for certain bus information.
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME0x220424inc\api\usbioctl.hTheIOCTL_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_INFO0x22044finc\api\usbioctl.hTheIOCTL_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_HANDLE0x220433inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_DEVICE_HANDLEIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX0x220437inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EXIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_HUB_COUNT0x22001binc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_HUB_COUNTIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_HUB_NAME0x220020inc\api\usbioctl.hTheIOCTL_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_INFO0x22042cinc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_PARENT_HUB_INFOis used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_PORT_STATUS0x220013inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_PORT_STATUSI/O request queries the status of the PDO.
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO0x22000finc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_ROOTHUB_PDOIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS0x22043finc\api\usbioctl.hTheIOCTL_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_HANDLE0x22043binc\api\usbioctl.hTheIOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLEis used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY0x220443inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_NOTIFY_IDLE_READYIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_RECORD_FAILURE0x22002binc\api\usbioctl.hTheIOCTL_INTERNAL_USB_RECORD_FAILUREIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME0x22044binc\api\usbioctl.hTheIOCTL_INTERNAL_USB_REQ_GLOBAL_RESUMEIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND0x220447inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPENDIOCTL is used by the USB hub driver. Do not use.
IOCTL_INTERNAL_USB_RESET_PORT0x220007inc\api\usbioctl.hTheIOCTL_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_NOTIFICATION0x220027inc\api\usbioctl.h
IOCTL_INTERNAL_USB_SUBMIT_URB0x220003inc\api\usbioctl.hTheIOCTL_INTERNAL_USB_SUBMIT_URBI/O control request is used by drivers to submit anURBto the bus driver.
IOCTL_IP_ADDCHANGE_NOTIFY_REQUEST0x66inc\api\ipexport.h
IOCTL_IP_GET_BEST_INTERFACE0x69inc\api\ipexport.h
IOCTL_IP_INTERFACE_INFO0x68inc\api\ipexport.hThe number of adapters listed in the array pointed to by theAdaptermember.
IOCTL_IP_RTCHANGE_NOTIFY_REQUEST0x65inc\api\ipexport.h
IOCTL_IP_SET_FIREWALL_HOOK0x128030inc\ddk\ipfirewall.h
IOCTL_IP_UNIDIRECTIONAL_ADAPTER_ADDRESS0x6ainc\api\ipexport.h
IOCTL_IR_ENTER_PRIORITY_RECEIVE0xf608028inc\ddk\irclass_ioctl.hThe 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_PARAMS0x0000inc\ddk\irclass_ioctl.hThe 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_RECEIVE0xf60802cinc\ddk\irclass_ioctl.hThe IOCTL_IR_EXIT_PRIORITY_RECEIVE request transfers the device from learning mode back into basic receive mode.
IOCTL_IR_FLASH_RECEIVER0xf60800cinc\ddk\irclass_ioctl.hThe IOCTL_IR_FLASH_RECEIVER request gives the user a visible indication of where to point the receiver.
IOCTL_IR_GET_DEVCAPS0x0000inc\ddk\irclass_ioctl.h
IOCTL_IR_GET_DEV_CAPS0xf604004inc\ddk\irclass_ioctl.hThe 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_EMITTERS0xf604008inc\ddk\irclass_ioctl.hThe 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_HANDSHAKE0xf600024inc\ddk\irclass_ioctl.hWhenCIRClassdiscovers 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_RECEIVE0xf604022inc\ddk\irclass_ioctl.hThe IOCTL_IR_PRIORITY_RECEIVE request occurs when data is sent from a learned remote control to the class driver.
IOCTL_IR_RECEIVE0xf60401ainc\ddk\irclass_ioctl.hThe IOCTL_IR_RECEIVE request occurs with basic remote commands that come from a remote control.
IOCTL_IR_RESET_DEVICE0xf608010inc\ddk\irclass_ioctl.hThe 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_PATTERN0xf608038inc\ddk\irclass_ioctl.hThe 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_TRANSMIT0xf608015inc\ddk\irclass_ioctl.hWhen 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_CLOSE0xf608034inc\ddk\irclass_ioctl.hThe 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_OPEN0xf608030inc\ddk\irclass_ioctl.hThe 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_DATA0xb0100inc\api\ntddkbd.h
IOCTL_KEYBOARD_QUERY_ATTRIBUTES0xb0000inc\api\ntddkbd.hThe IOCTL_KEYBOARD_QUERY_ATTRIBUTES request returns information about the keyboard attributes.
IOCTL_KEYBOARD_QUERY_IME_STATUS0xb1000inc\api\ntddkbd.h
IOCTL_KEYBOARD_QUERY_INDICATORS0xb0040inc\api\ntddkbd.hThe IOCTL_KEYBOARD_QUERY_INDICATORS request returns information about the keyboard indicators.
IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION0xb0080inc\api\ntddkbd.hThe IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION request returns information about the mapping between scan codes and indicators.
IOCTL_KEYBOARD_QUERY_TYPEMATIC0xb0020inc\api\ntddkbd.hThe IOCTL_KEYBOARD_QUERY_TYPEMATIC request returns the typematic settings.
IOCTL_KEYBOARD_SET_IME_STATUS0xb1004inc\api\ntddkbd.h
IOCTL_KEYBOARD_SET_INDICATORS0xb0008inc\api\ntddkbd.hThe IOCTL_KEYBOARD_SET_INDICATORS request sets the keyboard indicators.
IOCTL_KEYBOARD_SET_TYPEMATIC0xb0004inc\api\ntddkbd.hThe IOCTL_KEYBOARD_SET_TYPEMATIC request sets the typematic parameters.
IOCTL_KS_DISABLE_EVENT0x2f000binc\api\ks.hAn 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_EVENT0x2f0007inc\api\ks.hAn 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_HANDSHAKE0x2f001finc\api\ks.hA 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_METHOD0x2f000finc\api\ks.hAn 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_PROPERTY0x2f0003inc\api\ks.hAn 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_STREAM0x2f4017inc\api\ks.h
IOCTL_KS_RESET_STATE0x2f001binc\api\ks.hAn 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_STREAM0x2f8013inc\api\ks.hAn 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_SERVER0x1400f0inc\ddk\ntifs.h
IOCTL_MINIPORT_PROCESS_SERVICE_IRP0x4d038inc\api\ntddscsi.hThis 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_MODEM0x2b002cinc\api\ntddmodm.h
IOCTL_MODEM_GET_DLE0x2b0010inc\api\ntddmodm.h
IOCTL_MODEM_GET_MESSAGE0x2b0020inc\api\ntddmodm.h
IOCTL_MODEM_GET_PASSTHROUGH0x2b0004inc\api\ntddmodm.h
IOCTL_MODEM_SEND_GET_MESSAGE0x2b0024inc\api\ntddmodm.h
IOCTL_MODEM_SEND_LOOPBACK_MESSAGE0x2b0028inc\api\ntddmodm.h
IOCTL_MODEM_SEND_MESSAGE0x2b001cinc\api\ntddmodm.h
IOCTL_MODEM_SET_DLE_MONITORING0x2b000cinc\api\ntddmodm.h
IOCTL_MODEM_SET_DLE_SHIELDING0x2b0014inc\api\ntddmodm.h
IOCTL_MODEM_SET_MIN_POWER0x2b0030inc\api\ntddmodm.h
IOCTL_MODEM_SET_PASSTHROUGH0x2b0008inc\api\ntddmodm.h
IOCTL_MODEM_STOP_WAVE_RECEIVE0x2b0018inc\api\ntddmodm.h
IOCTL_MODEM_WATCH_FOR_RESUME0x2b0034inc\api\ntddmodm.h
IOCTL_MOUNTDEV_LINK_CREATED0x4dc010inc\ddk\mountdev.hSupport 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_DELETED0x4dc014inc\ddk\mountdev.hSupport 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_NAME0x4d0008inc\ddk\mountmgr.h
IOCTL_MOUNTDEV_QUERY_STABLE_GUID0x4d0018inc\ddk\mountdev.h
IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME0x4d000cinc\ddk\mountdev.hSupport 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_ID0x4d0000inc\ddk\mountdev.h
IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS0x6dc014inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_BOOT_DL_ASSIGNMENT0x6dc044inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_CHANGE_NOTIFY0x6d4020inc\ddk\mountmgr.hClients 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_VOLUMES0x6d4028inc\ddk\mountmgr.hWhen 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_POINT0x6dc000inc\ddk\mountmgr.hThe 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_POINTS0x6dc004inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY0x6dc00cinc\ddk\mountmgr.hThis 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_OFFLINE0x6dc024inc\ddk\mountmgr.hThis 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_LETTER0x6dc010inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_QUERY_AUTO_MOUNT0x6d003cinc\ddk\mountmgr.hThis 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_PATH0x6d0030inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS0x6d0034inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_QUERY_POINTS0x6d0008inc\ddk\mountmgr.hThis 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_REGISTRY0x6dc038inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_SET_AUTO_MOUNT0x6dc040inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_TRACELOG_CACHE0x6d4048inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION0x6d402cinc\ddk\mountmgr.hThis 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_CREATED0x6dc018inc\ddk\mountmgr.h
IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED0x6dc01cinc\ddk\mountmgr.hThe 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_DATA0xf0004inc\api\ntddmou.h
IOCTL_MOUSE_QUERY_ATTRIBUTES0xf0000inc\api\ntddmou.hThe IOCTL_MOUSE_QUERY_ATTRIBUTES request returns information about the mouse attributes.
IOCTL_MPDSM_DEREGISTER0x736dc008inc\ddk\dsm.h
IOCTL_MPDSM_REGISTER0x736dc004inc\ddk\dsm.h
IOCTL_MPIO_PASS_THROUGH_PATH0x4d03cinc\api\ntddscsi.hThis 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_DIRECT0x4d040inc\api\ntddscsi.hAllows an application to send almost any SCSI command to a target device, with the following restrictions:
IOCTL_MTP_CUSTOM_COMMAND0x3150544d
IOCTL_NDIS_ADD_TDI_DEVICE0x170014inc\api\ntddndis.h
IOCTL_NDIS_DO_PNP_OPERATION0x170008inc\api\ntddndis.h
IOCTL_NDIS_ENUMERATE_INTERFACES0x170010inc\api\ntddndis.h
IOCTL_NDIS_GET_LOG_DATA0x17001einc\api\ntddndis.h
IOCTL_NDIS_GET_VERSION0x170020inc\api\ntddndis.h
IOCTL_NDIS_QUERY_ALL_STATS0x170006inc\api\ntddndis.h
IOCTL_NDIS_QUERY_GLOBAL_STATS0x170002inc\api\ntddndis.hAn 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_STATS0x17000einc\api\ntddndis.hAn 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_RESERVED10x170024inc\api\ntddndis.h
IOCTL_NDIS_RESERVED100x170048inc\api\ntddndis.h
IOCTL_NDIS_RESERVED110x17004cinc\api\ntddndis.h
IOCTL_NDIS_RESERVED120x170050inc\api\ntddndis.h
IOCTL_NDIS_RESERVED130x170054inc\api\ntddndis.h
IOCTL_NDIS_RESERVED140x170058inc\api\ntddndis.h
IOCTL_NDIS_RESERVED150x17005cinc\api\ntddndis.h
IOCTL_NDIS_RESERVED160x170060inc\api\ntddndis.h
IOCTL_NDIS_RESERVED170x170064inc\api\ntddndis.h
IOCTL_NDIS_RESERVED180x170068inc\api\ntddndis.h
IOCTL_NDIS_RESERVED190x17006cinc\api\ntddndis.h
IOCTL_NDIS_RESERVED20x170028inc\api\ntddndis.h
IOCTL_NDIS_RESERVED200x170070inc\api\ntddndis.h
IOCTL_NDIS_RESERVED210x170074inc\api\ntddndis.h
IOCTL_NDIS_RESERVED220x170078inc\api\ntddndis.h
IOCTL_NDIS_RESERVED30x17002cinc\api\ntddndis.h
IOCTL_NDIS_RESERVED40x170030inc\api\ntddndis.h
IOCTL_NDIS_RESERVED50x170034inc\api\ntddndis.h
IOCTL_NDIS_RESERVED60x178038inc\api\ntddndis.h
IOCTL_NDIS_RESERVED70x17003einc\api\ntddndis.h
IOCTL_NDIS_RESERVED80x170040inc\api\ntddndis.h
IOCTL_NDIS_RESERVED90x170044inc\api\ntddndis.h
IOCTL_NOTIFY_SWITCH_EVENT0x294100inc\ddk\poclass.h
IOCTL_PAR_ECP_HOST_RECOVERY0x160034inc\api\ntddpar.h
IOCTL_PAR_GET_DEFAULT_MODES0x160028inc\api\ntddpar.hThe 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_CAPS0x160024inc\api\ntddpar.hThe IOCTL_PAR_GET_DEVICE_CAPS request does the following:
IOCTL_PAR_GET_READ_ADDRESS0x160038inc\api\ntddpar.h
IOCTL_PAR_GET_WRITE_ADDRESS0x16003cinc\api\ntddpar.hThis content can be found here:IOCTL_PAR_SET_WRITE_ADDRESS.
IOCTL_PAR_IS_PORT_FREE0x160054inc\api\ntddpar.hThe 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_PING0x16002cinc\api\ntddpar.h
IOCTL_PAR_QUERY_DEVICE_ID0x16000cinc\api\ntddpar.h
IOCTL_PAR_QUERY_DEVICE_ID_SIZE0x160010inc\api\ntddpar.hThe 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_INFORMATION0x160004inc\api\ntddpar.hPARALLEL_BUSY
IOCTL_PAR_QUERY_LOCATION0x160058inc\api\ntddpar.hThe 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_ID0x160030inc\api\ntddpar.hThe 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_INFORMATION0x160008inc\api\ntddpar.hThe IOCTL_PAR_SET_INFORMATION request resets and initializes a parallel device.
IOCTL_PAR_SET_READ_ADDRESS0x160020inc\api\ntddpar.hThe 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_ADDRESS0x16001cinc\api\ntddpar.hThe 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_TEST0x160050inc\api\ntddpar.h
IOCTL_PCMCIA_HIDE_DEVICE0x4af08inc\ddk\ntddpcm.h
IOCTL_PCMCIA_REVEAL_DEVICE0x4af0cinc\ddk\ntddpcm.h
IOCTL_PF_SET_EXTENSION_POINTER0x128058inc\ddk\pfhook.hThe 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_CAPABILITIES0x454000inc\api\pmi.hThe IOCTL_PMI_GET_CAPABILITIES request obtains the capability and asset information about a power meter.
IOCTL_PMI_GET_CONFIGURATION0x454004inc\api\pmi.hThe IOCTL_PMI_GET_CONFIGURATION request returns information about the current configuration of a power meter.
IOCTL_PMI_GET_MEASUREMENT0x45400cinc\api\pmi.hThe IOCTL_PMI_GET_MEASUREMENT request returns the current measurement data from a power meter.
IOCTL_PMI_REGISTER_EVENT_NOTIFY0x45c010inc\api\pmi.hThe 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_CONFIGURATION0x458008inc\api\pmi.hThe IOCTL_PMI_SET_CONFIGURATION request sets the configuration data for a power meter.
IOCTL_QUERY_DEVICE_POWER_STATE0x294000inc\ddk\ntpoapi.hTheDEVICE_POWER_STATEenumeration type indicates adevice power state.
IOCTL_QUERY_LID0x2940c0inc\ddk\poclass.h
IOCTL_READ_REGISTERS0x8000200cinc\ddk\usbscan.hReads from USB device registers, using the control pipe.
IOCTL_REDIR_QUERY_PATH0x14018finc\ddk\ntifs.hThe 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_EX0x140193inc\ddk\ntifs.hThe 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_PIPE0x8000201cinc\ddk\usbscan.hResets the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_RUN_ACTIVE_COOLING_METHOD0x298088inc\ddk\poclass.h
IOCTL_SCSISCAN_CMD0x190012inc\ddk\scsiscan.hCreates a customized SCSI control descriptor block (CDB) and sends it to the kernel-mode still image driver for SCSI buses.
IOCTL_SCSISCAN_GET_INFO0x190022inc\ddk\scsiscan.hReturns device information.
IOCTL_SCSISCAN_LOCKDEVICE0x190016inc\ddk\scsiscan.hReserved for use by Microsoft.
IOCTL_SCSISCAN_SET_TIMEOUT0x19001cinc\ddk\scsiscan.hModifies the time-out value used by the kernel-mode still image driver for SCSI buses when it accesses a device.
IOCTL_SCSISCAN_UNLOCKDEVICE0x19001ainc\ddk\scsiscan.h
IOCTL_SCSI_EXECUTE_IN0x1b0011inc\ddk\scsi.h
IOCTL_SCSI_EXECUTE_NONE0x1b0013inc\ddk\scsi.h
IOCTL_SCSI_EXECUTE_OUT0x1b0012inc\ddk\scsi.h
IOCTL_SCSI_FREE_DUMP_POINTERS0x41024inc\api\ntddscsi.h
IOCTL_SCSI_GET_ADDRESS0x41018inc\api\ntddscsi.hReturns 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_CAPABILITIES0x41010inc\api\ntddscsi.hReturns 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_POINTERS0x41020inc\api\ntddscsi.h
IOCTL_SCSI_GET_INQUIRY_DATA0x4100cinc\api\ntddscsi.hReturns 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_MINIPORT0x4d008inc\api\ntddscsi.hSends 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_SMART0x1b0505inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE0x1b0507inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE0x1b050ainc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_ENABLE_SMART0x1b0504inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS0x1b0509inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_IDENTIFY0x1b0501inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE0x1b0521inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE0x1b0520inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_NVCACHE0x1b0600inc\api\ntddscsi.hThe 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_ATTRIBS0x1b0502inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_READ_SMART_LOG0x1b050binc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS0x1b0503inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_RETURN_STATUS0x1b0506inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES0x1b0508inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_SMART_VERSION0x1b0500inc\ddk\scsi.h
IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG0x1b050cinc\ddk\scsi.h
IOCTL_SCSI_PASS_THROUGH0x4d004inc\api\ntddscsi.hAllows an application to send almost any SCSI command to a target device, with the following restrictions:
IOCTL_SCSI_PASS_THROUGH_DIRECT0x4d014inc\api\ntddscsi.hAllows an application to send almost any SCSI command to a target device, with the following restrictions:
IOCTL_SCSI_RESCAN_BUS0x4101cinc\api\ntddscsi.h
IOCTL_SD_SUBMIT_REQUEST0x43073inc\ddk\ntddsd.h
IOCTL_SEND_USB_REQUEST0x80002024inc\ddk\usbscan.hSends a vendor-defined request to a USB device, using the control pipe, and optionally sends or receives additional data.
IOCTL_SERENUM_EXPOSE_HARDWARE0x370200inc\api\ntddser.h
IOCTL_SERENUM_GET_PORT_NAME0x37020cinc\api\ntddser.hThe 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_DESC0x370208inc\api\ntddser.hThe IOCTL_SERENUM_PORT_DESC request returns a description of the RS-232 port associated with a filter DO.
IOCTL_SERENUM_REMOVE_HARDWARE0x370204inc\api\ntddser.h
IOCTL_SERIAL_CLEAR_STATS0x1b0090inc\api\ntddser.hThe IOCTL_SERIAL_CLEAR_STATS request clears the performance statistics for a serial device.
IOCTL_SERIAL_CLR_DTR0x1b0028inc\api\ntddser.h
IOCTL_SERIAL_CLR_RTS0x1b0034inc\api\ntddser.hThe IOCTL_SERIAL_CLR_RTS request clears therequest to sendcontrol signal (RTS).
IOCTL_SERIAL_CONFIG_SIZE0x1b0080inc\api\ntddser.h
IOCTL_SERIAL_GET_BAUD_RATE0x1b0050inc\api\ntddser.hThe IOCTL_SERIAL_GET_BAUD_RATE request returns the baud rate that is currently set for a serial device.
IOCTL_SERIAL_GET_CHARS0x1b0058inc\api\ntddser.hThe IOCTL_SERIAL_GET_CHARS request returns the special characters that Serial uses with handshake flow control.
IOCTL_SERIAL_GET_COMMCONFIG0x1b0084inc\api\ntddser.h
IOCTL_SERIAL_GET_COMMSTATUS0x1b006cinc\api\ntddser.h
IOCTL_SERIAL_GET_DTRRTS0x1b0078inc\api\ntddser.hThe IOCTL_SERIAL_GET_DTRRTS request returns information about thedata terminal readycontrol signal (DTR) and therequest to sendcontrol signal (RTS).
IOCTL_SERIAL_GET_HANDFLOW0x1b0060inc\api\ntddser.hThe IOCTL_SERIAL_GET_HANDFLOW request returns information about the configuration of the handshake flow control set for a serial device.
IOCTL_SERIAL_GET_LINE_CONTROL0x1b0054inc\api\ntddser.hThe 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_MODEMSTATUS0x1b0068inc\api\ntddser.h
IOCTL_SERIAL_GET_MODEM_CONTROL0x1b0094inc\api\ntddser.hThe IOCTL_SERIAL_GET_MODEM_CONTROL request returns the value of the modem control register.
IOCTL_SERIAL_GET_PROPERTIES0x1b0074inc\api\ntddser.h
IOCTL_SERIAL_GET_STATS0x1b008cinc\api\ntddser.hThe 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_TIMEOUTS0x1b0020inc\api\ntddser.hThe IOCTL_SERIAL_GET_TIMEOUTS request returns the time-out values that Serial uses with read and write requests.
IOCTL_SERIAL_GET_WAIT_MASK0x1b0040inc\api\ntddser.h
IOCTL_SERIAL_IMMEDIATE_CHAR0x1b0018inc\api\ntddser.hThe 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_SETTINGS0x1b000cinc\api\ntddser.hThe 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_WAKE0x1b0008inc\api\ntddser.hThe IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE request disables the wait/wake operation of a serial device.
IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE0x1b0004inc\api\ntddser.hThe IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE request enables the wait/wake operation of a serial device.
IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS0x1b0010inc\api\ntddser.h
IOCTL_SERIAL_LSRMST_INSERT0x1b007cinc\api\ntddser.hEnables or disables the placement of line status and modem status values into the regular data stream that an application acquires through theReadFilefunction.
IOCTL_SERIAL_PURGE0x1b004cinc\api\ntddser.h
IOCTL_SERIAL_RESET_DEVICE0x1b002cinc\api\ntddser.hThe IOCTL_SERIAL_RESET_DEVICE request resets a serial device.
IOCTL_SERIAL_SET_BAUD_RATE0x1b0004inc\api\ntddser.hThe IOCTL_SERIAL_SET_BAUD_RATE request sets the baud rate on a serial device. Serial verifies the specified baud rate.
IOCTL_SERIAL_SET_BREAK_OFF0x1b0014inc\api\ntddser.hThe IOCTL_SERIAL_SET_BREAK_OFF request sets the line control break signal inactive.
IOCTL_SERIAL_SET_BREAK_ON0x1b0010inc\api\ntddser.h
IOCTL_SERIAL_SET_CHARS0x1b005cinc\api\ntddser.hThe 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_COMMCONFIG0x1b0088inc\api\ntddser.h
IOCTL_SERIAL_SET_DTR0x1b0024inc\api\ntddser.hThe IOCTL_SERIAL_SET_DTR request sets DTR (data terminal ready).
IOCTL_SERIAL_SET_FIFO_CONTROL0x1b009cinc\api\ntddser.hThe IOCTL_SERIAL_SET_INFO_CONTROL request sets the FIFO control register (FCR). Serial does not verify the specified FIFO control information.
IOCTL_SERIAL_SET_HANDFLOW0x1b0064inc\api\ntddser.hThe IOCTL_SERIAL_SET_HANDFLOW request sets the configuration of handshake flow control. Serial verifies the specified handshake flow control information.
IOCTL_SERIAL_SET_LINE_CONTROL0x1b000cinc\api\ntddser.hThe 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_CONTROL0x1b0098inc\api\ntddser.hThe IOCTL_SERIAL_SET_MODEM_CONTROL request sets the modem control register. Parameter checking is not done.
IOCTL_SERIAL_SET_QUEUE_SIZE0x1b0008inc\api\ntddser.h
IOCTL_SERIAL_SET_RTS0x1b0030inc\api\ntddser.hThe IOCTL_SERIAL_SET_RTS request sets RTS (request to send).
IOCTL_SERIAL_SET_TIMEOUTS0x1b001cinc\api\ntddser.hThe IOCTL_SERIAL_SET_TIMEOUTS request sets the time-out values that the driver uses with read and write requests.
IOCTL_SERIAL_SET_WAIT_MASK0x1b0044inc\api\ntddser.h
IOCTL_SERIAL_SET_XOFF0x1b0038inc\api\ntddser.h
IOCTL_SERIAL_SET_XON0x1b003cinc\api\ntddser.hThe IOCTL_SERIAL_SET_XON request emulates the reception of a XON character, which restarts reception of data.
IOCTL_SERIAL_WAIT_ON_MASK0x1b0048inc\api\ntddser.h
IOCTL_SERIAL_XOFF_COUNTER0x1b0070inc\api\ntddser.hThe count value specified for the XOFF counter request is less than zero.
IOCTL_SET_DEVICE_WAKE0x298004inc\ddk\ntpoapi.h
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS0xb01a4inc\ddk\hidclass.hThe IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request sets the number of buffers for the input report queue of atop-level collection.
IOCTL_SET_SERVER_STATE0x2b003cinc\api\ntddmodm.hEXCEPTION: 'NavigableString' object has no attribute 'text'
IOCTL_SET_SYS_MESSAGE_INDICATOR0x2981c0inc\ddk\poclass.h
IOCTL_SET_TIMEOUT0x8000202cinc\ddk\usbscan.hSets the time-out value for USB bulk IN, bulk OUT, or interrupt pipe access.
IOCTL_SFFDISK_DEVICE_COMMAND0x79e84inc\ddk\sffdisk.hUser-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_PASSWORD0x79e88inc\ddk\sffdisk.hUser-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_PROTOCOL0x71e80inc\ddk\sffdisk.hUser-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_CONFISCATE0x310010inc\api\winsmcrd.h
IOCTL_SMARTCARD_EJECT0x310018inc\api\winsmcrd.h
IOCTL_SMARTCARD_GET_ATTRIBUTE0x310008inc\api\winsmcrd.hThe 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_ERROR0x31003cinc\api\winsmcrd.hThe 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_CNTR0x310040inc\api\winsmcrd.h
IOCTL_SMARTCARD_GET_STATE0x310038inc\api\winsmcrd.hThe IOCTL_SMARTCARD_GET_STATE request retrieves the current status of the smart card reader.
IOCTL_SMARTCARD_IS_ABSENT0x31002cinc\api\winsmcrd.h
IOCTL_SMARTCARD_IS_PRESENT0x310028inc\api\winsmcrd.hThe 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_POWER0x310004inc\api\winsmcrd.h
IOCTL_SMARTCARD_SET_ATTRIBUTE0x31000cinc\api\winsmcrd.hThe IOCTL_SMARTCARD_SET_ATTRIBUTE request sets various attributes in the driver.
IOCTL_SMARTCARD_SET_PROTOCOL0x310030inc\api\winsmcrd.h
IOCTL_SMARTCARD_SWALLOW0x31001cinc\api\winsmcrd.h
IOCTL_SMARTCARD_TRANSMIT0x310014inc\api\winsmcrd.hA 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_INFORMATION0x42ef0inc\ddk\ntddpcm.hThis request retrieves socket information for the socket that is indicated by the caller.
IOCTL_STORAGE_ALLOCATE_BC_STREAM0x2dd804inc\api\ntddstor.h
IOCTL_STORAGE_BC_VERSION0x1inc\api\ntddstor.h
IOCTL_STORAGE_BREAK_RESERVATION0x2d5014inc\api\ntddstor.h
IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT0x2d1880inc\api\ntddstor.h
IOCTL_STORAGE_CHECK_VERIFY0x2d4800inc\api\ntddstor.hDetermines whether media are accessible for a device.
IOCTL_STORAGE_CHECK_VERIFY20x2d0800inc\api\ntddstor.hDetermines 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_CONTROL0x2d0940inc\api\ntddstor.hEnables or disables the mechanism that ejects media. Disabling the mechanism locks the drive.
IOCTL_STORAGE_EJECT_MEDIA0x2d4808inc\api\ntddstor.hEjects media from a SCSI device.
IOCTL_STORAGE_FIND_NEW_DEVICES0x2d4818inc\api\ntddstor.hDetermines 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_STREAM0x2dd808inc\api\ntddstor.h
IOCTL_STORAGE_GET_BC_PROPERTIES0x2d5800inc\api\ntddstor.hReturns 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_NUMBER0x2d1080inc\api\ntddstor.hRetrieves the device type, device number, and, for a partitionable device, the partition number of a device.
IOCTL_STORAGE_GET_HOTPLUG_INFO0x2d0c14inc\api\ntddstor.hRetrieves the hotplug configuration of the specified device.
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER0x2d0c10inc\api\ntddstor.hRetrieves the serial number of a USB device.
IOCTL_STORAGE_GET_MEDIA_TYPES0x2d0c00inc\api\ntddstor.hRetrieves the geometry information for the device.
IOCTL_STORAGE_GET_MEDIA_TYPES_EX0x2d0c04inc\api\ntddstor.hRetrieves information about the types of media supported by a device.
IOCTL_STORAGE_LOAD_MEDIA0x2d480cinc\api\ntddstor.hLoads media into a device.
IOCTL_STORAGE_LOAD_MEDIA20x2d080cinc\api\ntddstor.hCauses 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_ATTRIBUTES0x2d9404inc\api\ntddstor.hTheIOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTEScontrol code communicates attribute information to the device for trim optimizations if the device supports it.
IOCTL_STORAGE_MCN_CONTROL0x2d0944inc\api\ntddstor.hEnables or disables media change notification. Disabling media change notification prevents the GUID_IO_MEDIA_ARRIVAL and GUID_IO_MEDIA_REMOVAL events.
IOCTL_STORAGE_MEDIA_REMOVAL0x2d4804inc\api\ntddstor.hEnables or disables the mechanism that ejects media, for those devices possessing that locking capability.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN0x2d5018inc\api\ntddstor.hThe 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_OUT0x2dd01cinc\api\ntddstor.hThe 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_FAILURE0x2d1100inc\api\ntddstor.hPolls 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_PROPERTY0x2d1400inc\api\ntddstor.hReturns 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_CAPACITY0x2d5140inc\api\ntddstor.hRetrieves the geometry information for the device.
IOCTL_STORAGE_RELEASE0x2d4814inc\api\ntddstor.hReleases 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_RESERVE0x2d4810inc\api\ntddstor.hClaims 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_BUS0x2d5000inc\api\ntddstor.hResets 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_DEVICE0x2d5004inc\api\ntddstor.hIf 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_INFO0x2dcc18inc\api\ntddstor.hSets the hotplug configuration of the specified device.
IOCTL_STORAGE_SET_READ_AHEAD0x2d4400inc\api\ntddcdvd.hCauses 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_ID0x2a400binc\ddk\swenum.h
IOCTL_SWENUM_INSTALL_INTERFACE0x2a0000inc\ddk\swenum.h
IOCTL_SWENUM_REMOVE_INTERFACE0x2a0004inc\ddk\swenum.h
IOCTL_TAPE_CHECK_VERIFY0x1f4800inc\api\ntddtape.h
IOCTL_TAPE_CREATE_PARTITION0x1fc028inc\api\ntddtape.hCreates the specified number of fixed, select, or initiator partition(s) of the given size on the media.
IOCTL_TAPE_EJECT_MEDIA0x1f4808inc\api\ntddtape.hEjects media from a SCSI device.
IOCTL_TAPE_ERASE0x1fc000inc\api\ntddtape.hErases 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_DEVICES0x74818inc\api\ntddtape.h
IOCTL_TAPE_GET_DRIVE_PARAMS0x1f4014inc\api\ntddtape.hReturns 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_PARAMS0x1f401cinc\api\ntddtape.hReturns 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_POSITION0x1f400cinc\api\ntddtape.hReturns the current absolute, logical, or pseudological partition and offset position on the tape.
IOCTL_TAPE_GET_STATUS0x1f4024inc\api\ntddtape.hReturns the current status of the drive in theStatusfield of the I/O status block.
IOCTL_TAPE_LOAD_MEDIA0x1f480cinc\api\ntddtape.hLoads media into a device.
IOCTL_TAPE_MEDIA_REMOVAL0x1f4804inc\api\ntddtape.hEnables or disables the mechanism that ejects media, for those devices possessing that locking capability.
IOCTL_TAPE_PREPARE0x1f4004inc\api\ntddtape.hLoads or unloads the tape, resets tape tension, locks or unlocks the ejection mechanism, or formats the tape.
IOCTL_TAPE_RELEASE0x1f4814inc\api\ntddtape.h
IOCTL_TAPE_RESERVE0x1f4810inc\api\ntddtape.h
IOCTL_TAPE_SET_DRIVE_PARAMS0x1fc018inc\api\ntddtape.hAdjusts 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_PARAMS0x1f4020inc\api\ntddtape.hResets the block size of the media in the drive.
IOCTL_TAPE_SET_POSITION0x1f4010inc\api\ntddtape.hMoves the current position on the tape to the specified partition and offset, according to the given method.
IOCTL_TAPE_WRITE_MARKS0x1fc008inc\api\ntddtape.hWrites one of setmarks, filemarks, short filemarks, or long filemarks to tape.
IOCTL_TCP_QUERY_INFORMATION_EX0x120003
IOCTL_TDI_ACCEPT0x210000inc\api\ntddtdi.h
IOCTL_TDI_ACTION0x210036inc\api\ntddtdi.h
IOCTL_TDI_ASSOCIATE_ADDRESS0x21002cinc\api\ntddtdi.h
IOCTL_TDI_CONNECT0x210004inc\api\ntddtdi.h
IOCTL_TDI_DISASSOCIATE_ADDRESS0x210030inc\api\ntddtdi.h
IOCTL_TDI_DISCONNECT0x210008inc\api\ntddtdi.h
IOCTL_TDI_LISTEN0x21000cinc\api\ntddtdi.h
IOCTL_TDI_MAGIC_BULLET0x2101ffinc\api\tdi.h
IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER0x210207inc\ddk\tdikrnl.h
IOCTL_TDI_QUERY_DIRECT_SEND_HANDLER0x210203inc\ddk\tdikrnl.h
IOCTL_TDI_QUERY_INFORMATION0x210012inc\api\ntddtdi.h
IOCTL_TDI_RECEIVE0x210016inc\api\ntddtdi.h
IOCTL_TDI_RECEIVE_DATAGRAM0x21001ainc\api\ntddtdi.h
IOCTL_TDI_SEND0x21001dinc\api\ntddtdi.hSpecifies 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_DATAGRAM0x210021inc\api\ntddtdi.h
IOCTL_TDI_SET_EVENT_HANDLER0x210024inc\api\ntddtdi.h
IOCTL_TDI_SET_INFORMATION0x210029inc\api\ntddtdi.h
IOCTL_TDI_TL_IO_CONTROL_ENDPOINT0x210038inc\api\tdiinfo.h
IOCTL_THERMAL_QUERY_INFORMATION0x294080inc\ddk\poclass.h
IOCTL_THERMAL_SET_COOLING_POLICY0x298084inc\ddk\poclass.h
IOCTL_USBPRINT_GET_1284_ID0x220034inc\ddk\usbprint.hThe 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_STATUS0x220030inc\ddk\usbprint.hThe 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_RESET0x220040inc\ddk\usbprint.hThe 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_COMMAND0x22003cinc\ddk\usbprint.hThe 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_COMMAND0x220038inc\ddk\usbprint.hThe 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_OFF0x220404inc\api\usbioctl.h
IOCTL_USB_DIAGNOSTIC_MODE_ON0x220400inc\api\usbioctl.hTheIOCTL_USB_DIAGNOSTIC_MODE_ONI/O control has been deprecated. Do not use.
IOCTL_USB_DIAG_IGNORE_HUBS_OFF0x22041cinc\api\usbioctl.hTheIOCTL_USB_DIAG_IGNORE_HUBS_OFFI/O control has been deprecated. Do not use.
IOCTL_USB_DIAG_IGNORE_HUBS_ON0x220418inc\api\usbioctl.hTheIOCTL_USB_DIAG_IGNORE_HUBS_ONI/O control has been deprecated. Do not use.
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION0x220410inc\api\usbioctl.hTheIOCTL_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_CAPABILITIES0x22043cinc\api\usbioctl.hTheIOCTL_USB_GET_HUB_CAPABILITIESI/O control request retrieves the capabilities of a USB hub.
IOCTL_USB_GET_HUB_CAPABILITIES_EX0x220450inc\api\usbioctl.hTheIOCTL_USB_GET_HUB_CAPABILITIES_EXI/O control request retrieves the capabilities of a USB hub.
IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES0x220440inc\api\usbioctl.hTheIOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTESI/O control request retrieves the Microsoft-extended port attributes for a specific port.
IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME0x220420inc\api\usbioctl.hTheIOCTL_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_INFORMATION0x22040cinc\api\usbioctl.hTheIOCTL_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_EX0x220448inc\api\usbioctl.hTheIOCTL_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_NAME0x220414inc\api\usbioctl.hTheIOCTL_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_INFORMATION0x220408inc\api\usbioctl.hTheIOCTL_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_NAME0x220408inc\api\usbioctl.hTheIOCTL_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_PORT0x220430inc\api\usbioctl.hTheIOCTL_USB_HCD_DISABLE_PORTIOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_ENABLE_PORT0x220434inc\api\usbioctl.hThis control code is not supported.
IOCTL_USB_HCD_GET_STATS_10x2203fcinc\api\usbioctl.hTheIOCTL_USB_HCD_GET_STATS_1IOCTL has been deprecated. Do not use.
IOCTL_USB_HCD_GET_STATS_20x220428inc\api\usbioctl.hTheIOCTL_USB_HCD_GET_STATS_2IOCTL has been deprecated. Do not use.
IOCTL_USB_HUB_CYCLE_PORT0x220444inc\api\usbioctl.hTheIOCTL_USB_HUB_CYCLE_PORTI/O control request power cycles the port that is associated with the PDO that receives the request.
IOCTL_USB_RESET_HUB0x22044cinc\api\usbioctl.hTheIOCTL_USB_RESET_HUBIOCTL is used by the USB driver stack. Do not use.
IOCTL_USB_USER_REQUEST0x220438inc\api\usbuser.hDo not use this request.
IOCTL_VIDEO_DISABLE_CURSOR0x230424inc\api\ntddvdeo.hMakes 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_POINTER0x23043cinc\api\ntddvdeo.hMakes the pointer invisible by disabling the pointer attributes. Support for this modal request is optional.
IOCTL_VIDEO_DISABLE_VDM0x230004inc\api\ntddvdeo.h
IOCTL_VIDEO_ENABLE_CURSOR0x230420inc\api\ntddvdeo.hMakes 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_POINTER0x230438inc\api\ntddvdeo.h
IOCTL_VIDEO_ENABLE_VDM0x230000inc\api\ntddvdeo.hThis IOCTL is not handled by video miniport drivers. It is handled entirely by the system-supplied video port driver.
IOCTL_VIDEO_ENUM_MONITOR_PDO0x230018inc\api\ntddvdeo.h
IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES0x230464inc\api\ntddvdeo.hReleases 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_CODE0x230454inc\api\ntddvdeo.hReturns 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_STATE0x230480inc\api\ntddvdeo.hDetermines 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_STATE0x230010inc\api\ntddvdeo.h
IOCTL_VIDEO_GET_POWER_MANAGEMENT0x230470inc\api\ntddvdeo.hThis 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_VIDEOPARAMETERS0x230020inc\api\ntddvdeo.hGets 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_CALLBACKS0x23001cinc\api\ntddvdeo.hThis IOCTL is for internal use only.
IOCTL_VIDEO_IS_VGA_DEVICE0x230024inc\api\ntddvdeo.h
IOCTL_VIDEO_LOAD_AND_SET_FONT0x230414inc\api\ntddvdeo.hLoads 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_MEMORY0x230458inc\api\ntddvdeo.hMaps 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_DEVICE0x230014inc\api\ntddvdeo.h
IOCTL_VIDEO_PREPARE_FOR_EARECOVERY0x23002cinc\api\ntddvdeo.hThis IOCTL is for internal use only.
IOCTL_VIDEO_QUERY_AVAIL_MODES0x230400inc\api\ntddvdeo.hReturns information about each video mode supported by the adapter. Miniport drivers are required to support this nonmodal request.
IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES0x230468inc\api\ntddvdeo.hReturns 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_MODE0x230408inc\api\ntddvdeo.hReturns information about the current adapter mode. Miniport drivers are required to support this modal request.
IOCTL_VIDEO_QUERY_CURSOR_ATTR0x23042cinc\api\ntddvdeo.hReturns 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_POSITION0x230434inc\api\ntddvdeo.hReturns 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_BRIGHTNESS0x230498inc\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_MODES0x230404inc\api\ntddvdeo.hReturns 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_ATTR0x230444inc\api\ntddvdeo.hReturns 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_CAPABILITIES0x230450inc\api\ntddvdeo.hReturns information about the adapter's "hardware cursor" features. Support for this modal request is optional.
IOCTL_VIDEO_QUERY_POINTER_POSITION0x23044cinc\api\ntddvdeo.hReturns the current position of the pointer. Support for this modal request is optional.
IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES0x230460inc\api\ntddvdeo.hReturns 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_BRIGHTNESS0x230494inc\api\ntddvdeo.hRetrieves the supported backlight levels.
IOCTL_VIDEO_REGISTER_VDM0x230008inc\api\ntddvdeo.h
IOCTL_VIDEO_RESET_DEVICE0x230410inc\api\ntddvdeo.hResets 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_STATE0x230204inc\api\ntddvdeo.hRestores 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_STATE0x230200inc\api\ntddvdeo.hSaves 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_POSITION0x230490inc\api\ntddvdeo.h
IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION0x230488inc\api\ntddvdeo.hPerforms 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_DATA0x23047cinc\api\ntddvdeo.h
IOCTL_VIDEO_SET_COLOR_REGISTERS0x23041cinc\api\ntddvdeo.hSets 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_MODE0x23040cinc\api\ntddvdeo.hSets 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_ATTR0x230428inc\api\ntddvdeo.hSets 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_POSITION0x230430inc\api\ntddvdeo.h
IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS0x23049cinc\api\ntddvdeo.hSets the current AC and DC backlight levels.
IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE0x23000cinc\api\ntddvdeo.h
IOCTL_VIDEO_SET_PALETTE_REGISTERS0x230418inc\api\ntddvdeo.hSets the current AC and DC backlight levels.
IOCTL_VIDEO_SET_POINTER_ATTR0x230440inc\api\ntddvdeo.hSets 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_POSITION0x230448inc\api\ntddvdeo.hSets 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_MANAGEMENT0x23046cinc\api\ntddvdeo.hThis 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_MEMORY0x230474inc\api\ntddvdeo.hThis 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_DUALVIEW0x23048cinc\api\ntddvdeo.hNotifies 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_MEMORY0x23045cinc\api\ntddvdeo.hReleases 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_MEMORY0x230478inc\api\ntddvdeo.h
IOCTL_VIDEO_USE_DEVICE_IN_SESSION0x230028inc\api\ntddvdeo.h
IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION0x230484inc\api\ntddvdeo.hQueries 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_WRITES0x53c000inc\ddk\ntifs.hThe 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_STREAM0x56c040inc\api\ntddvol.h
IOCTL_VOLUME_BC_VERSION0x1inc\api\ntddvol.h
IOCTL_VOLUME_FREE_BC_STREAM0x56c044inc\api\ntddvol.h
IOCTL_VOLUME_GET_BC_PROPERTIES0x56403cinc\api\ntddvol.h
IOCTL_VOLUME_GET_GPT_ATTRIBUTES0x560038inc\api\ntddvol.hRetrieves the attributes for a volume.
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS0x560000inc\api\ntddvol.hRetrieves the physical location of a specified volume on one or more disks.
IOCTL_VOLUME_IS_CLUSTERED0x560030inc\api\ntddvol.hDetermines whether the specified volume is clustered.
IOCTL_VOLUME_IS_DYNAMIC0x560048inc\api\ntddvol.h
IOCTL_VOLUME_IS_IO_CAPABLE0x560014inc\api\ntddvol.h
IOCTL_VOLUME_IS_OFFLINE0x560010inc\api\ntddvol.hTakes a volume offline.
IOCTL_VOLUME_IS_PARTITION0x560028inc\api\ntddvol.hEnlarges the specified partition.
IOCTL_VOLUME_LOGICAL_TO_PHYSICAL0x560020inc\api\ntddvol.hReturns physical offsets and physical disk numbers for a given volume logical offset.
IOCTL_VOLUME_OFFLINE0x56c00cinc\api\ntddvol.hTakes a volume offline.
IOCTL_VOLUME_ONLINE0x56c008inc\api\ntddvol.hBrings a volume online.
IOCTL_VOLUME_PHYSICAL_TO_LOGICAL0x560024inc\api\ntddvol.hReturns the logical offset corresponding to a physical disk number and a physical offset.
IOCTL_VOLUME_PREPARE_FOR_CRITICAL_IO0x56c04cinc\api\ntddvol.h
IOCTL_VOLUME_PREPARE_FOR_SHRINK0x56c05cinc\api\ntddvol.h
IOCTL_VOLUME_QUERY_ALLOCATION_HINT0x564052inc\api\ntddvol.h
IOCTL_VOLUME_QUERY_FAILOVER_SET0x560018inc\api\ntddvol.h
IOCTL_VOLUME_QUERY_MINIMUM_SHRINK_SIZE0x564058inc\api\ntddvol.h
IOCTL_VOLUME_QUERY_VOLUME_NUMBER0x56001cinc\api\ntddvol.h
IOCTL_VOLUME_READ_PLEX0x56402einc\api\ntddvol.h
IOCTL_VOLUME_SET_GPT_ATTRIBUTES0x560034inc\api\ntddvol.h
IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE0x560004inc\api\ntddvol.h
IOCTL_VOLUME_UPDATE_PROPERTIES0x560054inc\api\ntddvol.hInvalidates the cached partition table and re-enumerates the device.
IOCTL_WAIT_ON_DEVICE_EVENT0x80002008inc\ddk\usbscan.hTo properly set up your WIA driver to report interrupt events, do the following:
IOCTL_WMP_DEVICE_CAN_SYNC0x32504d57
IOCTL_WMP_METADATA_ROUND_TRIP0x31504d57
IOCTL_WPD_MESSAGE_READWRITE_ACCESS0x40c108inc\ddk\portabledevice.h
IOCTL_WPD_MESSAGE_READ_ACCESS0x404108inc\ddk\portabledevice.h
IOCTL_WRITE_REGISTERS0x80002010inc\ddk\usbscan.hWrites to USB device registers, using the control pipe.