ReactOS  0.4.14-dev-297-g23e575c
ntddchgr.h File Reference
#include "ntddstor.h"
Include dependency graph for ntddchgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _CHANGER_ELEMENT
 
struct  _CHANGER_ELEMENT_LIST
 
struct  _GET_CHANGER_PARAMETERS
 
struct  _CHANGER_PRODUCT_DATA
 
struct  _CHANGER_SET_ACCESS
 
struct  _CHANGER_READ_ELEMENT_STATUS
 
struct  _CHANGER_ELEMENT_STATUS
 
struct  _CHANGER_ELEMENT_STATUS_EX
 
struct  _CHANGER_INITIALIZE_ELEMENT_STATUS
 
struct  _CHANGER_SET_POSITION
 
struct  _CHANGER_EXCHANGE_MEDIUM
 
struct  _CHANGER_MOVE_MEDIUM
 
struct  _CHANGER_SEND_VOLUME_TAG_INFORMATION
 
struct  READ_ELEMENT_ADDRESS_INFO
 

Macros

#define DD_CHANGER_DEVICE_NAME   "\\Device\\Changer"
 
#define DD_CHANGER_DEVICE_NAME_U   L"\\Device\\Changer"
 
#define IOCTL_CHANGER_BASE   FILE_DEVICE_CHANGER
 
#define IOCTL_CHANGER_EXCHANGE_MEDIUM   CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_GET_ELEMENT_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
 
#define IOCTL_CHANGER_GET_PARAMETERS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_GET_PRODUCT_DATA   CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_GET_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_MOVE_MEDIUM   CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_QUERY_VOLUME_TAGS   CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
 
#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT   CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_CHANGER_SET_ACCESS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
 
#define IOCTL_CHANGER_SET_POSITION   CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define MAX_VOLUME_ID_SIZE   36
 
#define MAX_VOLUME_TEMPLATE_SIZE   40
 
#define VENDOR_ID_LENGTH   8
 
#define PRODUCT_ID_LENGTH   16
 
#define REVISION_LENGTH   4
 
#define SERIAL_NUMBER_LENGTH   32
 
#define CHANGER_BAR_CODE_SCANNER_INSTALLED   0x00000001
 
#define CHANGER_INIT_ELEM_STAT_WITH_RANGE   0x00000002
 
#define CHANGER_CLOSE_IEPORT   0x00000004
 
#define CHANGER_OPEN_IEPORT   0x00000008
 
#define CHANGER_STATUS_NON_VOLATILE   0x00000010
 
#define CHANGER_EXCHANGE_MEDIA   0x00000020
 
#define CHANGER_CLEANER_SLOT   0x00000040
 
#define CHANGER_LOCK_UNLOCK   0x00000080
 
#define CHANGER_CARTRIDGE_MAGAZINE   0x00000100
 
#define CHANGER_MEDIUM_FLIP   0x00000200
 
#define CHANGER_POSITION_TO_ELEMENT   0x00000400
 
#define CHANGER_REPORT_IEPORT_STATE   0x00000800
 
#define CHANGER_STORAGE_DRIVE   0x00001000
 
#define CHANGER_STORAGE_IEPORT   0x00002000
 
#define CHANGER_STORAGE_SLOT   0x00004000
 
#define CHANGER_STORAGE_TRANSPORT   0x00008000
 
#define CHANGER_DRIVE_CLEANING_REQUIRED   0x00010000
 
#define CHANGER_PREDISMOUNT_EJECT_REQUIRED   0x00020000
 
#define CHANGER_CLEANER_ACCESS_NOT_VALID   0x00040000
 
#define CHANGER_PREMOUNT_EJECT_REQUIRED   0x00080000
 
#define CHANGER_VOLUME_IDENTIFICATION   0x00100000
 
#define CHANGER_VOLUME_SEARCH   0x00200000
 
#define CHANGER_VOLUME_ASSERT   0x00400000
 
#define CHANGER_VOLUME_REPLACE   0x00800000
 
#define CHANGER_VOLUME_UNDEFINE   0x01000000
 
#define CHANGER_SERIAL_NUMBER_VALID   0x04000000
 
#define CHANGER_DEVICE_REINITIALIZE_CAPABLE   0x08000000
 
#define CHANGER_KEYPAD_ENABLE_DISABLE   0x10000000
 
#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS   0x20000000
 
#define CHANGER_RESERVED_BIT   0x80000000
 
#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT   0x80000001
 
#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE   0x80000002
 
#define CHANGER_CLEANER_AUTODISMOUNT   0x80000004
 
#define CHANGER_TRUE_EXCHANGE_CAPABLE   0x80000008
 
#define CHANGER_SLOTS_USE_TRAYS   0x80000010
 
#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR   0x80000020
 
#define CHANGER_CLEANER_OPS_NOT_SUPPORTED   0x80000040
 
#define CHANGER_IEPORT_USER_CONTROL_OPEN   0x80000080
 
#define CHANGER_IEPORT_USER_CONTROL_CLOSE   0x80000100
 
#define CHANGER_MOVE_EXTENDS_IEPORT   0x80000200
 
#define CHANGER_MOVE_RETRACTS_IEPORT   0x80000400
 
#define CHANGER_TO_TRANSPORT   0x01
 
#define CHANGER_TO_SLOT   0x02
 
#define CHANGER_TO_IEPORT   0x04
 
#define CHANGER_TO_DRIVE   0x08
 
#define LOCK_UNLOCK_IEPORT   0x01
 
#define LOCK_UNLOCK_DOOR   0x02
 
#define LOCK_UNLOCK_KEYPAD   0x04
 
#define LOCK_ELEMENT   0
 
#define UNLOCK_ELEMENT   1
 
#define EXTEND_IEPORT   2
 
#define RETRACT_IEPORT   3
 
#define ELEMENT_STATUS_FULL   0x00000001
 
#define ELEMENT_STATUS_IMPEXP   0x00000002
 
#define ELEMENT_STATUS_EXCEPT   0x00000004
 
#define ELEMENT_STATUS_ACCESS   0x00000008
 
#define ELEMENT_STATUS_EXENAB   0x00000010
 
#define ELEMENT_STATUS_INENAB   0x00000020
 
#define ELEMENT_STATUS_PRODUCT_DATA   0x00000040
 
#define ELEMENT_STATUS_LUN_VALID   0x00001000
 
#define ELEMENT_STATUS_ID_VALID   0x00002000
 
#define ELEMENT_STATUS_NOT_BUS   0x00008000
 
#define ELEMENT_STATUS_INVERT   0x00400000
 
#define ELEMENT_STATUS_SVALID   0x00800000
 
#define ELEMENT_STATUS_PVOLTAG   0x10000000
 
#define ELEMENT_STATUS_AVOLTAG   0x20000000
 
#define ERROR_LABEL_UNREADABLE   0x00000001
 
#define ERROR_LABEL_QUESTIONABLE   0x00000002
 
#define ERROR_SLOT_NOT_PRESENT   0x00000004
 
#define ERROR_DRIVE_NOT_INSTALLED   0x00000008
 
#define ERROR_TRAY_MALFUNCTION   0x00000010
 
#define ERROR_INIT_STATUS_NEEDED   0x00000011
 
#define ERROR_UNHANDLED_ERROR   0xFFFFFFFF
 
#define SEARCH_ALL   0x0
 
#define SEARCH_PRIMARY   0x1
 
#define SEARCH_ALTERNATE   0x2
 
#define SEARCH_ALL_NO_SEQ   0x4
 
#define SEARCH_PRI_NO_SEQ   0x5
 
#define SEARCH_ALT_NO_SEQ   0x6
 
#define ASSERT_PRIMARY   0x8
 
#define ASSERT_ALTERNATE   0x9
 
#define REPLACE_PRIMARY   0xA
 
#define REPLACE_ALTERNATE   0xB
 
#define UNDEFINE_PRIMARY   0xC
 
#define UNDEFINE_ALTERNATE   0xD
 

Typedefs

typedef enum _ELEMENT_TYPE ELEMENT_TYPE
 
typedef enum _ELEMENT_TYPEPELEMENT_TYPE
 
typedef struct _CHANGER_ELEMENT CHANGER_ELEMENT
 
typedef struct _CHANGER_ELEMENTPCHANGER_ELEMENT
 
typedef struct _CHANGER_ELEMENT_LIST CHANGER_ELEMENT_LIST
 
typedef struct _CHANGER_ELEMENT_LISTPCHANGER_ELEMENT_LIST
 
typedef struct _GET_CHANGER_PARAMETERS GET_CHANGER_PARAMETERS
 
typedef struct _GET_CHANGER_PARAMETERSPGET_CHANGER_PARAMETERS
 
typedef struct _CHANGER_PRODUCT_DATA CHANGER_PRODUCT_DATA
 
typedef struct _CHANGER_PRODUCT_DATAPCHANGER_PRODUCT_DATA
 
typedef struct _CHANGER_SET_ACCESS CHANGER_SET_ACCESS
 
typedef struct _CHANGER_SET_ACCESSPCHANGER_SET_ACCESS
 
typedef struct _CHANGER_READ_ELEMENT_STATUS CHANGER_READ_ELEMENT_STATUS
 
typedef struct _CHANGER_READ_ELEMENT_STATUSPCHANGER_READ_ELEMENT_STATUS
 
typedef struct _CHANGER_ELEMENT_STATUS CHANGER_ELEMENT_STATUS
 
typedef struct _CHANGER_ELEMENT_STATUSPCHANGER_ELEMENT_STATUS
 
typedef struct _CHANGER_ELEMENT_STATUS_EX CHANGER_ELEMENT_STATUS_EX
 
typedef struct _CHANGER_ELEMENT_STATUS_EXPCHANGER_ELEMENT_STATUS_EX
 
typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS CHANGER_INITIALIZE_ELEMENT_STATUS
 
typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUSPCHANGER_INITIALIZE_ELEMENT_STATUS
 
typedef struct _CHANGER_SET_POSITION CHANGER_SET_POSITION
 
typedef struct _CHANGER_SET_POSITIONPCHANGER_SET_POSITION
 
typedef struct _CHANGER_EXCHANGE_MEDIUM CHANGER_EXCHANGE_MEDIUM
 
typedef struct _CHANGER_EXCHANGE_MEDIUMPCHANGER_EXCHANGE_MEDIUM
 
typedef struct _CHANGER_MOVE_MEDIUM CHANGER_MOVE_MEDIUM
 
typedef struct _CHANGER_MOVE_MEDIUMPCHANGER_MOVE_MEDIUM
 
typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION CHANGER_SEND_VOLUME_TAG_INFORMATION
 
typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATIONPCHANGER_SEND_VOLUME_TAG_INFORMATION
 
typedef struct READ_ELEMENT_ADDRESS_INFO READ_ELEMENT_ADDRESS_INFO
 
typedef struct READ_ELEMENT_ADDRESS_INFOPREAD_ELEMENT_ADDRESS_INFO
 
typedef enum _CHANGER_DEVICE_PROBLEM_TYPE CHANGER_DEVICE_PROBLEM_TYPE
 
typedef enum _CHANGER_DEVICE_PROBLEM_TYPEPCHANGER_DEVICE_PROBLEM_TYPE
 

Enumerations

enum  _ELEMENT_TYPE {
  AllElements, ChangerTransport, ChangerSlot, ChangerIEPort,
  ChangerDrive, ChangerDoor, ChangerKeypad, ChangerMaxElement
}
 
enum  _CHANGER_DEVICE_PROBLEM_TYPE {
  DeviceProblemNone, DeviceProblemHardware, DeviceProblemCHMError, DeviceProblemDoorOpen,
  DeviceProblemCalibrationError, DeviceProblemTargetFailure, DeviceProblemCHMMoveError, DeviceProblemCHMZeroError,
  DeviceProblemCartridgeInsertError, DeviceProblemPositionError, DeviceProblemSensorError, DeviceProblemCartridgeEjectError,
  DeviceProblemGripperError, DeviceProblemDriveError
}
 

Macro Definition Documentation

◆ ASSERT_ALTERNATE

#define ASSERT_ALTERNATE   0x9

Definition at line 172 of file ntddchgr.h.

◆ ASSERT_PRIMARY

#define ASSERT_PRIMARY   0x8

Definition at line 171 of file ntddchgr.h.

◆ CHANGER_BAR_CODE_SCANNER_INSTALLED

#define CHANGER_BAR_CODE_SCANNER_INSTALLED   0x00000001

Definition at line 78 of file ntddchgr.h.

◆ CHANGER_CARTRIDGE_MAGAZINE

#define CHANGER_CARTRIDGE_MAGAZINE   0x00000100

Definition at line 86 of file ntddchgr.h.

◆ CHANGER_CLEANER_ACCESS_NOT_VALID

#define CHANGER_CLEANER_ACCESS_NOT_VALID   0x00040000

Definition at line 96 of file ntddchgr.h.

◆ CHANGER_CLEANER_AUTODISMOUNT

#define CHANGER_CLEANER_AUTODISMOUNT   0x80000004

Definition at line 112 of file ntddchgr.h.

◆ CHANGER_CLEANER_OPS_NOT_SUPPORTED

#define CHANGER_CLEANER_OPS_NOT_SUPPORTED   0x80000040

Definition at line 116 of file ntddchgr.h.

◆ CHANGER_CLEANER_SLOT

#define CHANGER_CLEANER_SLOT   0x00000040

Definition at line 84 of file ntddchgr.h.

◆ CHANGER_CLOSE_IEPORT

#define CHANGER_CLOSE_IEPORT   0x00000004

Definition at line 80 of file ntddchgr.h.

◆ CHANGER_DEVICE_REINITIALIZE_CAPABLE

#define CHANGER_DEVICE_REINITIALIZE_CAPABLE   0x08000000

Definition at line 104 of file ntddchgr.h.

◆ CHANGER_DRIVE_CLEANING_REQUIRED

#define CHANGER_DRIVE_CLEANING_REQUIRED   0x00010000

Definition at line 94 of file ntddchgr.h.

◆ CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS

#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS   0x20000000

Definition at line 106 of file ntddchgr.h.

◆ CHANGER_EXCHANGE_MEDIA

#define CHANGER_EXCHANGE_MEDIA   0x00000020

Definition at line 83 of file ntddchgr.h.

◆ CHANGER_IEPORT_USER_CONTROL_CLOSE

#define CHANGER_IEPORT_USER_CONTROL_CLOSE   0x80000100

Definition at line 118 of file ntddchgr.h.

◆ CHANGER_IEPORT_USER_CONTROL_OPEN

#define CHANGER_IEPORT_USER_CONTROL_OPEN   0x80000080

Definition at line 117 of file ntddchgr.h.

◆ CHANGER_INIT_ELEM_STAT_WITH_RANGE

#define CHANGER_INIT_ELEM_STAT_WITH_RANGE   0x00000002

Definition at line 79 of file ntddchgr.h.

◆ CHANGER_KEYPAD_ENABLE_DISABLE

#define CHANGER_KEYPAD_ENABLE_DISABLE   0x10000000

Definition at line 105 of file ntddchgr.h.

◆ CHANGER_LOCK_UNLOCK

#define CHANGER_LOCK_UNLOCK   0x00000080

Definition at line 85 of file ntddchgr.h.

◆ CHANGER_MEDIUM_FLIP

#define CHANGER_MEDIUM_FLIP   0x00000200

Definition at line 87 of file ntddchgr.h.

◆ CHANGER_MOVE_EXTENDS_IEPORT

#define CHANGER_MOVE_EXTENDS_IEPORT   0x80000200

Definition at line 119 of file ntddchgr.h.

◆ CHANGER_MOVE_RETRACTS_IEPORT

#define CHANGER_MOVE_RETRACTS_IEPORT   0x80000400

Definition at line 120 of file ntddchgr.h.

◆ CHANGER_OPEN_IEPORT

#define CHANGER_OPEN_IEPORT   0x00000008

Definition at line 81 of file ntddchgr.h.

◆ CHANGER_POSITION_TO_ELEMENT

#define CHANGER_POSITION_TO_ELEMENT   0x00000400

Definition at line 88 of file ntddchgr.h.

