IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)
A solicitação IOCTL_IEEE1284_NEGOTIATE define os protocolos de leitura e gravação usados para um dispositivo paralelo. Essa solicitação exige que a porta paralela, à qual o dispositivo paralelo está anexado, seja bloqueada e o dispositivo paralelo seja selecionado. O driver de ônibus fornecido pelo sistema para portas paralelas negocia com o dispositivo paralelo para determinar os modos mais rápidos compatíveis com o chipset host e o dispositivo paralelo entre os modos especificados pelo cliente. O driver de barramento de porta paralela define os modos de leitura e gravação padrão para os modos negociados.
Para obter mais informações, consulte Configuração e limpeza de um modo de comunicação para um dispositivo paralelo.
Código principal
Buffer de entrada
O membro AssociatedIrp.SystemBuffer aponta para uma estrutura PARCLASS_NEGOTIATION_MASK que o cliente aloca para as informações de entrada e saída do modo. O cliente define os usReadMask e membros usWriteMask.
Comprimento do buffer de entrada
O membro Parameters.DeviceIoControl.InputBufferLength é definido como o tamanho, em bytes, de uma estrutura PARCLASS_NEGOTIATION_MASK.
Buffer de saída
O AssociatedIrp.SystemBuffer aponta para a estrutura PARCLASS_NEGOTIATION_MASK que o driver de ônibus fornecido pelo sistema para portas paralelas usa para obter informações do modo de saída. O driver de barramento de porta paralela define o usReadMask e membros usWriteMask para os modos negociados.
Comprimento do buffer de saída
O comprimento de uma estrutura PARCLASS_NEGOTIATION_MASK.
Bloco de status
Se a solicitação for bem-sucedida, o membro de Informações do será definido como o tamanho, em bytes, de uma estrutura de PARCLASS_NEGOTIATION_MASK. Caso contrário, o membro de Informações do será definido como zero.
O membro Status é definido como um dos valores de status genéricos retornados por solicitações de controle de dispositivo para dispositivos paralelos ou para o seguinte valor:
STATUS_INVALID_PARAMETER
O valor do membro Parameters.DeviceIoControl.InputBufferLength é menor que o tamanho, em bytes, de um PARCLASS_NEGOTIATION_MASK.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddpar.h (inclua Ntddpar.h) |