Freigeben über


IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)

Die IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT Anforderung verbindet eine optionale Interruptdienstroutine und eine optionale Überprüfungsroutine für verzögerte Ports mit einem parallelen Port. Nur Kernelmodustreiber können diese Anforderung verwenden.

Die Verbindungsunterbrechungsanforderung gibt Informationen zurück, die der Treiber im Kontext einer treiberspezifischen ISR verwenden kann. Die Informationen umfassen einen Zeiger auf das Interruptobjekt und Zeiger auf Rückrufroutinen, die den parallelen Port bei IRQL = DIRQL zuordnen und freigeben.

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

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Das AssociatedIrp.SystemBuffer-Element verweist auf eine PARALLEL_INTERRUPT_SERVICE_ROUTINE-Struktur , die der Client der Eingabe von Interruptdienstinformationen zuordnet. 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

Der Parameter.DeviceIoControl.InputBufferLength-Member ist auf die Größe einer PARALLEL_INTERRUPT_SERVICE_ROUTINE-Struktur in Bytes festgelegt.

Ausgabepuffer

Das AssociatedIrp.SystemBuffer-Element verweist auf eine PARALLEL_INTERRUPT_INFORMATION Struktur, die der Parallelportfunktionstreiber zum Ausgeben paralleler Interruptinformationen verwendet.

Länge des Ausgabepuffers

Das Parameters.DeviceIoControl.OutputBufferLength-Element ist auf die Größe einer PARALLEL_INTERRUPT_INFORMATION-Struktur in Bytes festgelegt.

Statusblock

Wenn die Anforderung erfolgreich ist, wird das Element Information auf die Größe einer PARALLEL_INTERRUPT_INFORMATION-Struktur in Bytes festgelegt. Andernfalls wird das Element Information auf 0 festgelegt.

Der Statusmember ist auf einen der generischen status Werte festgelegt, die von internen Gerätesteuerungsanforderungen für parallele Ports zurückgegeben werden, oder auf einen der folgenden Werte:

STATUS_BUFFER_TOO_SMALL

Mindestens eine der folgenden Optionen muss zutreffen:

Der Wert des Parameters.DeviceIoControl.InputBufferLength-Members ist kleiner als die Größe einer PARALLEL_INTERRUPT_SERVICE_ROUTINE-Struktur in Bytes.

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

Anforderungen

Anforderung Wert
Header parallel.h (einschließlich Parallel.h)

Weitere Informationen

PARALLEL_INTERRUPT_SERVICE_ROUTINE

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

PARALLEL_INTERRUPT_INFORMATION