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
쿠키 멤버의 크기(바이트)입니다.
ReferrerLength
참조자 멤버의 크기(바이트)입니다.
UserName
사용자의 이름입니다.
UriStem
URI 줄기입니다.
ClientIp
클라이언트의 IP 주소입니다.
ServerName
서버의 이름입니다.
ServiceName
서비스의 이름입니다.
ServerIp
서버의 IP 주소입니다.
Method
HTTP 메서드입니다.
UriQuery
URI 쿼리입니다.
Host
요청의 호스트 정보입니다.
UserAgent
사용자 에이전트 이름입니다.
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에 대한 단일 호출로 응답을 보내는 경우 이 호출에서 로그 데이터를 제공해야 합니다. 여러 송신 호출을 통해 응답이 전송되는 경우 HttpSendResponseEntityBody에 대한 마지막 호출과 함께 데이터를 제공해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
머리글 | http.h |