PNEGOTIATE_IEEE_MODE

La routine de rappel typée PNEGOTIATE_IEEE_MODE sélectionne les protocoles de transfert et inverse les plus rapides pris en charge par le pilote de bus fourni par le système pour les ports parallèles parmi ceux spécifiés par l’appelant. Le pilote de bus fourni par le système pour les ports parallèles fournit cette routine.

Syntaxe

PNEGOTIATE_IEEE_MODE PnegotiateIeeeMode;

NTSTATUS PnegotiateIeeeMode(
  [in] PVOID Context,
  [in] USHORT ModeMaskFwd,
  [in] USHORT ModeMaskRev,
  [in] PARALLEL_SAFETY ModeSafety,
  [in] BOOLEAN IsForward
)
{...}

Paramètres

[in] Context

Pointeur vers l’extension de l’appareil parallèle de l’objet d’appareil physique d’un appareil parallèle (PDO).

[in] ModeMaskFwd

Spécifie les protocoles de transfert. ModeMaskFwd est une or au niveau du bit des constantes qui représentent les protocoles pris en charge par le pilote de bus de port parallèle. Pour connaître les valeurs de protocole avant et inverse, consultez les constantes de protocole définies dans ntddpar.h (de NONE à ECP_ANY).

[in] ModeMaskRev

Spécifie les protocoles inverses. ModeMaskRev est une OR au niveau du bit des constantes qui représentent les protocoles pris en charge par le pilote de bus de port parallèle.

[in] ModeSafety

Spécifie le mode de sécurité. Doit être défini sur la valeur d’énumération SAFE_MODE du type d’énumération PARALLEL_SAFETY :

typedef enum {
  SAFE_MODE,
  UNSAFE_MODE
} PARALLEL_SAFETY;

[in] IsForward

Spécifie s’il faut connecter le protocole avant ou inverse que la routine négocie. Si IsForward a la valeur TRUE, le protocole forward est connecté. Sinon, le protocole inverse est connecté.

Valeur retournée

Code de retour Descriptif
STATUS_SUCCESSFUL Le mode IEEE a été négocié avec succès.
STATUS_DEVICE_PROTOCOL_ERROR Un mode IEEE est déjà défini sur l’appareil.
STATUS_xxx Une opération interne a entraîné une erreur NTSTATUS.

Remarques

Pour obtenir un pointeur vers le rappel PNEGOTIATE_IEEE_MODE fourni par le système, un pilote en mode noyau utilise une requête IOCTL_INTERNAL_PARCLASS_CONNECT, qui retourne une structure PARCLASS_INFORMATION. Le membre NegotiateIeeeMode de la structure PARCLASS_INFORMATION est un pointeur vers ce rappel.

Le rappel PNEGOTIATE_IEEE_MODE s’exécute dans le thread de l’appelant au niveau du runtime d’intégration de l’appelant.

Spécifications

Besoin Valeur
Plateforme cible Bureau (informatique)
En-tête parallel.h (include parallel.h)

Voir aussi