◆ CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE

#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE   0x80000002

Definition at line 111 of file ntddchgr.h.

◆ CHANGER_PREDISMOUNT_ALIGN_TO_SLOT

#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT   0x80000001

Definition at line 110 of file ntddchgr.h.

◆ CHANGER_PREDISMOUNT_EJECT_REQUIRED

#define CHANGER_PREDISMOUNT_EJECT_REQUIRED   0x00020000

Definition at line 95 of file ntddchgr.h.

◆ CHANGER_PREMOUNT_EJECT_REQUIRED

#define CHANGER_PREMOUNT_EJECT_REQUIRED   0x00080000

Definition at line 97 of file ntddchgr.h.

◆ CHANGER_REPORT_IEPORT_STATE

#define CHANGER_REPORT_IEPORT_STATE   0x00000800

Definition at line 89 of file ntddchgr.h.

◆ CHANGER_RESERVED_BIT

#define CHANGER_RESERVED_BIT   0x80000000

Definition at line 107 of file ntddchgr.h.

◆ CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR

#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR   0x80000020

Definition at line 115 of file ntddchgr.h.

◆ CHANGER_SERIAL_NUMBER_VALID

#define CHANGER_SERIAL_NUMBER_VALID   0x04000000

Definition at line 103 of file ntddchgr.h.

◆ CHANGER_SLOTS_USE_TRAYS

#define CHANGER_SLOTS_USE_TRAYS   0x80000010

Definition at line 114 of file ntddchgr.h.

◆ CHANGER_STATUS_NON_VOLATILE

#define CHANGER_STATUS_NON_VOLATILE   0x00000010

Definition at line 82 of file ntddchgr.h.

◆ CHANGER_STORAGE_DRIVE

#define CHANGER_STORAGE_DRIVE   0x00001000

Definition at line 90 of file ntddchgr.h.

◆ CHANGER_STORAGE_IEPORT

#define CHANGER_STORAGE_IEPORT   0x00002000

Definition at line 91 of file ntddchgr.h.

◆ CHANGER_STORAGE_SLOT

#define CHANGER_STORAGE_SLOT   0x00004000

Definition at line 92 of file ntddchgr.h.

◆ CHANGER_STORAGE_TRANSPORT

#define CHANGER_STORAGE_TRANSPORT   0x00008000

Definition at line 93 of file ntddchgr.h.

◆ CHANGER_TO_DRIVE

#define CHANGER_TO_DRIVE   0x08

Definition at line 126 of file ntddchgr.h.

◆ CHANGER_TO_IEPORT

#define CHANGER_TO_IEPORT   0x04

Definition at line 125 of file ntddchgr.h.

◆ CHANGER_TO_SLOT

#define CHANGER_TO_SLOT   0x02

Definition at line 124 of file ntddchgr.h.

◆ CHANGER_TO_TRANSPORT

#define CHANGER_TO_TRANSPORT   0x01

Definition at line 123 of file ntddchgr.h.

◆ CHANGER_TRUE_EXCHANGE_CAPABLE

#define CHANGER_TRUE_EXCHANGE_CAPABLE   0x80000008

Definition at line 113 of file ntddchgr.h.

◆ CHANGER_VOLUME_ASSERT

#define CHANGER_VOLUME_ASSERT   0x00400000

Definition at line 100 of file ntddchgr.h.

◆ CHANGER_VOLUME_IDENTIFICATION

#define CHANGER_VOLUME_IDENTIFICATION   0x00100000

Definition at line 98 of file ntddchgr.h.

◆ CHANGER_VOLUME_REPLACE

#define CHANGER_VOLUME_REPLACE   0x00800000

Definition at line 101 of file ntddchgr.h.

◆ CHANGER_VOLUME_SEARCH

#define CHANGER_VOLUME_SEARCH   0x00200000

Definition at line 99 of file ntddchgr.h.

◆ CHANGER_VOLUME_UNDEFINE

#define CHANGER_VOLUME_UNDEFINE   0x01000000

Definition at line 102 of file ntddchgr.h.

◆ DD_CHANGER_DEVICE_NAME

#define DD_CHANGER_DEVICE_NAME   "\\Device\\Changer"

Definition at line 31 of file ntddchgr.h.

◆ DD_CHANGER_DEVICE_NAME_U

#define DD_CHANGER_DEVICE_NAME_U   L"\\Device\\Changer"

Definition at line 32 of file ntddchgr.h.

◆ ELEMENT_STATUS_ACCESS

#define ELEMENT_STATUS_ACCESS   0x00000008

Definition at line 143 of file ntddchgr.h.

◆ ELEMENT_STATUS_AVOLTAG

#define ELEMENT_STATUS_AVOLTAG   0x20000000

Definition at line 153 of file ntddchgr.h.

◆ ELEMENT_STATUS_EXCEPT

#define ELEMENT_STATUS_EXCEPT   0x00000004

Definition at line 142 of file ntddchgr.h.

◆ ELEMENT_STATUS_EXENAB

#define ELEMENT_STATUS_EXENAB   0x00000010

Definition at line 144 of file ntddchgr.h.

◆ ELEMENT_STATUS_FULL

#define ELEMENT_STATUS_FULL   0x00000001

Definition at line 140 of file ntddchgr.h.

◆ ELEMENT_STATUS_ID_VALID

#define ELEMENT_STATUS_ID_VALID   0x00002000

Definition at line 148 of file ntddchgr.h.

◆ ELEMENT_STATUS_IMPEXP

#define ELEMENT_STATUS_IMPEXP   0x00000002

Definition at line 141 of file ntddchgr.h.

◆ ELEMENT_STATUS_INENAB

#define ELEMENT_STATUS_INENAB   0x00000020

Definition at line 145 of file ntddchgr.h.

◆ ELEMENT_STATUS_INVERT

#define ELEMENT_STATUS_INVERT   0x00400000

Definition at line 150 of file ntddchgr.h.

◆ ELEMENT_STATUS_LUN_VALID

#define ELEMENT_STATUS_LUN_VALID   0x00001000

Definition at line 147 of file ntddchgr.h.

◆ ELEMENT_STATUS_NOT_BUS

#define ELEMENT_STATUS_NOT_BUS   0x00008000

Definition at line 149 of file ntddchgr.h.

◆ ELEMENT_STATUS_PRODUCT_DATA

#define ELEMENT_STATUS_PRODUCT_DATA   0x00000040

Definition at line 146 of file ntddchgr.h.

◆ ELEMENT_STATUS_PVOLTAG

#define ELEMENT_STATUS_PVOLTAG   0x10000000

Definition at line 152 of file ntddchgr.h.

◆ ELEMENT_STATUS_SVALID

#define ELEMENT_STATUS_SVALID   0x00800000

Definition at line 151 of file ntddchgr.h.

◆ ERROR_DRIVE_NOT_INSTALLED

#define ERROR_DRIVE_NOT_INSTALLED   0x00000008

Definition at line 159 of file ntddchgr.h.

◆ ERROR_INIT_STATUS_NEEDED

#define ERROR_INIT_STATUS_NEEDED   0x00000011

Definition at line 161 of file ntddchgr.h.

◆ ERROR_LABEL_QUESTIONABLE

#define ERROR_LABEL_QUESTIONABLE   0x00000002

Definition at line 157 of file ntddchgr.h.

◆ ERROR_LABEL_UNREADABLE

#define ERROR_LABEL_UNREADABLE   0x00000001

Definition at line 156 of file ntddchgr.h.

◆ ERROR_SLOT_NOT_PRESENT

#define ERROR_SLOT_NOT_PRESENT   0x00000004

Definition at line 158 of file ntddchgr.h.

◆ ERROR_TRAY_MALFUNCTION

#define ERROR_TRAY_MALFUNCTION   0x00000010

Definition at line 160 of file ntddchgr.h.

◆ ERROR_UNHANDLED_ERROR

#define ERROR_UNHANDLED_ERROR   0xFFFFFFFF

Definition at line 162 of file ntddchgr.h.

◆ EXTEND_IEPORT

#define EXTEND_IEPORT   2

Definition at line 136 of file ntddchgr.h.

◆ IOCTL_CHANGER_BASE

#define IOCTL_CHANGER_BASE   FILE_DEVICE_CHANGER

Definition at line 34 of file ntddchgr.h.

◆ IOCTL_CHANGER_EXCHANGE_MEDIUM

#define IOCTL_CHANGER_EXCHANGE_MEDIUM   CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 36 of file ntddchgr.h.

◆ IOCTL_CHANGER_GET_ELEMENT_STATUS

#define IOCTL_CHANGER_GET_ELEMENT_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

Definition at line 39 of file ntddchgr.h.

◆ IOCTL_CHANGER_GET_PARAMETERS

#define IOCTL_CHANGER_GET_PARAMETERS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 42 of file ntddchgr.h.

◆ IOCTL_CHANGER_GET_PRODUCT_DATA

#define IOCTL_CHANGER_GET_PRODUCT_DATA   CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 45 of file ntddchgr.h.

◆ IOCTL_CHANGER_GET_STATUS

#define IOCTL_CHANGER_GET_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 48 of file ntddchgr.h.

◆ IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS

#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 51 of file ntddchgr.h.

◆ IOCTL_CHANGER_MOVE_MEDIUM

#define IOCTL_CHANGER_MOVE_MEDIUM   CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 54 of file ntddchgr.h.

◆ IOCTL_CHANGER_QUERY_VOLUME_TAGS

#define IOCTL_CHANGER_QUERY_VOLUME_TAGS   CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

Definition at line 57 of file ntddchgr.h.

◆ IOCTL_CHANGER_REINITIALIZE_TRANSPORT

#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT   CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 60 of file ntddchgr.h.

◆ IOCTL_CHANGER_SET_ACCESS

#define IOCTL_CHANGER_SET_ACCESS   CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

Definition at line 63 of file ntddchgr.h.

◆ IOCTL_CHANGER_SET_POSITION

#define IOCTL_CHANGER_SET_POSITION   CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 66 of file ntddchgr.h.

◆ LOCK_ELEMENT

#define LOCK_ELEMENT   0

Definition at line 134 of file ntddchgr.h.

◆ LOCK_UNLOCK_DOOR

#define LOCK_UNLOCK_DOOR   0x02

Definition at line 130 of file ntddchgr.h.

◆ LOCK_UNLOCK_IEPORT

#define LOCK_UNLOCK_IEPORT   0x01

Definition at line 129 of file ntddchgr.h.

◆ LOCK_UNLOCK_KEYPAD

#define LOCK_UNLOCK_KEYPAD   0x04

Definition at line 131 of file ntddchgr.h.

◆ MAX_VOLUME_ID_SIZE

#define MAX_VOLUME_ID_SIZE   36

Definition at line 69 of file ntddchgr.h.

◆ MAX_VOLUME_TEMPLATE_SIZE

#define MAX_VOLUME_TEMPLATE_SIZE   40

Definition at line 70 of file ntddchgr.h.

◆ PRODUCT_ID_LENGTH

#define PRODUCT_ID_LENGTH   16

Definition at line 73 of file ntddchgr.h.

◆ REPLACE_ALTERNATE

#define REPLACE_ALTERNATE   0xB

Definition at line 174 of file ntddchgr.h.

◆ REPLACE_PRIMARY

#define REPLACE_PRIMARY   0xA

Definition at line 173 of file ntddchgr.h.

◆ RETRACT_IEPORT

#define RETRACT_IEPORT   3

Definition at line 137 of file ntddchgr.h.

◆ REVISION_LENGTH

#define REVISION_LENGTH   4

Definition at line 74 of file ntddchgr.h.

◆ SEARCH_ALL

#define SEARCH_ALL   0x0

Definition at line 165 of file ntddchgr.h.

◆ SEARCH_ALL_NO_SEQ

#define SEARCH_ALL_NO_SEQ   0x4

Definition at line 168 of file ntddchgr.h.

◆ SEARCH_ALT_NO_SEQ

#define SEARCH_ALT_NO_SEQ   0x6

Definition at line 170 of file ntddchgr.h.

◆ SEARCH_ALTERNATE

#define SEARCH_ALTERNATE   0x2

Definition at line 167 of file ntddchgr.h.

◆ SEARCH_PRI_NO_SEQ

#define SEARCH_PRI_NO_SEQ   0x5

Definition at line 169 of file ntddchgr.h.

◆ SEARCH_PRIMARY

#define SEARCH_PRIMARY   0x1

Definition at line 166 of file ntddchgr.h.

◆ SERIAL_NUMBER_LENGTH

#define SERIAL_NUMBER_LENGTH   32

Definition at line 75 of file ntddchgr.h.

◆ UNDEFINE_ALTERNATE

#define UNDEFINE_ALTERNATE   0xD

Definition at line 176 of file ntddchgr.h.

◆ UNDEFINE_PRIMARY

#define UNDEFINE_PRIMARY   0xC

Definition at line 175 of file ntddchgr.h.

◆ UNLOCK_ELEMENT

#define UNLOCK_ELEMENT   1

Definition at line 135 of file ntddchgr.h.

◆ VENDOR_ID_LENGTH

#define VENDOR_ID_LENGTH   8

Definition at line 72 of file ntddchgr.h.

Typedef Documentation

◆ CHANGER_DEVICE_PROBLEM_TYPE

◆ CHANGER_ELEMENT

◆ CHANGER_ELEMENT_LIST

◆ CHANGER_ELEMENT_STATUS

◆ CHANGER_ELEMENT_STATUS_EX

◆ CHANGER_EXCHANGE_MEDIUM

◆ CHANGER_INITIALIZE_ELEMENT_STATUS

◆ CHANGER_MOVE_MEDIUM

◆ CHANGER_PRODUCT_DATA

◆ CHANGER_READ_ELEMENT_STATUS

◆ CHANGER_SEND_VOLUME_TAG_INFORMATION

◆ CHANGER_SET_ACCESS

◆ CHANGER_SET_POSITION

◆ ELEMENT_TYPE

◆ GET_CHANGER_PARAMETERS

◆ PCHANGER_DEVICE_PROBLEM_TYPE

◆ PCHANGER_ELEMENT

◆ PCHANGER_ELEMENT_LIST

◆ PCHANGER_ELEMENT_STATUS

◆ PCHANGER_ELEMENT_STATUS_EX

◆ PCHANGER_EXCHANGE_MEDIUM

◆ PCHANGER_INITIALIZE_ELEMENT_STATUS

◆ PCHANGER_MOVE_MEDIUM

◆ PCHANGER_PRODUCT_DATA

◆ PCHANGER_READ_ELEMENT_STATUS

◆ PCHANGER_SEND_VOLUME_TAG_INFORMATION

◆ PCHANGER_SET_ACCESS

◆ PCHANGER_SET_POSITION

◆ PELEMENT_TYPE

◆ PGET_CHANGER_PARAMETERS

◆ PREAD_ELEMENT_ADDRESS_INFO

◆ READ_ELEMENT_ADDRESS_INFO

Enumeration Type Documentation

◆ _CHANGER_DEVICE_PROBLEM_TYPE

Enumerator
DeviceProblemNone 
DeviceProblemHardware 
DeviceProblemCHMError 
DeviceProblemDoorOpen 
DeviceProblemCalibrationError 
DeviceProblemTargetFailure 
DeviceProblemCHMMoveError 
DeviceProblemCHMZeroError 
DeviceProblemCartridgeInsertError 
DeviceProblemPositionError 
DeviceProblemSensorError 
DeviceProblemCartridgeEjectError 
DeviceProblemGripperError 
DeviceProblemDriveError 

Definition at line 313 of file ntddchgr.h.

◆ _ELEMENT_TYPE

Enumerator
AllElements 
ChangerTransport 
ChangerSlot 
ChangerIEPort 
ChangerDrive 
ChangerDoor 
ChangerKeypad 
ChangerMaxElement 

Definition at line 178 of file ntddchgr.h.

178  {
179  AllElements,
181  ChangerSlot,
183  ChangerDrive,
184  ChangerDoor,
enum _ELEMENT_TYPE ELEMENT_TYPE
enum _ELEMENT_TYPE * PELEMENT_TYPE