Compartir a través de


estructura PROTOCOL_INFOA (nspapi.h)

La estructura PROTOCOL_INFO contiene información sobre un protocolo.

Sintaxis

typedef struct _PROTOCOL_INFOA {
  DWORD dwServiceFlags;
  INT   iAddressFamily;
  INT   iMaxSockAddr;
  INT   iMinSockAddr;
  INT   iSocketType;
  INT   iProtocol;
  DWORD dwMessageSize;
  LPSTR lpProtocol;
} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;

Miembros

dwServiceFlags

Tipo: DWORD

Un conjunto de marcas de bits que especifica los servicios proporcionados por el protocolo. Se pueden establecer una o varias de las marcas de bits siguientes.

Valor Significado
XP_CONNECTIONLESS
Si se establece esta marca, el protocolo proporciona un servicio sin conexión (datagrama). Si esta marca está desactivada, el protocolo proporciona transferencia de datos orientada a la conexión.
XP_GUARANTEED_DELIVERY
Si se establece esta marca, el protocolo garantiza que todos los datos enviados lleguen al destino previsto. Si esta marca está clara, no hay ninguna garantía de este tipo.
XP_GUARANTEED_ORDER
Si se establece esta marca, el protocolo garantiza que los datos llegarán en el orden en que se envió. Tenga en cuenta que esta característica no garantiza la entrega de los datos, solo su pedido. Si esta marca está desactivada, no se garantiza el orden de los datos enviados.
XP_MESSAGE_ORIENTED
Si se establece esta marca, el protocolo está orientado a mensajes. Un protocolo orientado a mensajes respeta los límites del mensaje. Si esta marca está clara, el protocolo está orientado a la secuencia y el concepto de límites del mensaje es irrelevante.
XP_PSEUDO_STREAM
Si se establece esta marca, el protocolo es un protocolo orientado a mensajes que omite los límites del mensaje para todas las operaciones de recepción.

Esta funcionalidad opcional es útil cuando no desea que el protocolo enmarca los mensajes. Una aplicación que requiere características orientadas a flujos puede abrir un socket con tipo SOCK_STREAM para protocolos de transporte que admitan esta funcionalidad, independientemente del valor de iSocketType.

XP_GRACEFUL_CLOSE
Si se establece esta marca, el protocolo admite operaciones de cierre en dos fases, también conocidas como operaciones de cierre correctas. Si esta marca está desactivada, el protocolo solo admite operaciones de cierre anulativas.
XP_EXPEDITED_DATA
Si se establece esta marca, el protocolo admite datos acelerados, también conocidos como datos urgentes.
XP_CONNECT_DATA
Si se establece esta marca, el protocolo admite la conexión de datos.
XP_DISCONNECT_DATA
Si se establece esta marca, el protocolo admite la desconexión de datos.
XP_SUPPORTS_BROADCAST
Si se establece esta marca, el protocolo admite un mecanismo de difusión.
XP_SUPPORTS_MULTICAST
Si se establece esta marca, el protocolo admite un mecanismo de multidifusión.
XP_BANDWIDTH_ALLOCATION
Si se establece esta marca, el protocolo admite un mecanismo para asignar un ancho de banda garantizado a una aplicación.
XP_FRAGMENTATION
Si se establece esta marca, el protocolo admite la fragmentación de mensajes; La MTU de red física está oculta de las aplicaciones.
XP_ENCRYPTS
Si se establece esta marca, el protocolo admite el cifrado de datos.

iAddressFamily

Tipo: INT

Valor que se va a pasar como parámetro af cuando se llama a la función de socket para abrir un socket para el protocolo. Este valor de familia de direcciones define de forma única la estructura de las direcciones de protocolo, también conocidas como estructuras de sockaddr , usadas por el protocolo.

iMaxSockAddr

Tipo: INT

Longitud máxima de una dirección de socket compatible con el protocolo, en bytes.

iMinSockAddr

Tipo: INT

Longitud mínima de una dirección de socket compatible con el protocolo, en bytes.

iSocketType

Tipo: INT

Valor que se va a pasar como parámetro de tipo cuando se llama a la función de socket para abrir un socket para el protocolo.

Tenga en cuenta que si XP_PSEUDO_STREAM se establece en dwServiceFlags, la aplicación puede especificar SOCK_STREAM como parámetro de tipo para socket, independientemente del valor de iSocketType.

iProtocol

Tipo: INT

Valor que se va a pasar como parámetro de protocolo cuando se llama a la función de socket para abrir un socket para el protocolo.

dwMessageSize

Tipo: DWORD

Tamaño máximo del mensaje admitido por el protocolo, en bytes. Este es el tamaño máximo de un mensaje que el host puede enviar o recibir. En el caso de los protocolos que no admiten tramas de mensajes, el tamaño máximo real de un mensaje que se puede enviar a una dirección determinada puede ser menor que este valor.

Se definen los siguientes valores de tamaño de mensaje especiales.

Valor Significado
0
El protocolo está orientado a secuencias; el concepto de tamaño del mensaje no es relevante.
0xffffffff
El protocolo está orientado a mensajes, pero no hay ningún tamaño máximo de mensaje.

lpProtocol

Tipo: LPTSTR

Puntero a una cadena terminada en cero que proporciona un nombre para el protocolo; por ejemplo, "SPX2".

Comentarios

Nota

El encabezado nspapi.h define PROTOCOL_INFO como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado nspapi.h

Consulte también

EnumProtocols

socket