Compartir a través de


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 (PDO) de un dispositivo paralelo.

[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 en el búfer de lectura asignado por el autor de la llamada.

[out] NumBytesRead

Especifica el número de bytes que se leyeron realmente desde el dispositivo paralelo y se guardaron 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
STATUS_SUCCESS
Los datos solicitados se transfirieron correctamente desde el dispositivo.
STATUS_Xxx
Una operación interna produjo un error NTSTATUS.

Comentarios

Para obtener un puntero a la devolución de llamada PPARALLEL_READ proporcionada por el sistema, un controlador en modo kernel usa una solicitud de IOCTL_INTERNAL_PARCLASS_CONNECT , que devuelve una estructura de 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 .

El PPARALLEL_READ devolución de llamada se ejecuta en el subproceso del autor de la llamada en el IRQL del autor de la llamada.

Requisitos

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

Consulte también

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT