다음을 통해 공유


GET_CHANGER_PARAMETERS 구조체(winioctl.h)

변경자의 매개 변수를 나타냅니다.

구문

typedef struct _GET_CHANGER_PARAMETERS {
  DWORD Size;
  WORD  NumberTransportElements;
  WORD  NumberStorageElements;
  WORD  NumberCleanerSlots;
  WORD  NumberIEElements;
  WORD  NumberDataTransferElements;
  WORD  NumberOfDoors;
  WORD  FirstSlotNumber;
  WORD  FirstDriveNumber;
  WORD  FirstTransportNumber;
  WORD  FirstIEPortNumber;
  WORD  FirstCleanerSlotAddress;
  WORD  MagazineSize;
  DWORD DriveCleanTimeout;
  DWORD Features0;
  DWORD Features1;
  BYTE  MoveFromTransport;
  BYTE  MoveFromSlot;
  BYTE  MoveFromIePort;
  BYTE  MoveFromDrive;
  BYTE  ExchangeFromTransport;
  BYTE  ExchangeFromSlot;
  BYTE  ExchangeFromIePort;
  BYTE  ExchangeFromDrive;
  BYTE  LockUnlockCapabilities;
  BYTE  PositionCapabilities;
  BYTE  Reserved1[2];
  DWORD Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;

멤버

Size

이 구조체의 크기(바이트)입니다. 호출자는 이 멤버를 sizeof(GET_CHANGER_PARAMETERS)로 설정해야 합니다.

NumberTransportElements

체인저의 전송 요소 수입니다. SCSI 변경자의 경우 요소 주소 페이지에 정의됩니다. 대부분의 체인저에는 하나 또는 두 개의 선택기 메커니즘이 있는 단일 전송 요소가 있기 때문에 이 값은 거의 항상 1입니다. 선택기는 개별적으로 주소를 지정할 수 없으므로 전송에 두 개의 선택기 메커니즘이 있는 체인저는 두 개의 전송이 있는 것으로 표시되어서는 안 됩니다. 고급 미디어 라이브러리에는 내결함성을 위한 이중 및 여러 전송 요소가 있을 수 있습니다.

NumberStorageElements

체인저의 스토리지 요소(슬롯) 수입니다. SCSI 변경자의 경우 요소 주소 페이지에 정의됩니다. 이 값은 잡지가 설치되어 있는지 여부에 관계없이 이동식 잡지에 있는 슬롯을 포함하여 이 변경기에서 사용할 수 있는 최대 슬롯 수를 나타냅니다. NumberCleanerSlots가 1이면 NumberStorageElements가 변경기의 최대 슬롯 수보다 1보다 작습니다.

NumberCleanerSlots

체인저의 클리너 카트리지에 대한 스토리지 요소(슬롯) 수입니다. NumberCleanerSlots가 1이면 FirstCleanerSlotAddress는 드라이브 클리너를 삽입해야 하는 슬롯의 0부터 시작하는 주소를 나타냅니다. 체인저가 프로그래밍 방식으로 슬롯에서 드라이브로 클리너 카트리지를 이동하여 드라이브 청소를 지원하지 않는 경우 NumberCleanerSlots 는 0입니다. NumberCleanerSlots는 1보다 클 수 없습니다.

NumberIEElements

변경기에서 미디어를 삽입하고 꺼내는 데 사용할 수 있는 가져오기/내보내기 요소 수(삽입/배출 포트)입니다. SCSI 변경자의 경우 요소 주소 페이지에 정의됩니다. import/export 요소는 스토리지 요소(슬롯) 공간의 일부가 아니어야 하며 MOVE MEDIUM 명령을 사용하여 import/export 요소와 슬롯 간에 미디어를 전송할 수 있어야 합니다. 체인저에 true import/export 요소가 아닌 문이 있는 경우 NumberIEElements 는 0입니다.

NumberDataTransferElements

변경기의 데이터 전송 요소(드라이브)의 수입니다. SCSI 변경자의 경우 요소 주소 페이지에 정의됩니다. 슬롯이 실제로 존재하는지 여부를 나타내는 NumberStorageElements와 달리 NumberDataTransferElements 는 변경기에서 실제로 존재하는 드라이브 수를 나타냅니다.

NumberOfDoors

체인저의 문 수입니다. 도어는 하나 이상의 미디어에 대한 액세스를 제공하는 삽입/배출 포트와 달리 한 번에 체인저의 모든 미디어에 액세스할 수 있습니다. 체인저의 문은 물리적 현관 또는 모든 미디어를 포함하는 단일 잡지가 될 수 있습니다. 변경자가 미디어 삽입 및 배출을 위한 삽입/배출 포트만 지원하는 경우 NumberOfDoors 는 0입니다.

FirstSlotNumber

체인저 공급업체가 잡지를 표시하거나 변경자의 연산자 가이드에서 슬롯 번호 매기기 체계를 정의하여 변경자의 첫 번째 스토리지 요소(슬롯)를 최종 사용자에게 식별하는 데 사용하는 숫자입니다. FirstSlotNumber 는 일반적으로 0 또는 1이지만 공급업체에서 정의한 연속된 슬롯 주소 범위의 첫 번째 주소일 수 있습니다.

FirstDriveNumber

변경자 공급업체가 변경자에서 최종 사용자에 대한 첫 번째 데이터 전송 요소(드라이브)를 식별하는 데 사용하는 번호입니다. FirstDriveNumber 는 일반적으로 0 또는 1이지만 공급업체에서 정의한 연속된 드라이브 주소 범위의 첫 번째 주소일 수 있습니다.

FirstTransportNumber

변경자 공급업체가 변경자에서 최종 사용자에 대한 첫 번째(일반적으로만) 전송 요소를 식별하는 데 사용하는 숫자입니다. FirstTransportNumber 는 일반적으로 0 또는 1이지만 공급업체에서 정의한 전송 주소의 연속 범위에서 첫 번째 주소가 될 수 있습니다.

FirstIEPortNumber

변경자 공급업체가 변경기에서 최종 사용자에게 첫 번째(일반적으로만) 삽입/배출 포트를 식별하는 데 사용하는 번호입니다. FirstIEPortNumber 는 일반적으로 0 또는 1이지만 공급업체에서 정의한 삽입/배출 포트 주소의 연속 범위에서 첫 번째 주소가 될 수 있습니다. NumberIEElements가 0이면 FirstIEPortNumber도 0이어야 합니다.

FirstCleanerSlotAddress

변경자 공급업체가 최종 사용자에게 드라이브 클리너 카트리지에 할당된 첫 번째(및 전용) 슬롯 주소를 식별하는 데 사용하는 번호입니다. 이는 변경자의 연산자 가이드에서 공급업체가 정의한 값이어야 합니다. 예를 들어 체인저에 1~8의 번호가 매겨진 8개의 슬롯이 있고 해당 운영자 가이드가 슬롯 8을 드라이브 클리너 슬롯으로 지정하는 경우 FirstSlotNumber 는 1이고 FirstCleanerSlotAddress 는 8이 됩니다. 동일한 8개의 슬롯에 0부터 7까지 번호가 매겨진 경우 FirstSlotNumber 는 0이고 FirstCleanerSlotAddress 는 7이 됩니다. NumberCleanerSlots가 0이면 FirstCleanerSlotAddress는 0이어야 합니다.

MagazineSize

체인저의 이동식 잡지에 있는 슬롯 수입니다. 이 멤버는 CHANGER_CARTRIDGE_MAGAZINE Features0에 설정된 경우에만 유효합니다.

DriveCleanTimeout

청소에 걸리는 최대 시간(초)의 두 배입니다. 변경기의 드라이브는 DriveCleanTimeout에 지정된 시간의 절반으로 클리너 카트리지에 의해 정리되어야 합니다. 예를 들어 드라이브가 일반적으로 300초(5분) 안에 정리되는 경우 DriveCleanTimeout 을 600으로 설정해야 합니다.

Features0

변경기에서 지원하는 기능입니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
CHANGER_BAR_CODE_SCANNER_INSTALLED
0x00000001
변경기는 바코드 판독기를 지원하며 판독기가 설치됩니다.
CHANGER_CARTRIDGE_MAGAZINE
0x00000100
체인저는 일부 또는 모든 스토리지 슬롯에 이동식 카트리지 잡지를 사용합니다.
CHANGER_CLEANER_ACCESS_NOT_VALID
0x00040000
전송 요소에 정리 카트리지가 포함된 경우 데이터 전송 요소에 대한 CHANGER_ELEMENT_STATUS 구조의 ELEMENT_STATUS_ACCESS 플래그가 유효하지 않습니다.
CHANGER_CLEANER_SLOT
0x00000040
체인저에는 클리너 카트리지에 대해 지정된 슬롯이 있습니다. 이 플래그가 설정되면 NumberCleanerSlots 는 1이어야 하고 FirstCleanerSlotAddress 는 클리너 슬롯의 주소를 지정해야 합니다.
CHANGER_CLOSE_IEPORT
0x00000004
체인저에는 삽입/꺼내기 포트가 있으며 프로그래밍 방식으로 삽입/배출 포트를 철회할 수 있습니다.
CHANGER_DEVICE_REINITIALIZE_CAPABLE
0x08000000
변경기는 명시적 명령에 대한 응답으로 전송 요소를 다시 크기 조정할 수 있습니다.
CHANGER_DRIVE_CLEANING_REQUIRED
0x00010000
체인저의 드라이브에는 사용자 또는 애플리케이션에서 시작해야 하는 주기적인 정리가 필요하며, 체인저는 해당 전송 요소를 사용하여 드라이브에 클리너 카트리지를 탑재할 수 있습니다.
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
0x20000000
체인저는 문을 통해 액세스하기 전에 모든 드라이브를 비워야 합니다(분리).
CHANGER_EXCHANGE_MEDIA
0x00000020
체인저는 요소 간에 미디어를 교환할 수 있습니다. SCSI 변경자의 경우 이 플래그는 변경기가 EXCHANGE MEDIUM 명령을 지원하는지 여부를 나타냅니다.
CHANGER_INIT_ELEM_STAT_WITH_RANGE
0x00000002
변경자는 지정된 범위 내의 요소를 초기화할 수 있습니다. SCSI 변경자의 경우 이 플래그는 변경기가 INITIALIZE ELEMENT STATUS WITH RANGE 명령을 지원하는지 여부를 나타냅니다.
CHANGER_KEYPAD_ENABLE_DISABLE
0x10000000
변경자 키패드는 프로그래밍 방식으로 사용하도록 설정하고 사용하지 않도록 설정할 수 있습니다.
CHANGER_LOCK_UNLOCK
0x00000080
변경자의 문, 삽입/꺼내기 포트 또는 키패드는 프로그래밍 방식으로 잠기거나 잠금 해제할 수 있습니다. 이 플래그를 설정하면 LockUnlockCapabilities 는 잠기거나 잠금 해제할 수 있는 요소를 나타냅니다.
CHANGER_MEDIUM_FLIP
0x00000200
체인저의 전송 요소는 미디어 대칭 이동(회전)을 지원합니다. SCSI 변경자의 경우 이 플래그는 전송 기하 도형 매개 변수 페이지의 회전 비트를 반영합니다.
CHANGER_OPEN_IEPORT
0x00000008
체인저에는 insert/eject 포트가 있으며 프로그래밍 방식으로 삽입/배출 포트를 확장할 수 있습니다.
CHANGER_POSITION_TO_ELEMENT
0x00000400
변경기는 전송을 특정 대상에 배치할 수 있습니다. SCSI 변경자의 경우 이 플래그는 변경기가 POSITION TO ELEMENT 명령을 지원하는지 여부를 나타냅니다. 이 플래그가 설정되면 PositionCapabilities 는 전송을 배치할 수 있는 요소를 나타냅니다.
CHANGER_PREDISMOUNT_EJECT_REQUIRED
0x00020000
체인저는 대용량 스토리지 드라이버(예: 테이프, 디스크 또는 CDROM)를 통해 실행된 명시적 명령이 변경자가 드라이브를 드라이브에서 슬롯으로 이동하기 전에 드라이브에서 미디어를 꺼내야 합니다.
CHANGER_PREMOUNT_EJECT_REQUIRED
0x00080000
체인저는 대용량 스토리지 드라이버를 통해 실행된 명시적 명령이 드라이브 메커니즘을 꺼내야 변경자가 슬롯에서 드라이브로 미디어를 이동할 수 있습니다. 예를 들어 CD-ROM 드라이브가 있는 체인저는 탑재 작업 중에 미디어 조각을 트레이에 로드할 수 있도록 트레이를 로봇 전송에 제시해야 할 수 있습니다.
CHANGER_REPORT_IEPORT_STATE
0x00000800
변경기는 미디어가 삽입/배출 포트에 있는지 여부를 보고할 수 있습니다. 이러한 변경자는 미디어의 존재 또는 부재를 감지하기 위해 삽입/배출 포트에 센서가 있어야 합니다.
CHANGER_SERIAL_NUMBER_VALID
0x04000000
일련 번호는 이 형식의 모든 변경자에 대해 유효하고 고유합니다. 일련 번호는 공급업체 및 제품 라인에서 고유하도록 보장되지 않습니다.
CHANGER_STATUS_NON_VOLATILE
0x00000010
변경 프로그램은 요소 상태 정보에 비휘발성 메모리를 사용합니다.
CHANGER_STORAGE_DRIVE
0x00001000
체인저는 드라이브를 독립 스토리지 요소로 사용할 수 있습니다. 즉, 미디어를 읽지 않고 드라이브에 저장할 수 있습니다. SCSI 변경기의 경우 이 플래그는 디바이스 기능 페이지의 DT 비트 상태를 반영합니다.
CHANGER_STORAGE_IEPORT
0x00002000
체인저는 insert/eject 포트를 독립 스토리지 요소로 사용할 수 있습니다. SCSI 변경기의 경우 이 플래그는 디바이스 기능 페이지의 I/E 비트 상태를 반영합니다.
CHANGER_STORAGE_SLOT
0x00004000
체인저는 슬롯을 미디어의 독립 스토리지 요소로 사용할 수 있습니다. SCSI 변경기의 경우 이 플래그는 디바이스 기능 페이지의 ST 비트 상태를 반영합니다. 슬롯은 미디어의 일반적인 스토리지 위치이므로 변경자는 이 기능을 지원해야 합니다.
CHANGER_STORAGE_TRANSPORT
0x00008000
체인저는 전송을 독립 스토리지 요소로 사용할 수 있습니다. SCSI 변경기의 경우 이 플래그는 디바이스 기능 페이지의 MT 비트 상태를 반영합니다.
CHANGER_VOLUME_ASSERT
0x00400000
변경기에서 볼륨 정보를 확인할 수 있습니다. SCSI 변경자의 경우 이 플래그는 변경기가 ASSERT의 보내기 작업 코드를 사용하여 SEND VOLUME TAG 명령을 지원하는지 여부를 나타냅니다.
CHANGER_VOLUME_IDENTIFICATION
0x00100000
체인저는 볼륨 식별을 지원합니다. SCSI 변경자의 경우 이 플래그는 변경기가 SEND VOLUME TAG 및 REQUEST VOLUME ELEMENT ADDRESS 명령을 지원하는지 여부를 나타냅니다.
CHANGER_VOLUME_REPLACE
0x00800000
변경기에서 볼륨 정보를 바꿀 수 있습니다. SCSI 변경자의 경우 이 플래그는 변경기가 SEND VOLUME TAG 명령을 REPLACE의 보내기 작업 코드와 함께 지원하는지 여부를 나타냅니다.
CHANGER_VOLUME_SEARCH
0x00200000
변경기에서 볼륨 정보를 검색할 수 있습니다. SCSI 변경기의 경우 이 플래그는 변환의 보내기 작업 코드가 있는 SEND VOLUME TAG 명령을 지원하는지 여부를 나타냅니다.
CHANGER_VOLUME_UNDEFINE
0x01000000
변경기에서 기존 볼륨 정보를 지울 수 있습니다. SCSI 변경기의 경우 이 플래그는 변경기가 UNDEFINE의 보내기 작업 코드를 사용하여 SEND VOLUME TAG 명령을 지원하는지 여부를 나타냅니다.

Features1

변경기에서 지원하는 추가 기능입니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
CHANGER_CLEANER_AUTODISMOUNT
0x80000004
청소가 완료된 후 변경자는 청소 카트리지를 원래 슬롯으로 자동으로 다시 이동합니다.
CHANGER_CLEANER_OPS_NOT_SUPPORTED
0x80000040
체인저는 해당 요소의 자동 정리를 지원하지 않습니다.
CHANGER_IEPORT_USER_CONTROL_CLOSE
0x80000100
체인저를 사용하려면 사용자가 열린 삽입/배출 포트를 수동으로 닫아야 합니다.
CHANGER_IEPORT_USER_CONTROL_OPEN
0x80000080
체인저를 사용하려면 사용자가 닫힌 삽입/배출 포트를 수동으로 열어야 합니다.
CHANGER_MOVE_EXTENDS_IEPORT
0x80000200
변경자는 미디어를 삽입/배출 포트로 이동하는 명령이 실행될 때마다 트레이를 자동으로 확장합니다.
CHANGER_MOVE_RETRACTS_IEPORT
0x80000400
변경자는 삽입/배출 포트에서 미디어를 이동하는 명령이 실행될 때마다 트레이를 자동으로 철회합니다.
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
0x80000002
변경기는 드라이브에서 미디어를 꺼내기 전에 전송 요소를 드라이브에 배치하는 명시적 명령이 필요합니다.
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
변경기는 슬롯에서 미디어를 꺼내기 전에 전송 요소를 슬롯에 배치하는 명시적 명령이 필요합니다.
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
변경기는 미디어를 이동한 후 원래 슬롯으로 반환해야 합니다.
CHANGER_SLOTS_USE_TRAYS
0x80000010
체인저는 슬롯에 이동식 트레이를 사용하므로 미디어를 트레이에 배치하고 트레이를 원하는 위치로 이동해야 합니다.
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
체인저는 단일 작업에서 원본과 대상 간에 미디어를 교환할 수 있습니다. 이 플래그는 CHANGER_EXCHANGE_MEDIA Features0에도 설정된 경우에만 유효합니다.

MoveFromTransport

체인저가 전송 요소에서 다른 전송 요소, 스토리지 슬롯, 삽입/배출 포트 또는 드라이브로 미디어 조각을 이동할 수 있는지 여부를 나타냅니다. SCSI 변경자의 경우 디바이스 기능 페이지에 정의되어 있습니다. 전송은 일반적으로 미디어를 이동하거나 교환하기 위한 원본 또는 대상이 아닙니다.

변경기가 미디어를 지정된 요소로 이동할 수 있는지 여부를 확인하려면 다음 값을 사용합니다.

의미
CHANGER_TO_DRIVE
0x08
체인저는 지정된 요소에서 드라이브로 작업을 수행할 수 있습니다.
CHANGER_TO_IEPORT
0x04
체인저는 지정된 요소에서 삽입/배출 포트로 작업을 수행할 수 있습니다.
CHANGER_TO_SLOT
0x02
체인저는 지정된 요소에서 스토리지 슬롯으로 작업을 수행할 수 있습니다.
CHANGER_TO_TRANSPORT
0x01
변경기는 지정된 요소에서 전송으로 작업을 수행할 수 있습니다.

MoveFromSlot

체인저가 저장소 슬롯에서 전송 요소, 다른 스토리지 슬롯, 삽입/배출 포트 또는 드라이브로 미디어 이동을 지원하는지 여부를 나타냅니다. MoveFromTransport 아래에 설명된 플래그를 사용하여 변경기가 이동을 지원하는지 여부를 확인합니다.

MoveFromIePort

변경기가 삽입/배출 포트에서 전송 요소, 스토리지 슬롯, 다른 삽입/배출 포트 또는 드라이브로의 미디어 이동을 지원하는지 여부를 나타냅니다. SCSI 변경자의 경우 디바이스 기능 페이지에 정의되어 있습니다. MoveFromTransport 아래에 설명된 플래그를 사용하여 변경기가 이동을 지원하는지 여부를 확인합니다.

MoveFromDrive

체인저가 드라이브에서 전송 요소, 스토리지 슬롯, 삽입/배출 포트 또는 다른 드라이브로의 미디어 이동을 지원하는지 여부를 나타냅니다. MoveFromTransport 아래에 설명된 플래그를 사용하여 변경기가 이동을 지원하는지 여부를 확인합니다.

ExchangeFromTransport

체인저가 전송 요소와 다른 전송 요소, 스토리지 슬롯, 삽입/배출 포트 또는 드라이브 간의 중간 교환을 지원하는지 여부를 나타냅니다. MoveFromTransport에 설명된 플래그를 사용하여 변경기가 교환을 지원하는지 여부를 확인합니다.

ExchangeFromSlot

체인저가 스토리지 슬롯과 전송 요소, 다른 스토리지 슬롯, 삽입/배출 포트 또는 드라이브 간의 중간 교환을 지원하는지 여부를 나타냅니다. MoveFromTransport에 설명된 플래그를 사용하여 변경기가 교환을 지원하는지 여부를 확인합니다.

ExchangeFromIePort

변경기가 삽입/배출 포트와 전송 요소, 스토리지 슬롯, 다른 삽입/배출 포트 또는 드라이브 간의 중간 교환을 지원하는지 여부를 나타냅니다. MoveFromTransport에 설명된 플래그를 사용하여 변경기가 교환을 지원하는지 여부를 확인합니다.

ExchangeFromDrive

변경기가 드라이브와 전송 요소, 스토리지 슬롯, 삽입/배출 포트 또는 다른 드라이브 간의 중간 교환을 지원하는지 여부를 나타냅니다. MoveFromTransport에 설명된 플래그를 사용하여 변경기가 교환을 지원하는지 여부를 확인합니다.

LockUnlockCapabilities

프로그래밍 방식으로 잠기거나 잠금 해제할 수 있는 체인저의 요소입니다. 이 멤버는 CHANGER_LOCK_UNLOCK Features0에 설정된 경우에만 유효합니다.

변경기가 특정 요소를 잠그거나 잠금을 해제할 수 있는지 여부를 확인하려면 다음 값 중 하나 이상을 사용합니다.

의미
LOCK_UNLOCK_DOOR
0x02
체인저는 문을 잠그거나 잠금을 해제할 수 있습니다.
LOCK_UNLOCK_IEPORT
0x01
체인저는 삽입/배출 포트를 잠그거나 잠금을 해제할 수 있습니다.
LOCK_UNLOCK_KEYPAD
0x04
체인저는 키패드를 잠그거나 잠금을 해제할 수 있습니다.

PositionCapabilities

체인저가 전송 위치를 지정할 수 있는 요소입니다. MoveFromTransport 아래에 설명된 플래그를 사용하여 체인저가 특정 요소에 대한 전송 위치를 지원하는지 여부를 확인합니다. 이 멤버는 CHANGER_POSITION_TO_ELEMENT Features0에 설정된 경우에만 유효합니다.

Reserved1[2]

나중에 사용하기 위해 예약되어 있습니다.

Reserved2[2]

다음에 사용하도록 예약됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
머리글 winioctl.h(Windows.h 포함)

추가 정보

IOCTL_CHANGER_GET_PARAMETERS