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 barramento fornecido pelo sistema para portas paralelas negocia com o dispositivo paralelo para determinar os modos mais rápidos compatíveis com o chipset de 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 Configurando e limpando 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 alocada pelo cliente para a entrada e saída das informações do modo. O cliente define os membros usReadMask e 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 barramento fornecido pelo sistema para portas paralelas usa para obter informações do modo de saída. O driver de barramento de porta paralela define os membros usReadMask e 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 Informações será definido como o tamanho, em bytes, de uma estrutura PARCLASS_NEGOTIATION_MASK. Caso contrário, o membro Informações será definido como zero.
O membro Status é definido como um dos valores genéricos status 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) |