IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)

Die IOCTL_IEEE1284_NEGOTIATE-Anforderung legt die Lese- und Schreibprotokolle fest, die für ein paralleles Gerät verwendet werden. Für diese Anforderung muss der parallele Port, an den das parallele Gerät angeschlossen ist, gesperrt und das parallele Gerät ausgewählt werden. Der vom System bereitgestellte Bustreiber für parallele Ports verhandelt mit dem parallelen Gerät, um die schnellsten Modi zu ermitteln, die sowohl vom Host-Chipsatz als auch vom parallelen Gerät aus den vom Client angegebenen Modi unterstützt werden. Der Treiber für den Parallelportbus legt die Standard-Lese- und Schreibmodi auf die ausgehandelten Modi fest.

Weitere Informationen finden Sie unter Festlegen und Löschen eines Kommunikationsmodus für ein paralleles Gerät.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der AssociatedIrp.SystemBuffer-Member verweist auf eine PARCLASS_NEGOTIATION_MASK Struktur, die der Client für die Eingabe und Ausgabe von Modusinformationen zuordnet. Der Client legt die Elemente usReadMask und usWriteMask fest.

Länge des Eingabepuffers

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

Ausgabepuffer

AssociatedIrp.SystemBuffer verweist auf die PARCLASS_NEGOTIATION_MASK Struktur, die der vom System bereitgestellte Bustreiber für parallele Ports zum Ausgeben von Informationen zum Ausgabemodus verwendet. Der Treiber für den parallelen Portbus legt die Elemente usReadMask und usWriteMask auf die ausgehandelten Modi fest.

Länge des Ausgabepuffers

Die Länge einer PARCLASS_NEGOTIATION_MASK-Struktur .

Statusblock

Wenn die Anforderung erfolgreich ist, wird das Information-Element auf die Größe einer PARCLASS_NEGOTIATION_MASK-Struktur in Bytes festgelegt. Andernfalls wird der Information-Member auf 0 (null) festgelegt.

Der Status-Member wird 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_INVALID_PARAMETER

Der Wert des Parameters.DeviceIoControl.InputBufferLength-Elements ist kleiner als die Größe eines PARCLASS_NEGOTIATION_MASK in Bytes.

Anforderungen

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

Weitere Informationen

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE