PNEGOTIATE_IEEE_MODE

La rutina de devolución de llamada con tipo PNEGOTIATE_IEEE_MODE selecciona los protocolos de avance e inverso más rápidos que admite el controlador de bus suministrado por el sistema para puertos paralelos entre los especificados por el autor de la llamada. El controlador de bus suministrado por el sistema para puertos paralelos proporciona esta rutina.

Sintaxis

PNEGOTIATE_IEEE_MODE PnegotiateIeeeMode;

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

Parámetros

[in] Context

Puntero a la extensión de dispositivo de un objeto de dispositivo físico del dispositivo paralelo (PDO ).

[in] ModeMaskFwd

Especifica los protocolos de reenvío. ModeMaskFwd es un OR bit a bit de las constantes que representan los protocolos que admite el controlador de bus de puerto paralelo. Para conocer los valores del protocolo hacia delante e inverso, consulte las constantes de protocolo definidas en ntddpar.h (de NONE a ECP_ANY).

[in] ModeMaskRev

Especifica los protocolos inversos. ModeMaskRev es un OR bit a bit de las constantes que representan los protocolos que admite el controlador de bus de puerto paralelo.

[in] ModeSafety

Especifica el modo de seguridad. Debe establecerse en el valor de enumeración SAFE_MODE del tipo de enumeración PARALLEL_SAFETY:

typedef enum {
  SAFE_MODE,
  UNSAFE_MODE
} PARALLEL_SAFETY;

[in] IsForward

Especifica si se va a conectar el protocolo hacia delante o inverso que negocia la rutina. Si IsForward es TRUE, el protocolo de reenvío está conectado. De lo contrario, el protocolo inverso está conectado.

Valor devuelto

Código de retorno Descripción
STATUS_SUCCESSFUL El modo IEEE se negoció correctamente.
STATUS_DEVICE_PROTOCOL_ERROR Ya se ha establecido un modo IEEE en el dispositivo.
STATUS_Xxx Una operación interna produjo un error NTSTATUS.

Observaciones

Para obtener un puntero a la devolución de llamada proporcionada por el sistema PNEGOTIATE_IEEE_MODE, un controlador en modo kernel usa una solicitud de IOCTL_INTERNAL_PARCLASS_CONNECT, que devuelve una estructura PARCLASS_INFORMATION. El miembro NegotiateIeeeMode de la estructura PARCLASS_INFORMATION es un puntero a esta devolución de llamada.

La PNEGOTIATE_IEEE_MODE devolución de llamada se ejecuta en el subproceso del autor de la llamada en irQL del autor de la llamada.

Requisitos

Requisito Importancia
Plataforma de destino Escritorio
encabezado parallel.h (include parallel.h)

Consulte también