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 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.