Compartilhar via


PPARALLEL_READ função de retorno de chamada (parallel.h)

A rotina de retorno de chamada com tipo PPARALLEL_READ lê dados de um dispositivo paralelo. O driver de ônibus fornecido pelo sistema para portas paralelas fornece essa rotina.

Sintaxe

PPARALLEL_READ PparallelRead;

NTSTATUS PparallelRead(
  [in]  PVOID Context,
  [out] PVOID Buffer,
  [in]  ULONG NumBytesToRead,
  [out] PULONG NumBytesRead,
  [in]  UCHAR Channel
)
{...}

Parâmetros

[in] Context

Ponteiro para a extensão de dispositivo do PDO (objeto de dispositivo físico) de um dispositivo paralelo.

[out] Buffer

Ponteiro para um buffer de leitura alocado pelo chamador.

[in] NumBytesToRead

Especifica o número de bytes a serem lidos. Deve ser menor ou igual ao número de bytes no buffer de leitura alocado pelo chamador.

[out] NumBytesRead

Especifica o número de bytes que foram realmente lidos do dispositivo paralelo e salvos no buffer de leitura alocado pelo chamador.

[in] Channel

Não usado.

Retornar valor

Código de retorno Descrição
STATUS_SUCCESS
Os dados solicitados foram transferidos com êxito do dispositivo.
STATUS_Xxx
Uma operação interna resultou em um erro NTSTATUS.

Comentários

Para obter um ponteiro para o retorno de chamada PPARALLEL_READ fornecido pelo sistema, um driver de modo kernel usa uma solicitação de IOCTL_INTERNAL_PARCLASS_CONNECT , que retorna uma estrutura PARCLASS_INFORMATION . O membro ParallelRead da estrutura PARCLASS_INFORMATION é um ponteiro para esse retorno de chamada.

Um cliente só poderá usar essa rotina se tiver um bloqueio em uma porta paralela. Um cliente obtém um bloqueio em uma porta paralela usando uma solicitação IOCTL_INTERNAL_LOCK_PORT .

O PPARALLEL_READ retorno de chamada é executado no thread do chamador no IRQL do chamador.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho parallel.h (incluir Parallel.h)

Confira também

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT