Partilhar via


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

A rotina de retorno de chamada 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 do dispositivo do objeto de dispositivo físico de um dispositivo paralelo (PDO).

[out] Buffer

Ponteiro para um buffer de leitura que o chamador aloca.

[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.

Valor de retorno

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.

Observações

Para obter um ponteiro para o retorno de chamada PPARALLEL_READ fornecido pelo sistema, um driver de modo kernel usa uma solicitação 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
da Plataforma de Destino Área de trabalho
cabeçalho parallel.h (incluir Parallel.h)

Consulte também

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT