Compartilhar via


IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)

A solicitação IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT conecta uma rotina de serviço de interrupção opcional e uma porta adiada opcional marcar rotina a uma porta paralela. Somente drivers no modo kernel podem usar essa solicitação.

A solicitação de interrupção de conexão retorna informações que o driver pode usar no contexto de um ISR específico do driver. As informações incluem um ponteiro para o objeto de interrupção e ponteiros para rotinas de retorno de chamada que alocam e liberam a porta paralela em IRQL = DIRQL.

Nota A Microsoft não recomenda usar uma rotina de interrupção fornecida pelo cliente. O uso de interrupções pode causar instabilidade do sistema. Por padrão, a solicitação de interrupção de conexão está desabilitada. Para obter mais informações, consulte Conectando uma rotina de serviço de interrupção a um ParallelPort.
 

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer de entrada

O membro AssociatedIrp.SystemBuffer aponta para uma estrutura PARALLEL_INTERRUPT_SERVICE_ROUTINE que o cliente aloca para informações de serviço de interrupção de entrada. O driver de função fornecido pelo sistema para portas paralelas usa o mesmo buffer de memória, mas o converte em um tipo de dados diferente para obter informações de saída.

Comprimento do buffer de entrada

O membro Parameters.DeviceIoControl.InputBufferLength é definido como o tamanho, em bytes, de uma estrutura PARALLEL_INTERRUPT_SERVICE_ROUTINE.

Buffer de saída

O membro AssociatedIrp.SystemBuffer aponta para uma estrutura PARALLEL_INTERRUPT_INFORMATION que o driver de função de porta paralela usa para gerar informações de interrupção paralelas.

Comprimento do buffer de saída

O membro Parameters.DeviceIoControl.OutputBufferLength é definido como o tamanho, em bytes, de uma estrutura PARALLEL_INTERRUPT_INFORMATION .

Bloco de status

Se a solicitação for bem-sucedida, o membro Informações será definido como o tamanho, em bytes, de uma estrutura PARALLEL_INTERRUPT_INFORMATION . 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 internas para portas paralelas ou para um dos seguintes valores:

STATUS_BUFFER_TOO_SMALL

Pelo menos um dos seguintes é verdadeiro:

O valor do membro Parameters.DeviceIoControl.InputBufferLength é menor que o tamanho, em bytes, de uma estrutura PARALLEL_INTERRUPT_SERVICE_ROUTINE.

O valor do membro Parameters.DeviceIoControl.OuputBufferLength é menor que o tamanho, em bytes, de uma estrutura PARALLEL_INTERRUPT_INFORMATION.

Requisitos

Requisito Valor
Cabeçalho parallel.h (inclua Parallel.h)

Confira também

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_INFORMATION