IOCTL_PAR_IS_PORT_FREE IOCTL (ntddpar.h)
A solicitação IOCTL_PAR_IS_PORT_FREE determina se a porta paralela pai de um dispositivo paralelo é gratuita no momento em que o driver de ônibus fornecido pelo sistema para portas paralelas processa a solicitação. Essa solicitação é fornecida principalmente para clientes no modo de usuário.
Essa solicitação é processada imediatamente após o gerente de E/S chamar a rotina de expedição do driver de barramento de porta paralela para solicitações de controle de dispositivo. No entanto, observe que o status da porta paralela pode ser alterado entre a hora em que o driver de barramento de porta paralela conclui a solicitação e o tempo que o controle retorna para um cliente no modo de usuário.
Os clientes do modo kernel podem determinar diretamente se uma porta paralela é gratuita chamando o retorno de chamada PPARALLEL_TRY_ALLOCATE_ROUTINE fornecido pelo sistema.
Para obter mais informações, consulte Bloqueio e desbloqueio de um ParallelPort para uso por um dispositivo paralelo.
Código principal
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
O membro AssociatedIrp.SystemBuffer aponta para um buffer BOOLEAN que o cliente aloca para gerar o status da porta paralela. Se a porta paralela for gratuita, o driver de função fornecido pelo sistema para portas paralelas definirá o buffer como verdadeiro, caso contrário, ele definirá o buffer como FALSE.
Comprimento do buffer de saída
O comprimento de um BOOLEAN.
Bloco de status
O membro de Informações é definido como o tamanho, em bytes, de um BOOLEAN.
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_BUFFER_TOO_SMALL
O Parameters.DeviceIoControl.OutputBufferLength membro é menor que o tamanho, em bytes, de um BOOLEAN.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddpar.h (inclua Ntddpar.h) |
Consulte também
IOCTL_INTERNAL_PARALLEL_PORT_FREE