다음을 통해 공유


PROTOCOL_INFOA 구조체(nspapi.h)

PROTOCOL_INFO 구조에는 프로토콜에 대한 정보가 포함됩니다.

구문

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;

멤버

dwServiceFlags

형식:DWORD

프로토콜에서 제공하는 서비스를 지정하는 비트 플래그 집합입니다. 다음 비트 플래그 중 하나 이상을 설정할 수 있습니다.

의미
XP_CONNECTIONLESS
이 플래그가 설정된 경우 프로토콜은 연결 없는(데이터그램) 서비스를 제공합니다. 이 플래그가 명확한 경우 프로토콜은 연결 지향 데이터 전송을 제공합니다.
XP_GUARANTEED_DELIVERY
이 플래그가 설정되면 프로토콜은 전송된 모든 데이터가 의도한 대상에 도달하도록 보장합니다. 이 플래그가 명확한 경우 이러한 보장은 없습니다.
XP_GUARANTEED_ORDER
이 플래그가 설정되면 프로토콜은 데이터가 전송된 순서대로 도착하도록 보장합니다. 이 특성은 데이터의 배달을 보장하지 않으며 순서만 보장합니다. 이 플래그가 명확하면 전송된 데이터의 순서가 보장되지 않습니다.
XP_MESSAGE_ORIENTED
이 플래그가 설정된 경우 프로토콜은 메시지 지향입니다. 메시지 지향 프로토콜은 메시지 경계를 적용합니다. 이 플래그가 명확하면 프로토콜이 스트림 지향적이며 메시지 경계의 개념은 관련이 없습니다.
XP_PSEUDO_STREAM
이 플래그가 설정된 경우 프로토콜은 모든 수신 작업에 대한 메시지 경계를 무시하는 메시지 지향 프로토콜입니다.

이 선택적 기능은 프로토콜이 메시지를 프레임화하지 않으려는 경우에 유용합니다. 스트림 지향 특성이 필요한 애플리케이션은 iSocketType 값에 관계없이 이 기능을 지원하는 전송 프로토콜에 대한 형식 SOCK_STREAM 있는 소켓을 열 수 있습니다.

XP_GRACEFUL_CLOSE
이 플래그가 설정된 경우 프로토콜은 정상 닫기 작업이라고도 하는 2단계 닫기 작업을 지원합니다. 이 플래그가 명확하면 프로토콜은 중단 닫기 작업만 지원합니다.
XP_EXPEDITED_DATA
이 플래그가 설정되면 프로토콜은 긴급 데이터라고도 하는 신속한 데이터를 지원합니다.
XP_CONNECT_DATA
이 플래그가 설정된 경우 프로토콜은 연결 데이터를 지원합니다.
XP_DISCONNECT_DATA
이 플래그가 설정된 경우 프로토콜은 데이터 연결 끊기를 지원합니다.
XP_SUPPORTS_BROADCAST
이 플래그가 설정된 경우 프로토콜은 브로드캐스트 메커니즘을 지원합니다.
XP_SUPPORTS_MULTICAST
이 플래그가 설정된 경우 프로토콜은 멀티캐스트 메커니즘을 지원합니다.
XP_BANDWIDTH_ALLOCATION
이 플래그가 설정된 경우 프로토콜은 애플리케이션에 보장된 대역폭을 할당하는 메커니즘을 지원합니다.
XP_FRAGMENTATION
이 플래그가 설정된 경우 프로토콜은 메시지 조각화를 지원합니다. 물리적 네트워크 MTU는 애플리케이션에서 숨겨집니다.
XP_ENCRYPTS
이 플래그가 설정된 경우 프로토콜은 데이터 암호화를 지원합니다.

iAddressFamily

형식: INT

프로토콜에 대한 소켓을 열기 위해 소켓 함수를 호출할 때 af 매개 변수로 전달할 값입니다. 이 주소 패밀리 값은 프로토콜에서 사용하는 sockaddr 구조라고도 하는 프로토콜 주소의 구조를 고유하게 정의합니다.

iMaxSockAddr

형식: INT

프로토콜에서 지원하는 소켓 주소의 최대 길이(바이트)입니다.

iMinSockAddr

형식: INT

프로토콜에서 지원하는 소켓 주소의 최소 길이(바이트)입니다.

iSocketType

형식: INT

프로토콜에 대한 소켓을 열기 위해 소켓 함수를 호출할 때 형식 매개 변수로 전달할 값입니다.

XP_PSEUDO_STREAM dwServiceFlags에서 설정된 경우 애플리케이션은 iSocketType 값에 관계없이 SOCK_STREAM 소켓대한 형식 매개 변수로 지정할 수 있습니다.

iProtocol

형식: INT

프로토콜에 대한 소켓을 열기 위해 소켓 함수를 호출할 때 프로토콜 매개 변수로 전달할 값입니다.

dwMessageSize

형식:DWORD

프로토콜에서 지원하는 최대 메시지 크기(바이트)입니다. 호스트에서 보내거나 받을 수 있는 메시지의 최대 크기입니다. 메시지 프레이밍을 지원하지 않는 프로토콜의 경우 지정된 주소로 보낼 수 있는 메시지의 실제 최대 크기가 이 값보다 작을 수 있습니다.

다음과 같은 특수 메시지 크기 값이 정의됩니다.

의미
0
프로토콜은 스트림 지향입니다. 메시지 크기의 개념은 관련이 없습니다.
0xffffffff
프로토콜은 메시지 지향이지만 최대 메시지 크기는 없습니다.

lpProtocol

형식: LPTSTR

프로토콜의 이름을 제공하는 0으로 끝나는 문자열에 대한 포인터입니다. 예를 들면 "SPX2"입니다.

설명

참고

nspapi.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 PROTOCOL_INFO 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 nspapi.h

추가 정보

EnumProtocols

socket