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 結構是選擇性參數, (pLogData) HttpSendResponseEntityBodyHttpSendHttpResponse 函式,從 HTTP 2.0 版 API 開始。 HTTP_LOG_FIELDS_DATA 結構會指定回應中記錄的欄位。

除非傳遞這個結構,否則即使伺服器記錄屬性是在 URL 群組或伺服器會話上設定,也不會記錄回應。 除非應用程式透過每個響應傳遞 HTTP_LOG_FIELDS_DATA 結構,而且記錄屬性是在伺服器會話或URL群組上設定,否則不會記錄要求。 HTTP_LOG_FIELDS_DATA 結構中的大部分欄位都可以從HTTP_REQUEST結構中的對應欄位初始化,不過,只有應用程式知道某些記錄欄位;例如,Win32Status 和 SubStatus。 此結構可讓應用程式改變記錄的欄位。 應用程式會傳遞 NULL 指標,並針對對應的成員傳遞零長度,以停用該欄位的記錄。

應用程式必須提供 最後一個 傳送呼叫HTTP_LOG_FIELDS_DATA結構。 如果使用對 HttpSendHttpResponse 的單一呼叫來傳送回應,則必須在此呼叫中提供記錄數據。 如果回應是透過多個傳送呼叫傳送,則必須將數據提供給 HttpSendResponseEntityBody 的最後一個呼叫。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 http.h

另請參閱

HTTP 伺服器 API 2.0 版結構

HTTP_RESPONSE_V1

HTTP_RESPONSE_V2

HttpSendHttpResponse

HttpSendResponseEntityBody