다음을 통해 공유


IOCTL_IEEE1284_NEGOTIATE IOCTL(ntddpar.h)

IOCTL_IEEE1284_NEGOTIATE 요청은 병렬 디바이스에 사용되는 읽기 및 쓰기 프로토콜을 설정합니다. 이 요청을 수행하려면 병렬 디바이스가 연결된 병렬 포트를 잠그고 병렬 디바이스를 선택해야 합니다. 병렬 포트용 시스템 제공 버스 드라이버는 병렬 디바이스와 협상하여 클라이언트에서 지정한 모드 중에서 호스트 칩셋과 병렬 디바이스 모두에서 지원하는 가장 빠른 모드를 결정합니다. 병렬 포트 버스 드라이버는 기본 읽기 및 쓰기 모드를 협상 모드로 설정합니다.

자세한 내용은 병렬 디바이스대한 통신 모드 설정 및 지우기를 참조하세요.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

AssociatedIrp.SystemBuffer 멤버는 클라이언트가 모드 정보의 입력 및 출력에 할당하는 PARCLASS_NEGOTIATION_MASK 구조를 가리킵니다. 클라이언트는 usReadMask 설정하고 usWriteMask 멤버를.

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 멤버는 PARCLASS_NEGOTIATION_MASK 구조체의 크기(바이트)로 설정됩니다.

출력 버퍼

AssociatedIrp.SystemBuffer 병렬 포트용 시스템 제공 버스 드라이버가 출력 모드 정보에 사용하는 PARCLASS_NEGOTIATION_MASK 구조를 가리킵니다. 병렬 포트 버스 드라이버는 usReadMask 설정하고 usWriteMask 멤버를 협상 모드로.

출력 버퍼 길이

PARCLASS_NEGOTIATION_MASK 구조체의 길이입니다.

상태 블록

요청이 성공하면 Information 멤버가 PARCLASS_NEGOTIATION_MASK 구조체의 크기(바이트)로 설정됩니다. 그렇지 않으면 Information 멤버가 0으로 설정됩니다.

상태 멤버는 병렬 디바이스에 대한 디바이스 제어 요청에서 반환된 제네릭 상태 값 중 하나 또는 다음 값으로 설정됩니다.

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength 멤버의 값이 PARCLASS_NEGOTIATION_MASK 크기(바이트)보다 작습니다.

요구 사항

요구
헤더 ntddpar.h(Ntddpar.h 포함)

참고 항목

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE