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) HttpSendResponseEntityBody 和 HttpSendHttpResponse 函式,從 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 |