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 |
---|---|
|
Die angeforderten Daten wurden erfolgreich vom Gerät übertragen. |
|
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) |