SPB_TRANSFER_DIRECTION 열거형(spb.h)
SPB_TRANSFER_DIRECTION 열거형은 I/O 전송 시퀀스단일 전송의 방향(읽기 또는 쓰기)을 설명합니다.
통사론
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 |