HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY 構造体 (http.h)

HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY構造体は、HTTP サービスがバインドするインターネット プロトコル (IP) アドレスの一覧を返すために、HttpQueryServiceConfiguration によって使用されます。

構文

typedef struct _HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY {
  ULONG            AddrCount;
  SOCKADDR_STORAGE AddrList[ANYSIZE_ARRAY];
} HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY, *PHTTP_SERVICE_CONFIG_IP_LISTEN_QUERY;

メンバー

AddrCount

AddrList 配列内のアドレス構造の数。

AddrList[ANYSIZE_ARRAY]

IPv4 または IPv6 形式の IP アドレスを含む SOCKADDR_STORAGE構造体の 配列。 リスト内のアドレスの形式を確認するには、そのアドレスを SOCKADDR にキャストし、 sa_family 要素を調べます。 sa_familyが AF_INET と等しい場合、アドレスは IPv4 形式であるか、AF_INET6と等しい場合は、アドレスは IPv6 形式になります。

解説

IPv4 アドレスは、192.168.197.113 など、それぞれ 0 から 255 の範囲の 4 つのドット付き 10 進数のリテラル文字列として表されます。 IPv4 アドレスは、Windows ヘッダー ファイル Winsock2.h で次のように宣言された sockaddr_in 構造体に含まれています。

  struct sockaddr_in {
    short    sin_family;        /* == AF_INET */
    u_short  sin_port;          /* Transport-level port number */
    struct   in_addr sin_addr;  /* IPv4 address */
    char     sin_zero[8];
  };

SOCKADDR_IN構造体は、typedef によるsockaddr_inとまったく同じです。

IPv6 アドレスは、コロンで区切られた 16 進数を含む角かっこで囲まれたリテラル文字列として表すことができます。例: [::1] と [3ffe:ffff:6ECB:0101]。 IPv6 アドレスは、次のように Windows ヘッダー ファイル WS2tcpip.h で宣言された sockaddr_in6 構造体に含まれています。

  struct sockaddr_in6 {
    short    sin6_family;       /* == AF_INET6 */
    u_short  sin6_port;         /* Transport-level port number */
    u_long   sin6_flowinfo;     /* IPv6 flow information */
    IN6_ADDR sin6_addr;         /* IPv6 address */
    u_long   sin6_scope_id;     /* set of scope interfaces */
  };

SOCKADDR_IN6構造体は、typedef によるsockaddr_in6とまったく同じです。

要件

   
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header http.h

関連項目

HttpQueryServiceConfiguration

SOCKADDR_STORAGE