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.
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