HTTP_LOG_FIELDS_DATA 構造体 (http.h)

HTTP_LOG_FIELDS_DATA構造体は、WC3 ログ記録が有効になっているときに HTTP 応答に対してログに記録されるフィールドを渡すために使用されます。

構文

typedef struct _HTTP_LOG_FIELDS_DATA {
  HTTP_LOG_DATA Base;
  USHORT        UserNameLength;
  USHORT        UriStemLength;
  USHORT        ClientIpLength;
  USHORT        ServerNameLength;
  USHORT        ServiceNameLength;
  USHORT        ServerIpLength;
  USHORT        MethodLength;
  USHORT        UriQueryLength;
  USHORT        HostLength;
  USHORT        UserAgentLength;
  USHORT        CookieLength;
  USHORT        ReferrerLength;
  PWCHAR        UserName;
  PWCHAR        UriStem;
  PCHAR         ClientIp;
  PCHAR         ServerName;
  PCHAR         ServiceName;
  PCHAR         ServerIp;
  PCHAR         Method;
  PCHAR         UriQuery;
  PCHAR         Host;
  PCHAR         UserAgent;
  PCHAR         Cookie;
  PCHAR         Referrer;
  USHORT        ServerPort;
  USHORT        ProtocolStatus;
  ULONG         Win32Status;
  HTTP_VERB     MethodNum;
  USHORT        SubStatus;
} HTTP_LOG_FIELDS_DATA, *PHTTP_LOG_FIELDS_DATA;

メンバー

Base

このメンバーを、HTTP_LOG_DATA_TYPE列挙体の HttpLogDataTypeFields 値に初期化します。

UserNameLength

ユーザー名メンバーのサイズ (バイト単位)。

UriStemLength

URI ステム メンバーのサイズ (バイト単位)。

ClientIpLength

クライアント IP アドレス メンバーのサイズ (バイト単位)。

ServerNameLength

サーバー名メンバーのサイズ (バイト単位)。

ServiceNameLength

ServerIpLength

サーバー IP アドレス メンバーのサイズ (バイト単位)。

MethodLength

HTTP メソッド メンバーのサイズ (バイト単位)。

UriQueryLength

URI クエリ メンバーのサイズ (バイト単位)。

HostLength

ホスト名メンバーのサイズ (バイト単位)。

UserAgentLength

ユーザー エージェント メンバーのサイズ (バイト単位)。

CookieLength

Cookie メンバーのサイズ (バイト単位)。

ReferrerLength

参照元メンバーのサイズ (バイト単位)。

UserName

ユーザーの名前です。

UriStem

URI ステム。

ClientIp

クライアントの IP アドレス。

ServerName

サーバーの名前。

ServiceName

サービスの名前。

ServerIp

サーバーの IP アドレス。

Method

HTTP メソッド。

UriQuery

URI クエリ。

Host

要求からのホスト情報。

UserAgent

ユーザー エージェント名。

Cookie

アプリケーションによって提供される Cookie。

Referrer

参照元。

ServerPort

サーバーのポート。

ProtocolStatus

プロトコルの状態。

Win32Status

win32 の状態。

MethodNum

メソッド番号。

SubStatus

サブ状態。

注釈

HTTP_LOG_FIELDS_DATA構造体は、HTTP バージョン 2.0 API 以降の HttpSendResponseEntityBody 関数と HttpSendHttpResponse 関数の省略可能なパラメーター (pLogData) です。 HTTP_LOG_FIELDS_DATA構造体は、応答に記録されるフィールドを指定します。

この構造が渡されない限り、URL グループまたはサーバー セッションでサーバー ログ プロパティが設定されている場合でも、応答はログに記録されません。 アプリケーションが各応答で HTTP_LOG_FIELDS_DATA 構造を渡し、サーバー セッションまたは URL グループでログ記録プロパティを設定しない限り、要求はログに記録されません。 HTTP_LOG_FIELDS_DATA構造体のほとんどのフィールドは、HTTP_REQUEST構造体の対応するフィールドから初期化できますが、一部のログ フィールドはアプリケーションでのみ認識されます。たとえば、Win32Status や SubStatus などです。 この構造により、アプリケーションはログに記録されるフィールドを変更できます。 アプリケーションは、対応するメンバーの NULL ポインターと長さ 0 を渡して、そのフィールドのログ記録を無効にします。

アプリケーションは、最後の送信呼び出 しでHTTP_LOG_FIELDS_DATA 構造を提供する必要があります。 HttpSendHttpResponse への 1 回の呼び出しで応答が送信される場合は、この呼び出しでログ データを指定する必要があります。 応答が複数の送信呼び出しで送信される場合は、 HttpSendResponseEntityBody の最後の呼び出しでデータを指定する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header http.h

こちらもご覧ください

HTTP Server API バージョン 2.0 構造体

HTTP_RESPONSE_V1

HTTP_RESPONSE_V2

HttpSendHttpResponse

HttpSendResponseEntityBody