Compartilhar via


PPARALLEL_TRY_ALLOCATE_ROUTINE função de retorno de chamada (parallel.h)

A rotina de retorno de chamada ISR (tipo PPARALLEL_TRY_ALLOCATE_ROUTINE) tenta alocar uma porta paralela em IRQL = DIRQL. O driver de função fornecido pelo sistema para portas paralelas fornece essa rotina.

Sintaxe

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

BOOLEAN PparallelTryAllocateRoutine(
  [in] PVOID TryAllocateContext
)
{...}

Parâmetros

[in] TryAllocateContext

Ponteiro para a extensão de dispositivo de um objeto de dispositivo funcional que representa uma porta paralela.

Retornar valor

Código de retorno Descrição
TRUE
A porta paralela foi alocada.
FALSE
A porta paralela não foi alocada.

Comentários

Um driver de modo kernel conecta uma rotina de serviço de interrupção usando um IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, que retorna uma estrutura PARALLEL_INTERRUPT_INFORMATION . Essa estrutura inclui o membro TryAllocatePortAtInterruptLevel , que é um ponteiro para o retorno de chamada isr ( PPARALLEL_TRY_ALLOCATE_ROUTINE ) fornecido pelo sistema.

O retorno de chamada do ISR (PPARALLEL_TRY_ALLOCATE_ROUTINE ) não está sendo desbloqueado, não enfileira uma solicitação de alocação e retorna imediatamente.

Um driver usa o retorno de chamada isr ( PPARALLEL_TRY_ALLOCATE_ROUTINE ) em conjunto com um ISR fornecido pelo driver. Se o driver não tiver uma porta paralela alocada quando o ISR do driver for chamado, o driver poderá usar esse retorno de chamada.

Para obter mais informações sobre como alocar uma porta paralela em um ISR, consulte Conectando uma rotina de serviço de interrupção a um ParallelPort.

Nota O retorno de chamada de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) não foi testado. A Microsoft não recomenda usar uma rotina de interrupção fornecida pelo cliente. O uso de interrupções pode causar instabilidade no sistema. Por padrão, a solicitação de IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT está desabilitada.
 

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho parallel.h (incluir Parallel.h)
IRQL DIRQL

Confira também

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_FREE_ROUTINE (ISR)

PARALLEL_INTERRUPT_INFORMATION