PPARALLEL_TRY_SELECT_ROUTINE función de devolución de llamada (parallel.h)
La rutina de devolución de llamada con tipo PPARALLEL_TRY_SELECT_ROUTINE selecciona un dispositivo de cadena de margarita IEEE 1284.3 o un dispositivo de extremo de cadena IEEE 1284 conectado a un puerto paralelo. El controlador de función proporcionado por el sistema para puertos paralelos proporciona esta rutina.
Sintaxis
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Parámetros
[in] TrySelectContext
Puntero a la extensión del dispositivo de un objeto de dispositivo funcional (FDO) de un puerto paralelo.
[in] TrySelectCommand
Puntero a una estructura de PARALLEL_1284_COMMAND . El autor de la llamada especifica los siguientes miembros:
ID
Especifica el identificador de dispositivo 1284.3.
CommandFlags
Especifica un OR bit a bit de cero o más de las marcas siguientes:
Valor | Descripción |
---|---|
PAR_END_OF_CHAIN_DEVICE | Especifica un dispositivo de extremo de cadena. |
PAR_HAVE_PORT_KEEP_PORT | Especifica que el autor de la llamada tiene asignado el puerto y para mantener asignado el puerto. |
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Se seleccionó el dispositivo. |
|
El identificador de dispositivo no es válido. |
|
El autor de la llamada no especificó PAR_HAVE_PORT_KEEP_PORT y el puerto paralelo ya está asignado. |
|
El autor de la llamada ha asignado el puerto paralelo, pero el controlador de función proporcionado por el sistema para los puertos paralelos no pudo seleccionar el dispositivo paralelo especificado. |
Comentarios
Para obtener un puntero a la devolución de llamada proporcionada por el sistema PPARALLEL_TRY_SELECT_ROUTINE, un controlador en modo kernel usa una solicitud de IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO , que devuelve una estructura PARALLEL_PNP_INFORMATION . El miembro TrySelectDevice de la estructura PARALLEL_PNP_INFORMATION es un puntero a esta devolución de llamada.
Un controlador en modo kernel puede usar una solicitud de IOCTL_INTERNAL_SELECT_DEVICE o la devolución de llamada PPARALLEL_TRY_SELECT_ROUTINE para seleccionar un dispositivo paralelo en un puerto paralelo. El controlador de función de puerto paralelo pone en cola una solicitud de selección si el puerto paralelo ya está asignado. Sin embargo, la devolución de llamada PPARALLEL_TRY_SELECT_ROUTINE no pone en cola una solicitud de selección y la rutina devuelve inmediatamente si no se puede asignar el puerto.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | parallel.h (include Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
Consulte también
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO