IOCTL_PAR_IS_PORT_FREE IOCTL (ntddpar.h)

Die IOCTL_PAR_IS_PORT_FREE Anforderung bestimmt, ob der übergeordnete parallele Port eines parallelen Geräts zum Zeitpunkt der Verarbeitung der Anforderung durch den vom System bereitgestellten Bustreiber für parallele Ports frei ist. Diese Anforderung wird in erster Linie für Clients im Benutzermodus bereitgestellt.

Diese Anforderung wird sofort verarbeitet, nachdem der E/A-Manager die Dispatchroutine des Parallelportbustreibers für Gerätesteuerungsanforderungen aufgerufen hat. Beachten Sie jedoch, dass sich die status des parallelen Ports zwischen dem Zeitpunkt ändern kann, zu dem der Bustreiber für parallelen Port die Anforderung abgeschlossen hat, und der Zeit, zu der das Steuerelement an einen Client im Benutzermodus zurückkehrt.

Kernelmodusclients können direkt ermitteln, ob ein paralleler Port frei ist, indem sie den vom System bereitgestellten PPARALLEL_TRY_ALLOCATE_ROUTINE Rückruf aufrufen.

Weitere Informationen finden Sie unter Sperren und Entsperren eines Parallelports für die Verwendung durch ein paralleles Gerät.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Keine.

Eingabepufferlänge

Keine.

Ausgabepuffer

Das AssociatedIrp.SystemBuffer-Element verweist auf einen BOOLEAN-Puffer, den der Client ordnet, um die status des parallelen Ports auszugeben. Wenn der parallele Port frei ist, legt der vom System bereitgestellte Funktionstreiber für parallele Ports den Puffer auf TRUE fest, andernfalls wird der Puffer auf FALSE festgelegt.

Länge des Ausgabepuffers

Die Länge eines BOOLEAN-Werts.

Statusblock

Das Information-Element ist auf die Größe eines BOOLEAN-Elements in Bytes festgelegt.

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

STATUS_BUFFER_TOO_SMALL

Der Parameter.DeviceIoControl.OutputBufferLength-Member ist kleiner als die Größe eines BOOLEAN in Bytes.

Anforderungen

Anforderung Wert
Header ntddpar.h (include Ntddpar.h)

Weitere Informationen

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_TRY_ALLOCATE_ROUTINE

IOCTL_INTERNAL_LOCK_PORT