Win32 API 日本語リファレンス
ホームNetworking.WinSock › SOCKET_SECURITY_PROTOCOL

SOCKET_SECURITY_PROTOCOL

列挙型
基底型i4

メンバー 4

名前10進16進説明
SOCKET_SECURITY_PROTOCOL_DEFAULT00x0既定のシステムセキュリティが使用されます。
SOCKET_SECURITY_PROTOCOL_IPSEC10x1IPsec が使用されます。
SOCKET_SECURITY_PROTOCOL_IPSEC220x2
SOCKET_SECURITY_PROTOCOL_INVALID30x3SOCKET_SECURITY_PROTOCOL 列挙型で取り得る最大値です。これは有効な値ではありません。

公式ドキュメント

SOCKET_SECURITY_PROTOCOL 列挙型は、ネットワークトラフィックを保護するためにソケットで使用されるセキュリティプロトコルの種類を示します。

解説(Remarks)

この列挙型は Windows Vista 以降でサポートされます。

現在サポートされているセキュリティプロトコルの種類は IPsec のみです。そのため、列挙値に SOCKET_SECURITY_PROTOCOL_DEFAULT を指定することは、SOCKET_SECURITY_PROTOCOL_IPSEC を指定することと同じ効果になります。

SOCKET_SECURITY_PROTOCOL 列挙型は、SOCKET_PEER_TARGET_NAMESOCKET_SECURITY_QUERY_INFOSOCKET_SECURITY_QUERY_TEMPLATESOCKET_SECURITY_SETTINGS、および SOCKET_SECURITY_SETTINGS_IPSEC の各構造体の SecurityProtocol メンバーで、ソケットで使用されるセキュリティプロトコルの種類を示すために使用されます。これらの構造体は、WSAQuerySocketSecurityWSASetSocketPeerTargetName、および WSASetSocketSecurity の各関数で使用されます。

この型は、セキュリティプロトコルを識別するだけでなく、セキュアソケット関数の一部に渡されるポインターをどのように解釈するかを決定するためにも使用されます。これは、sockaddr 型の sa_family メンバーが、ポインターを sockaddr_insockaddr_in6 のどちらとして解釈するかを判断するために使用されるのと同様です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum SOCKET_SECURITY_PROTOCOL : int {
    SOCKET_SECURITY_PROTOCOL_DEFAULT = 0,
    SOCKET_SECURITY_PROTOCOL_IPSEC = 1,
    SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2,
    SOCKET_SECURITY_PROTOCOL_INVALID = 3
} SOCKET_SECURITY_PROTOCOL;
public enum SOCKET_SECURITY_PROTOCOL : int
{
    SOCKET_SECURITY_PROTOCOL_DEFAULT = 0,
    SOCKET_SECURITY_PROTOCOL_IPSEC = 1,
    SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2,
    SOCKET_SECURITY_PROTOCOL_INVALID = 3,
}
Public Enum SOCKET_SECURITY_PROTOCOL As Integer
    SOCKET_SECURITY_PROTOCOL_DEFAULT = 0
    SOCKET_SECURITY_PROTOCOL_IPSEC = 1
    SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2
    SOCKET_SECURITY_PROTOCOL_INVALID = 3
End Enum
import enum

class SOCKET_SECURITY_PROTOCOL(enum.IntEnum):
    SOCKET_SECURITY_PROTOCOL_DEFAULT = 0
    SOCKET_SECURITY_PROTOCOL_IPSEC = 1
    SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2
    SOCKET_SECURITY_PROTOCOL_INVALID = 3
// SOCKET_SECURITY_PROTOCOL
pub const SOCKET_SECURITY_PROTOCOL_DEFAULT: i32 = 0;
pub const SOCKET_SECURITY_PROTOCOL_IPSEC: i32 = 1;
pub const SOCKET_SECURITY_PROTOCOL_IPSEC2: i32 = 2;
pub const SOCKET_SECURITY_PROTOCOL_INVALID: i32 = 3;
// SOCKET_SECURITY_PROTOCOL
const (
	SOCKET_SECURITY_PROTOCOL_DEFAULT int32 = 0
	SOCKET_SECURITY_PROTOCOL_IPSEC int32 = 1
	SOCKET_SECURITY_PROTOCOL_IPSEC2 int32 = 2
	SOCKET_SECURITY_PROTOCOL_INVALID int32 = 3
)
const
  SOCKET_SECURITY_PROTOCOL_DEFAULT = 0;
  SOCKET_SECURITY_PROTOCOL_IPSEC = 1;
  SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2;
  SOCKET_SECURITY_PROTOCOL_INVALID = 3;
// SOCKET_SECURITY_PROTOCOL
pub const SOCKET_SECURITY_PROTOCOL_DEFAULT: i32 = 0;
pub const SOCKET_SECURITY_PROTOCOL_IPSEC: i32 = 1;
pub const SOCKET_SECURITY_PROTOCOL_IPSEC2: i32 = 2;
pub const SOCKET_SECURITY_PROTOCOL_INVALID: i32 = 3;
const
  SOCKET_SECURITY_PROTOCOL_DEFAULT* = 0
  SOCKET_SECURITY_PROTOCOL_IPSEC* = 1
  SOCKET_SECURITY_PROTOCOL_IPSEC2* = 2
  SOCKET_SECURITY_PROTOCOL_INVALID* = 3
enum SOCKET_SECURITY_PROTOCOL : int {
    SOCKET_SECURITY_PROTOCOL_DEFAULT = 0,
    SOCKET_SECURITY_PROTOCOL_IPSEC = 1,
    SOCKET_SECURITY_PROTOCOL_IPSEC2 = 2,
    SOCKET_SECURITY_PROTOCOL_INVALID = 3,
}
#define global SOCKET_SECURITY_PROTOCOL_DEFAULT 0x0
#define global SOCKET_SECURITY_PROTOCOL_IPSEC   0x1
#define global SOCKET_SECURITY_PROTOCOL_IPSEC2  0x2
#define global SOCKET_SECURITY_PROTOCOL_INVALID 0x3