Compartir a través de


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

La rutina de devolución de llamada con tipo PPARALLEL_WRITE escribe datos en un dispositivo paralelo. El controlador de bus suministrado por el sistema para puertos paralelos proporciona esta rutina.

Sintaxis

PPARALLEL_WRITE PparallelWrite;

NTSTATUS PparallelWrite(
  [in]  PVOID Context,
  [in]  PVOID Buffer,
  [in]  ULONG NumBytesToWrite,
  [out] PULONG NumBytesWritten,
  [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.

[in] Buffer

Puntero a un búfer de escritura asignado por el autor de la llamada.

[in] NumBytesToWrite

Especifica el número de bytes que se van a copiar del búfer de escritura en el dispositivo paralelo. Debe ser menor o igual que el número de bytes del búfer de escritura asignado por el autor de la llamada.

[out] NumBytesWritten

Especifica el número de bytes que se copiaron realmente del búfer de escritura asignado por el autor de la llamada al dispositivo paralelo.

[in] Channel

No se usa.

Valor devuelto

Código devuelto Descripción
STATUS_SUCCESS
Los datos proporcionados por el autor de la llamada se transfirieron correctamente al dispositivo.
STATUS_Xxx
Una operación interna produjo un error NTSTATUS.

Comentarios

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

IOCTL_INTERNAL_LOCK_PORT