Condividi tramite


PPARALLEL_READ funzione di callback (parallel.h)

La routine di callback tipizzata PPARALLEL_READ legge i dati da un dispositivo parallelo. Il driver del bus fornito dal sistema per le porte parallele fornisce questa routine.

Sintassi

PPARALLEL_READ PparallelRead;

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

Parametri

[in] Context

Puntatore all'estensione del dispositivo dell'oggetto dispositivo fisico di un dispositivo parallelo (PDO).

[out] Buffer

Puntatore a un buffer di lettura allocato dal chiamante.

[in] NumBytesToRead

Specifica il numero di byte da leggere. Deve essere minore o uguale al numero di byte nel buffer di lettura allocato dal chiamante.

[out] NumBytesRead

Specifica il numero di byte effettivamente letti dal dispositivo parallelo e salvati nel buffer di lettura allocato dal chiamante.

[in] Channel

Non utilizzato.

Valore restituito

Codice restituito Descrizione
STATUS_SUCCESS
I dati richiesti sono stati trasferiti correttamente dal dispositivo.
STATUS_xxx
Un'operazione interna ha generato un errore NTSTATUS.

Osservazioni

Per ottenere un puntatore al callback fornito dal sistema PPARALLEL_READ, un driver in modalità kernel usa una richiesta di IOCTL_INTERNAL_PARCLASS_CONNECT, che restituisce una struttura PARCLASS_INFORMATION. Il membro ParallelRead della struttura PARCLASS_INFORMATION è un puntatore a questo callback.

Un client può usare questa routine solo se ha un blocco su una porta parallela. Un client ottiene un blocco su una porta parallela usando una richiesta di IOCTL_INTERNAL_LOCK_PORT.

Il callback PPARALLEL_READ viene eseguito nel thread del chiamante in IRQL del chiamante.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione parallel.h (include Parallel.h)

Vedere anche

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT