SPB_TRANSFER_DIRECTION 열거형(spb.h)

SPB_TRANSFER_DIRECTION 열거형은 I/O 전송 시퀀스에서 단일 전송의 방향(읽기 또는 쓰기)을 설명합니다.

Syntax

typedef enum SPB_TRANSFER_DIRECTION {
  SpbTransferDirectionNone,
  SpbTransferDirectionFromDevice,
  SpbTransferDirectionToDevice,
  SpbTransferDirectionMax
}  *PSPB_TRANSFER_DIRECTION;

상수

 
SpbTransferDirectionNone
데이터 전송 방향이 정의되지 않았습니다.
SpbTransferDirectionFromDevice
데이터 전송 방향은 디바이스에서 시스템 메모리로(디바이스에서 읽기) 입니다.
SpbTransferDirectionToDevice
데이터 전송 방향은 시스템 메모리에서 디바이스로(디바이스에 쓰기) 입니다.
SpbTransferDirectionMax
운영 체제에서 사용하도록 예약되어 있습니다.

설명

이 열거형의 값은 I/O 전송 시퀀스에서 개별 전송의 방향을 나타냅니다. IOCTL_SPB_EXECUTE_SEQUENCE I/O 컨트롤 요청에 대한 입력 버퍼는 시퀀스의 전송 목록을 지정하는 SPB_TRANSFER_LIST 구조체입니다. 각 전송은 전송 방향을 포함하는 전송 매개 변수를 포함하는 SPB_TRANSFER_LIST_ENTRY 구조로 설명됩니다. 전송 방향은 읽기 작업의 경우 SpbTransferDirectionFromDevice 이고 쓰기 작업의 경우 SpbTransferDirectionToDevice 입니다.

SPB 컨트롤러 드라이버는 SpbRequestGetParameters 메서드를 호출하여 I/O 요청에서 SPB 관련 매개 변수 집합을 검색할 수 있습니다. 이러한 매개 변수 중 하나는 이전 I/O 요청의 전송 방향을 나타내는 SPB_TRANSFER_DIRECTION 열거형 값입니다. SPB 컨트롤러 드라이버는 이 방향 값을 사용하여 현재 읽기 또는 쓰기(IRP_MJ_READ 또는 IRP_MJ_WRITE) 요청에 버스의 전송 방향을 변경해야 하는지 여부를 결정할 수 있습니다.

또한 SpbRequestGetParameters 는 다중 요청 시퀀스의 전송 목록에서 읽기 또는 쓰기 요청의 상대 위치를 나타내는 위치 값을 검색합니다. 읽기 요청 또는 쓰기 요청에 SpbRequestSequencePositionSingle 또는 SpbRequestSequencePositionFirst의 위치 값이 있는 경우 이전 전송의 방향 값은 SpbTransferDirectionNone 입니다(즉, 이전 전송 방향이 없음). 위치 값이 SpbRequestSequencePositionMiddle 또는 SpbRequestSequencePositionLast인 읽기 또는 쓰기 요청의 경우 방향 값은 이전 전송이 읽기 또는 쓰기인지 여부를 나타냅니다. 위치 값이 SpbRequestSequencePositionLast인 잠금 해제(IOCTL_SPB_UNLOCK_CONTROLLER) 요청의 경우 방향 값은 시퀀스의 마지막 전송이 읽기 또는 쓰기인지 여부를 나타냅니다.

잠금(IOCTL_SPB_LOCK_CONTROLLER) 요청에는 이전 방향이 없습니다. 마찬가지로 EvtSpbControllerIoOther 콜백 함수에 전달되는 I/O 컨트롤 요청에는 이전 방향이 없습니다. 이러한 요청 중 하나에서 SpbRequestGetParameters 에서 검색한 이전 방향 값은 SpbTransferDirectionNone입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 부터 지원합니다.
머리글 spb.h

추가 정보