Freigeben über


PPARALLEL_READ Rückruffunktion (parallel.h)

Die PPARALLEL_READ typisierte Rückrufroutine liest Daten von einem parallelen Gerät. Der vom System bereitgestellte Bustreiber für parallele Ports stellt diese Routine bereit.

Syntax

PPARALLEL_READ PparallelRead;

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

Parameter

[in] Context

Zeiger auf die Geräteerweiterung des physischen Geräteobjekts (PDO) eines parallelen Geräts.

[out] Buffer

Zeiger auf einen Lesepuffer, den der Aufrufer ordnet.

[in] NumBytesToRead

Gibt die Anzahl der zu lesenden Bytes an. Muss kleiner oder gleich der Anzahl von Bytes im vom Aufrufer zugewiesenen Lesepuffer sein.

[out] NumBytesRead

Gibt die Anzahl der Bytes an, die tatsächlich vom parallelen Gerät gelesen und im vom Aufrufer zugewiesenen Lesepuffer gespeichert wurden.

[in] Channel

Wird nicht verwendet.

Rückgabewert

Rückgabecode Beschreibung
STATUS_SUCCESS
Die angeforderten Daten wurden erfolgreich vom Gerät übertragen.
STATUS_Xxx
Ein interner Vorgang hat zu einem NTSTATUS-Fehler geführt.

Hinweise

Um einen Zeiger auf den vom System bereitgestellten PPARALLEL_READ Rückruf abzurufen, verwendet ein Kernelmodustreiber eine IOCTL_INTERNAL_PARCLASS_CONNECT-Anforderung , die eine PARCLASS_INFORMATION-Struktur zurückgibt. Das ParallelRead-Element der PARCLASS_INFORMATION-Struktur ist ein Zeiger auf diesen Rückruf.

Ein Client kann diese Routine nur verwenden, wenn er über eine Sperre für einen parallelen Port verfügt. Ein Client ruft mithilfe einer IOCTL_INTERNAL_LOCK_PORT-Anforderung eine Sperre für einen parallelen Port ab.

Der PPARALLEL_READ Rückrufs wird im Thread des Aufrufers am IRQL des Aufrufers ausgeführt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile parallel.h (einschließlich Parallel.h)

Weitere Informationen

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT