Compartilhar via


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 barramento fornecido pelo sistema para portas paralelas processa a solicitação. Essa solicitação é fornecida principalmente para clientes do 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. Observe, no entanto, que o status da porta paralela pode mudar entre a hora em que o motorista do barramento de porta paralela conclui a solicitação e o tempo que o controle retorna a um cliente no modo de usuário.

Os clientes no 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

IRP_MJ_DEVICE_CONTROL

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 a 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 TRUE, caso contrário, definirá o buffer como FALSE.

Comprimento do buffer de saída

O comprimento de um BOOLEAN.

Bloco de status

O membro Information é definido como o tamanho, em bytes, de um BOOLEAN.

O membro Status é definido como um dos valores genéricos de status retornados por solicitações de controle de dispositivo para dispositivos paralelos ou para o seguinte valor:

STATUS_BUFFER_TOO_SMALL

O membro Parameters.DeviceIoControl.OutputBufferLength é menor que o tamanho, em bytes, de um BOOLEAN.

Requisitos

Requisito Valor
Cabeçalho ntddpar.h (inclua Ntddpar.h)

Confira também

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_TRY_ALLOCATE_ROUTINE

IOCTL_INTERNAL_LOCK_PORT