Leaked source code of windows server 2003
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

  1. // script.idl : IDL source for script.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (script.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. typedef enum IOMode{
  8. ForReading = 1,
  9. ForWriting = 2,
  10. AllOpenFiles = 32
  11. } IOMode;
  12. [
  13. object,
  14. uuid(26B9ECFF-A3D8-11D1-8B9C-080009DCC2FA),
  15. oleautomation,
  16. dual,
  17. 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."),
  18. pointer_default(unique)
  19. ]
  20. interface ILogScripting : IDispatch
  21. {
  22. [id(1), helpstring("Opens log file for reading or writing. See documentation regarding behavior when Mode is ForReading.")]
  23. HRESULT OpenLogFile(
  24. [in] BSTR szLogFileName,
  25. [in] IOMode Mode,
  26. [in] BSTR szServiceName,
  27. [in] long iServiceInstance,
  28. [in] BSTR szOutputLogFileFormat
  29. );
  30. [id(2), helpstring("Closes open log files. Valid values are as defined by IOMode.")]
  31. HRESULT CloseLogFiles(
  32. [in] IOMode Mode
  33. );
  34. [id(3), helpstring("Filter reading to only return records between the start and end DateTime.")]
  35. HRESULT ReadFilter(
  36. [in] DATE startDateTime,
  37. [in] DATE endDateTime
  38. );
  39. [id(4), helpstring("Reads a log record satisfying the criterion specified in OpenLogFile.")]
  40. HRESULT ReadLogRecord(
  41. );
  42. [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.")]
  43. HRESULT AtEndOfLog(
  44. [out, ref, retval] VARIANT_BOOL * pfEndOfRead
  45. );
  46. [id(6), helpstring("Writes the log record available through the incoming interface to the output file.")]
  47. HRESULT WriteLogRecord(
  48. [in] ILogScripting * pILogScripting
  49. );
  50. [id(7), propget, helpstring("Date & Time for the log record in GMT. Variant type is DATE")]
  51. HRESULT DateTime(
  52. [out, ref, retval] VARIANT * pvarDateTime
  53. );
  54. [id(8), propget, helpstring("Name of service servicing the request. Variant type is String")]
  55. HRESULT ServiceName(
  56. [out, ref, retval] VARIANT * pvarServiceName
  57. );
  58. [id(9), propget, helpstring("Name of server servicing the request. Variant type is String")]
  59. HRESULT ServerName(
  60. [out, ref, retval] VARIANT * pvarServerName
  61. );
  62. [id(10), propget, helpstring("IP address of the client that made the request. Variant type is String")]
  63. HRESULT ClientIP(
  64. [out, ref, retval] VARIANT * pvarClientIP
  65. );
  66. [id(11), propget, helpstring("Client user name for the request. Variant type is String")]
  67. HRESULT UserName(
  68. [out, ref, retval] VARIANT * pvarUserName
  69. );
  70. [id(12), propget, helpstring("IP address of the server that serviced the request. Variant type is String")]
  71. HRESULT ServerIP(
  72. [out, ref, retval] VARIANT * pvarServerIP
  73. );
  74. [id(13), propget, helpstring("Method call (get, put etc) specified for the request. Variant type is String")]
  75. HRESULT Method(
  76. [out, ref, retval] VARIANT * pvarMethod
  77. );
  78. [id(14), propget, helpstring("Target url for the request. Variant type is String")]
  79. HRESULT URIStem(
  80. [out, ref, retval] VARIANT * pvarURIStem
  81. );
  82. [id(15), propget, helpstring("Parameters for this request. Variant type is String")]
  83. HRESULT URIQuery(
  84. [out, ref, retval] VARIANT * pvarURIQuery
  85. );
  86. [id(16), propget, helpstring("Server time taken to process this request. Variant type is Long")]
  87. HRESULT TimeTaken(
  88. [out, ref, retval] VARIANT * pvarTimeTaken
  89. );
  90. [id(17), propget, helpstring("Bytes sent from the server to the client. Variant type is Long")]
  91. HRESULT BytesSent(
  92. [out, ref, retval] VARIANT * pvarBytesSent
  93. );
  94. [id(18), propget, helpstring("Bytes received by the server from the client. Variant type is Long")]
  95. HRESULT BytesReceived(
  96. [out, ref, retval] VARIANT * pvarBytesReceived
  97. );
  98. [id(19), propget, helpstring("Win32 status of processing this request. Variant type is Long")]
  99. HRESULT Win32Status(
  100. [out, ref, retval] VARIANT * pvarWin32Status
  101. );
  102. [id(20), propget, helpstring("Protocol status of processing this request. Variant type is Long")]
  103. HRESULT ProtocolStatus(
  104. [out, ref, retval] VARIANT * pvarProtocolStatus
  105. );
  106. [id(21), propget, helpstring("Server port number where the request was received. Variant type is Long")]
  107. HRESULT ServerPort(
  108. [out, ref, retval] VARIANT * pvarServerPort
  109. );
  110. [id(22), propget, helpstring("Protocol version used for this request. Variant type is String")]
  111. HRESULT ProtocolVersion(
  112. [out, ref, retval] VARIANT * pvarProtocolVersion
  113. );
  114. [id(23), propget, helpstring("User Agent for this request. Variant type is String")]
  115. HRESULT UserAgent(
  116. [out, ref, retval] VARIANT * pvarUserAgent
  117. );
  118. [id(24), propget, helpstring("Cookie sent with this request. Variant type is String")]
  119. HRESULT Cookie(
  120. [out, ref, retval] VARIANT * pvarCookie
  121. );
  122. [id(25), propget, helpstring("Referring URL for this request. Variant type is String")]
  123. HRESULT Referer(
  124. [out, ref, retval] VARIANT * pvarReferer
  125. );
  126. [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")]
  127. HRESULT CustomFields(
  128. [out, ref, retval] VARIANT * pvarCustomFieldsArray
  129. );
  130. };
  131. [
  132. uuid(B758F2F9-A3D6-11D1-8B9C-080009DCC2FA),
  133. version(1.0),
  134. helpstring("MSWC IIS Log Object Library")
  135. ]
  136. library IISLog
  137. {
  138. importlib("stdole2.tlb");
  139. [
  140. uuid(26B9ED02-A3D8-11D1-8B9C-080009DCC2FA),
  141. helpstring("MSWC.IISLog")
  142. ]
  143. coclass LogScripting
  144. {
  145. [default] interface ILogScripting;
  146. };
  147. };