Freigeben über


IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)

Die IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT-Anforderung verbindet eine optionale Interruptdienstroutine und eine optionale verzögerte Portprüfung Routine mit einem parallelen Port. Nur Kernelmodustreiber können diese Anforderung verwenden.

Die Connect-Interruptanforderung gibt Informationen zurück, die der Treiber im Kontext eines treiberspezifischen ISR verwenden kann. Die Informationen enthalten einen Zeiger auf das Interruptobjekt und Zeiger auf Rückrufroutinen, die den parallelen Port bei IRQL = DIRQL zuweisen und freigeben.

Hinweis Microsoft die Verwendung einer vom Client bereitgestellten Interruptroutine nicht empfiehlt. Die Verwendung von Unterbrechungen kann zu Systeminstabilität führen. Standardmäßig ist die Verbindungsunterbruchanforderung deaktiviert. Weitere Informationen finden Sie unter Verbinden einer Interrupt-Dienstroutine mit einem ParallelPort-.
 

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf eine PARALLEL_INTERRUPT_SERVICE_ROUTINE Struktur, die der Client Eingabeunterbruchdienstinformationen zuweist. Der vom System bereitgestellte Funktionstreiber für parallele Ports verwendet denselben Speicherpuffer, wandelt ihn jedoch in einen anderen Datentyp um, um Informationen auszugeben.

Eingabepufferlänge

Das Parameters.DeviceIoControl.InputBufferLength Member wird auf die Größe einer PARALLEL_INTERRUPT_SERVICE_ROUTINE Struktur in Bytes festgelegt.

Ausgabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf eine PARALLEL_INTERRUPT_INFORMATION Struktur, die der parallele Portfunktionstreiber zum Ausgeben paralleler Interruptinformationen verwendet.

Länge des Ausgabepuffers

Der Parameters.DeviceIoControl.OutputBufferLength Member wird auf die Größe einer PARALLEL_INTERRUPT_INFORMATION Struktur in Bytes festgelegt.

Statusblock

Wenn die Anforderung erfolgreich ist, wird das Information Member auf die Größe einer PARALLEL_INTERRUPT_INFORMATION Struktur in Byte festgelegt. Andernfalls wird der Information Member auf Null festgelegt.

Der Status Members wird auf einen der generischen Statuswerte festgelegt, die von internen Gerätesteuerungsanforderungen für parallele Ports oder auf einen der folgenden Werte zurückgegeben werden:

STATUS_BUFFER_TOO_SMALL

Mindestens eine der folgenden Punkte gilt:

Der Wert des Parameters.DeviceIoControl.InputBufferLength Member ist kleiner als die Größe einer PARALLEL_INTERRUPT_SERVICE_ROUTINE Struktur in Byte.

Der Wert des Parameters.DeviceIoControl.OuputBufferLength Member ist kleiner als die Größe einer PARALLEL_INTERRUPT_INFORMATION-Struktur in Byte.

Anforderungen

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

Siehe auch

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_INFORMATION