|
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
namespace Networking.HttpServer
{
/// <summary>Used to pass the fields that are logged for an HTTP response when WC3 logging is enabled.</summary>
/// <remarks>
/// <para>The <b>HTTP_LOG_FIELDS_DATA</b> structure is an optional parameter (pLogData) in the <a href="https://docs.microsoft.com/windows/desktop/api/http/nf-http-httpsendresponseentitybody">HttpSendResponseEntityBody</a> and <a href="https://docs.microsoft.com/windows/desktop/api/http/nf-http-httpsendhttpresponse">HttpSendHttpResponse</a> functions starting with the HTTP version 2.0 API. The <b>HTTP_LOG_FIELDS_DATA</b> structure specifies which fields are logged in the response. Unless this structure is passed, the response will not be logged, even when the server logging property is set on a URL group or a server session. Requests will not be logged unless the application passes the <b>HTTP_LOG_FIELDS_DATA</b> structure with each response and the logging property is set on the server session or URL Group. Most of the fields in the <b>HTTP_LOG_FIELDS_DATA</b> structure can be initialized from the corresponding field in the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/aa364545(v=vs.85)">HTTP_REQUEST</a> structure, however, some of the log fields are only known to the application; for example, Win32Status and SubStatus. This structure enables applications to alter the fields that are logged. The application passes a <b>NULL</b> pointer and a zero length for the corresponding member to disable logging for that field. Applications must provide the <b>HTTP_LOG_FIELDS_DATA</b> structure with the last send call. If a response is sent with a single call to <a href="https://docs.microsoft.com/windows/desktop/api/http/nf-http-httpsendhttpresponse">HttpSendHttpResponse</a>, the log data must be provided in this call. If the response is sent over multiple send calls, the data must be provided with the last call to <a href="https://docs.microsoft.com/windows/desktop/api/http/nf-http-httpsendresponseentitybody">HttpSendResponseEntityBody</a>.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/http/ns-http-http_log_fields_data#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.46-beta+dd815b2b9b")]
internal partial struct HTTP_LOG_FIELDS_DATA
{
/// <summary>Initialize this member to the <b>HttpLogDataTypeFields</b> value of the <a href="https://docs.microsoft.com/windows/desktop/api/http/ne-http-http_log_data_type">HTTP_LOG_DATA_TYPE</a> enumeration.</summary>
internal winmdroot.Networking.HttpServer.HTTP_LOG_DATA Base;
/// <summary>The size, in bytes, of the user name member.</summary>
internal ushort UserNameLength;
/// <summary>The size, in bytes, of the URI stem member.</summary>
internal ushort UriStemLength;
/// <summary>The size, in bytes, of the client IP address member.</summary>
internal ushort ClientIpLength;
/// <summary>The size, in bytes, of the server name member.</summary>
internal ushort ServerNameLength;
/// <summary></summary>
internal ushort ServiceNameLength;
/// <summary>The size, in bytes, of the server IP address member.</summary>
internal ushort ServerIpLength;
/// <summary>The size, in bytes, of the HTTP method member.</summary>
internal ushort MethodLength;
/// <summary>The size, in bytes, of the URI query member.</summary>
internal ushort UriQueryLength;
/// <summary>The size, in bytes, of the host name member.</summary>
internal ushort HostLength;
/// <summary>The size, in bytes, of the user agent member.</summary>
internal ushort UserAgentLength;
/// <summary>The size, in bytes, of the cookie member.</summary>
internal ushort CookieLength;
/// <summary>The size, in bytes, of the referrer member.</summary>
internal ushort ReferrerLength;
/// <summary>The name of the user.</summary>
internal winmdroot.Foundation.PWSTR UserName;
/// <summary>The URI stem.</summary>
internal winmdroot.Foundation.PWSTR UriStem;
/// <summary>The IP address of the client.</summary>
internal winmdroot.Foundation.PSTR ClientIp;
/// <summary>The name of the server.</summary>
internal winmdroot.Foundation.PSTR ServerName;
/// <summary>The name of the service.</summary>
internal winmdroot.Foundation.PSTR ServiceName;
/// <summary>The IP address of the server.</summary>
internal winmdroot.Foundation.PSTR ServerIp;
/// <summary>The HTTP method.</summary>
internal winmdroot.Foundation.PSTR Method;
/// <summary>The URI query.</summary>
internal winmdroot.Foundation.PSTR UriQuery;
/// <summary>The host information from the request.</summary>
internal winmdroot.Foundation.PSTR Host;
/// <summary>The user agent name.</summary>
internal winmdroot.Foundation.PSTR UserAgent;
/// <summary>The cookie provided by the application.</summary>
internal winmdroot.Foundation.PSTR Cookie;
/// <summary>The referrer.</summary>
internal winmdroot.Foundation.PSTR Referrer;
/// <summary>The port for the server.</summary>
internal ushort ServerPort;
/// <summary>The protocol status.</summary>
internal ushort ProtocolStatus;
/// <summary>The win32 status.</summary>
internal uint Win32Status;
/// <summary>The method number.</summary>
internal winmdroot.Networking.HttpServer.HTTP_VERB MethodNum;
/// <summary>The sub status.</summary>
internal ushort SubStatus;
}
}
}
|