// ntddchgr.h
// CTL_CODE(0x0030, 0x008, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_CHANGER_EXCHANGE_MEDIUM 0x00304020
View the official Windows Driver Kit DDI reference// winioctl.h
// CTL_CODE(0x0030, 0x008, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_CHANGER_EXCHANGE_MEDIUM 0x00304020
View the official Win32 API referenceNo description available.
Moves a piece of media from a source element to one destination and the piece of media originally in the first destination to a second destination. The source and second destination are often the same, which essentially swaps the two pieces of media.
The buffer at Irp->AssociatedIrp.SystemBuffer contains the CHANGER_EXCHANGE_MEDIUM data, which indicates the source, both destinations, and whether either or both media should be flipped, assuming the device supports two-sided media.
Parameters.DeviceIoControl.InputBufferLength in the I/O stack location indicates the size, in bytes, of the parameter buffer, which must be >= sizeof(CHANGER_EXCHANGE_MEDIUM).
None.
None.
The Information field is set to zero. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_DESTINATION_ELEMENT_FULL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_ELEMENT_ADDRESS, STATUS_INVALID_PARAMETER, or STATUS_SOURCE_ELEMENT_EMPTY.
Moves a piece of media from a source element to one destination, and the piece of media originally in the first destination to a second destination.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_CHANGER_EXCHANGE_MEDIUM, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.
Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.
To swap two pieces of media, specify the source as the value for the second destination.