PPARALLEL_READ función de devolución de llamada (parallel.h)
La rutina de devolución de llamada con tipo PPARALLEL_READ lee los datos de un dispositivo paralelo. El controlador de bus suministrado por el sistema para puertos paralelos proporciona esta rutina.
Sintaxis
PPARALLEL_READ PparallelRead;
NTSTATUS PparallelRead(
[in] PVOID Context,
[out] PVOID Buffer,
[in] ULONG NumBytesToRead,
[out] PULONG NumBytesRead,
[in] UCHAR Channel
)
{...}
Parámetros
[in] Context
Puntero a la extensión de dispositivo de un objeto de dispositivo físico del dispositivo paralelo (PDO ).
[out] Buffer
Puntero a un búfer de lectura que asigna el autor de la llamada.
[in] NumBytesToRead
Especifica el número de bytes que se van a leer. Debe ser menor o igual que el número de bytes del búfer de lectura asignado por el autor de la llamada.
[out] NumBytesRead
Especifica el número de bytes leídos realmente del dispositivo paralelo y guardados en el búfer de lectura asignado por el autor de la llamada.
[in] Channel
No se usa.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Los datos solicitados se transfirieron correctamente desde el dispositivo. |
|
Una operación interna produjo un error NTSTATUS. |
Observaciones
Para obtener un puntero a la devolución de llamada proporcionada por el sistema PPARALLEL_READ, un controlador en modo kernel usa una solicitud de IOCTL_INTERNAL_PARCLASS_CONNECT, que devuelve una estructura PARCLASS_INFORMATION. El miembro ParallelRead de la estructura PARCLASS_INFORMATION es un puntero a esta devolución de llamada.
Un cliente solo puede usar esta rutina si tiene un bloqueo en un puerto paralelo. Un cliente obtiene un bloqueo en un puerto paralelo mediante una solicitud de IOCTL_INTERNAL_LOCK_PORT.
La PPARALLEL_READ devolución de llamada se ejecuta en el subproceso del autor de la llamada en irQL del autor de la llamada.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | parallel.h (include Parallel.h) |