Compartir a través de


PPARALLEL_TRY_ALLOCATE_ROUTINE función de devolución de llamada (parallel.h)

La rutina de devolución de llamada con tipo PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) intenta asignar un puerto paralelo en IRQL = DIRQL. El controlador de función proporcionado por el sistema para puertos paralelos proporciona esta rutina.

Sintaxis

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

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

Parámetros

[in] TryAllocateContext

Puntero a la extensión de dispositivo de un objeto de dispositivo funcional que representa un puerto paralelo.

Valor devuelto

Código devuelto Descripción
TRUE
Se asignó el puerto paralelo.
FALSE
No se asignó el puerto paralelo.

Comentarios

Un controlador en modo kernel conecta una rutina de servicio de interrupción mediante un IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, que devuelve una estructura de PARALLEL_INTERRUPT_INFORMATION . Esta estructura incluye el miembro TryAllocatePortAtInterruptLevel , que es un puntero a la devolución de llamada de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) proporcionada por el sistema.

La devolución de llamada de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) no se bloquea, no pone en cola una solicitud de asignación y devuelve inmediatamente.

Un controlador usa la devolución de llamada de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) junto con un ISR proporcionado por el controlador. Si el controlador no tiene asignado un puerto paralelo cuando se llama al ISR del controlador, el controlador puede usar esta devolución de llamada.

Para obtener más información sobre cómo asignar un puerto paralelo en un ISR, consulte Conexión de una rutina de servicio de interrupción a parallelPort.

Nota La devolución de llamada de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) no se prueba. Microsoft no recomienda usar una rutina de interrupción proporcionada por el cliente. El uso de interrupciones puede provocar inestabilidad del sistema. De forma predeterminada, la solicitud de IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT está deshabilitada.
 

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado parallel.h (include Parallel.h)
IRQL DIRQL

Consulte también

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