You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
7.3 KiB
179 lines
7.3 KiB
// script.idl : IDL source for script.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (script.tlb) and marshalling code.
|
|
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
typedef enum IOMode{
|
|
ForReading = 1,
|
|
ForWriting = 2,
|
|
AllOpenFiles = 32
|
|
} IOMode;
|
|
|
|
[
|
|
object,
|
|
uuid(26B9ECFF-A3D8-11D1-8B9C-080009DCC2FA),
|
|
oleautomation,
|
|
dual,
|
|
helpstring("ILogScripting - for manipulating IIS log records. Supports reading and writing of log records. \nAll return types are variants. A NULL variant means the value was not logged. An Empty variant means a '-' was logged."),
|
|
pointer_default(unique)
|
|
]
|
|
interface ILogScripting : IDispatch
|
|
{
|
|
[id(1), helpstring("Opens log file for reading or writing. See documentation regarding behavior when Mode is ForReading.")]
|
|
HRESULT OpenLogFile(
|
|
[in] BSTR szLogFileName,
|
|
[in] IOMode Mode,
|
|
[in] BSTR szServiceName,
|
|
[in] long iServiceInstance,
|
|
[in] BSTR szOutputLogFileFormat
|
|
);
|
|
|
|
[id(2), helpstring("Closes open log files. Valid values are as defined by IOMode.")]
|
|
HRESULT CloseLogFiles(
|
|
[in] IOMode Mode
|
|
);
|
|
|
|
[id(3), helpstring("Filter reading to only return records between the start and end DateTime.")]
|
|
HRESULT ReadFilter(
|
|
[in] DATE startDateTime,
|
|
[in] DATE endDateTime
|
|
);
|
|
|
|
[id(4), helpstring("Reads a log record satisfying the criterion specified in OpenLogFile.")]
|
|
HRESULT ReadLogRecord(
|
|
);
|
|
|
|
[id(5), helpstring("Are there any more log records to be read after the current position. Only set after an attempt to read past the end.")]
|
|
HRESULT AtEndOfLog(
|
|
[out, ref, retval] VARIANT_BOOL * pfEndOfRead
|
|
);
|
|
|
|
[id(6), helpstring("Writes the log record available through the incoming interface to the output file.")]
|
|
HRESULT WriteLogRecord(
|
|
[in] ILogScripting * pILogScripting
|
|
);
|
|
|
|
[id(7), propget, helpstring("Date & Time for the log record in GMT. Variant type is DATE")]
|
|
HRESULT DateTime(
|
|
[out, ref, retval] VARIANT * pvarDateTime
|
|
);
|
|
|
|
[id(8), propget, helpstring("Name of service servicing the request. Variant type is String")]
|
|
HRESULT ServiceName(
|
|
[out, ref, retval] VARIANT * pvarServiceName
|
|
);
|
|
|
|
[id(9), propget, helpstring("Name of server servicing the request. Variant type is String")]
|
|
HRESULT ServerName(
|
|
[out, ref, retval] VARIANT * pvarServerName
|
|
);
|
|
|
|
[id(10), propget, helpstring("IP address of the client that made the request. Variant type is String")]
|
|
HRESULT ClientIP(
|
|
[out, ref, retval] VARIANT * pvarClientIP
|
|
);
|
|
|
|
[id(11), propget, helpstring("Client user name for the request. Variant type is String")]
|
|
HRESULT UserName(
|
|
[out, ref, retval] VARIANT * pvarUserName
|
|
);
|
|
|
|
[id(12), propget, helpstring("IP address of the server that serviced the request. Variant type is String")]
|
|
HRESULT ServerIP(
|
|
[out, ref, retval] VARIANT * pvarServerIP
|
|
);
|
|
|
|
[id(13), propget, helpstring("Method call (get, put etc) specified for the request. Variant type is String")]
|
|
HRESULT Method(
|
|
[out, ref, retval] VARIANT * pvarMethod
|
|
);
|
|
|
|
[id(14), propget, helpstring("Target url for the request. Variant type is String")]
|
|
HRESULT URIStem(
|
|
[out, ref, retval] VARIANT * pvarURIStem
|
|
);
|
|
|
|
[id(15), propget, helpstring("Parameters for this request. Variant type is String")]
|
|
HRESULT URIQuery(
|
|
[out, ref, retval] VARIANT * pvarURIQuery
|
|
);
|
|
|
|
[id(16), propget, helpstring("Server time taken to process this request. Variant type is Long")]
|
|
HRESULT TimeTaken(
|
|
[out, ref, retval] VARIANT * pvarTimeTaken
|
|
);
|
|
|
|
[id(17), propget, helpstring("Bytes sent from the server to the client. Variant type is Long")]
|
|
HRESULT BytesSent(
|
|
[out, ref, retval] VARIANT * pvarBytesSent
|
|
);
|
|
|
|
[id(18), propget, helpstring("Bytes received by the server from the client. Variant type is Long")]
|
|
HRESULT BytesReceived(
|
|
[out, ref, retval] VARIANT * pvarBytesReceived
|
|
);
|
|
|
|
[id(19), propget, helpstring("Win32 status of processing this request. Variant type is Long")]
|
|
HRESULT Win32Status(
|
|
[out, ref, retval] VARIANT * pvarWin32Status
|
|
);
|
|
|
|
[id(20), propget, helpstring("Protocol status of processing this request. Variant type is Long")]
|
|
HRESULT ProtocolStatus(
|
|
[out, ref, retval] VARIANT * pvarProtocolStatus
|
|
);
|
|
|
|
[id(21), propget, helpstring("Server port number where the request was received. Variant type is Long")]
|
|
HRESULT ServerPort(
|
|
[out, ref, retval] VARIANT * pvarServerPort
|
|
);
|
|
|
|
[id(22), propget, helpstring("Protocol version used for this request. Variant type is String")]
|
|
HRESULT ProtocolVersion(
|
|
[out, ref, retval] VARIANT * pvarProtocolVersion
|
|
);
|
|
|
|
[id(23), propget, helpstring("User Agent for this request. Variant type is String")]
|
|
HRESULT UserAgent(
|
|
[out, ref, retval] VARIANT * pvarUserAgent
|
|
);
|
|
|
|
[id(24), propget, helpstring("Cookie sent with this request. Variant type is String")]
|
|
HRESULT Cookie(
|
|
[out, ref, retval] VARIANT * pvarCookie
|
|
);
|
|
|
|
[id(25), propget, helpstring("Referring URL for this request. Variant type is String")]
|
|
HRESULT Referer(
|
|
[out, ref, retval] VARIANT * pvarReferer
|
|
);
|
|
|
|
[id(26), propget, helpstring("All custom fields with values in a 2-D safearray. The first dimension (x,0) has the W3C headers and the second (x,1) has the value for custom field number x. Variant type is Variant")]
|
|
HRESULT CustomFields(
|
|
[out, ref, retval] VARIANT * pvarCustomFieldsArray
|
|
);
|
|
};
|
|
|
|
[
|
|
uuid(B758F2F9-A3D6-11D1-8B9C-080009DCC2FA),
|
|
version(1.0),
|
|
helpstring("MSWC IIS Log Object Library")
|
|
]
|
|
library IISLog
|
|
{
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(26B9ED02-A3D8-11D1-8B9C-080009DCC2FA),
|
|
helpstring("MSWC.IISLog")
|
|
]
|
|
coclass LogScripting
|
|
{
|
|
[default] interface ILogScripting;
|
|
};
|
|
};
|