HTTP_FILTER_LOG - ISAPI Logging notification data.
#include "httpfilt.h" typedef struct _HTTP_FILTER_LOG { const CHAR *pszClientHostName; const CHAR *pszClientUserName; const CHAR *pszServerName; const CHAR *pszOperation; const CHAR *pszTarget; const CHAR *pszParameters; DWORD dwHttpStatus; DWORD dwWin32Status; DWORD dwBytesSent; DWORD dwBytesRecvd; DWORD msTimeForProcessing; } HTTP_FILTER_LOG, *PHTTP_FILTER_LOG;
When HttpFilterProc is called with NotificationType set to SF_NOTIFY_LOG, its pvNotification is a pointer to an HTTP_FILTER_LOG structure carrying the information the web server is about to write to its log files (if any) to record the request.
The string pointers, psz..., may be replaced (though the strings to which they point may not be modified) but the memory to which the replacements point must remain valid (i.e. not be free()ed) until the next notification.
Use of AllocMem(3)
to allocate the memory for replacement
strings is recommended, as this avoids the need to track its lifetime.
The fields of the structure have names which indicate their meanings. Note that the `time for processing' is measured in milliseconds and the Windows-specific error code dwWin32Status should be ignored under Unix (but may evolve into an errno value). The `operation' is the HTTP command (GET, POST, PUT, ...) serviced. The URL requested is decomposed into the `server name', `target' (i.e. path) and `parameters' (i.e. ?name=value&...=...&this=that).
isapi(7),
GetFilterVersion(3),
HttpFilterProc(3),
AllocMem(3),
HTTP_FILTER_CONTEXT(5).
$ZEUSHOME/web/include/httpfilt.h $ZEUSHOME/web/include/wintypes.h $ZEUSHOME/webadmin/docroot/docs/modules/isapi/*.html
Copyright (C) 2000-2001 Zeus Technology Limited. All rights reserved.