Freigeben über


PPARALLEL_READ Rückruffunktion (parallel.h)

Die PPARALLEL_READ-Typ-Rückrufroutine liest Daten von einem parallelen Gerät aus. Der vom System bereitgestellte Bustreiber für parallele Ports liefert diese Routine.

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 eines parallelen Geräts (PDO-).

[out] Buffer

Zeigen Sie auf einen Lesepuffer, den der Aufrufer zuweist.

[in] NumBytesToRead

Gibt die Anzahl der zu lesenden Bytes an. Muss kleiner oder gleich der Anzahl der 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 führte zu einem NTSTATUS-Fehler.

Bemerkungen

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. Der ParallelRead Member 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 eine Sperre für einen parallelen Port mithilfe einer IOCTL_INTERNAL_LOCK_PORT Anforderung ab.

Der PPARALLEL_READ Rückruf wird im Thread des Aufrufers an der IRQL des Aufrufers ausgeführt.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- parallel.h (include Parallel.h)

Siehe auch

PPARALLEL_WRITE

IOCTL_INTERNAL_LOCK_PORT