pla

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// import guard
	GoPackage = "dcom/pla"
)

Functions

This section is empty.

Types

type APITracingDataCollector

type APITracingDataCollector dcom.InterfacePointer

APITracingDataCollector structure represents IApiTracingDataCollector RPC structure.

The IApiTraceDataCollector interface is used to specify the executables whose API calls are to be logged.

The following properties MUST be implemented by the objects that implement the IApiTracing DataCollector interface.

+--------------------+------------+----------------------------------------------------------------------------------+
|                    |            |                                                                                  |
|      PROPERTY      | READ/WRITE |                                   DESCRIPTION                                    |
|                    |            |                                                                                  |
+--------------------+------------+----------------------------------------------------------------------------------+
+--------------------+------------+----------------------------------------------------------------------------------+
| ExcludeApis        | RW         | List of APIs to exclude from the log.                                            |
+--------------------+------------+----------------------------------------------------------------------------------+
| ExePath            | RW         | Specifies the full path to the executable whose API calls are to be logged.      |
+--------------------+------------+----------------------------------------------------------------------------------+
| IncludeApis        | RW         | List of APIs to include in the trace. All calls to these APIs that are made in   |
|                    |            | the specified executable are logged, even if the modules in which the APIs are   |
|                    |            | defined are not included.                                                        |
+--------------------+------------+----------------------------------------------------------------------------------+
| IncludeModules     | RW         | List of modules to include in the trace. All calls to functions defined in these |
|                    |            | modules that are made in the specified executable are logged.                    |
+--------------------+------------+----------------------------------------------------------------------------------+
| LogApiNamesOnly    | RW         | Specifies whether PLA MUST log only the API name or the arguments and return a   |
|                    |            | value as well.                                                                   |
+--------------------+------------+----------------------------------------------------------------------------------+
| LogApisRecursively | RW         | Specifies whether PLA MUST log only calls that are imported directly by the      |
|                    |            | application or all calls to the specified APIs.                                  |
+--------------------+------------+----------------------------------------------------------------------------------+
| LogFilePath        | RW         | Specifies the name of the file where data MUST be logged to.                     |
+--------------------+------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22) it. The format of the XML that defines a data collector is as follows (note that the full XML specification of the data collector set is in section 3.2.4.19):

This does not show the property elements inherited from IDataCollector that also need to be specified.

Methods in RPC Opnum Order

+--------------------------+------------------------------------------------------+
|                          |                                                      |
|          METHOD          |                     DESCRIPTION                      |
|                          |                                                      |
+--------------------------+------------------------------------------------------+
+--------------------------+------------------------------------------------------+
| LogApiNamesOnly (Get)    | Retrieves the LogApiNamesOnly property. Opnum: 32    |
+--------------------------+------------------------------------------------------+
| LogApiNamesOnly (Put)    | Sets the LogApiNamesOnly property. Opnum: 33         |
+--------------------------+------------------------------------------------------+
| LogApisRecursively (Get) | Retrieves the LogApisRecursively property. Opnum: 34 |
+--------------------------+------------------------------------------------------+
| LogApisRecursively (Put) | Sets the LogApisRecursively property. Opnum: 35      |
+--------------------------+------------------------------------------------------+
| ExePath (Get)            | Retrieves the ExePath property. Opnum: 36            |
+--------------------------+------------------------------------------------------+
| ExePath (Put)            | Sets the ExePath property. Opnum: 37                 |
+--------------------------+------------------------------------------------------+
| LogFilePath (Get)        | Retrieves the LogFilePath property. Opnum: 38        |
+--------------------------+------------------------------------------------------+
| LogFilePath (Put)        | Sets the LogFilePath property. Opnum: 39             |
+--------------------------+------------------------------------------------------+
| IncludeModules (Get)     | Retrieves the IncludeModules property. Opnum: 40     |
+--------------------------+------------------------------------------------------+
| IncludeModules (Put)     | Sets the IncludeModules property. Opnum: 41          |
+--------------------------+------------------------------------------------------+
| IncludeApis (Get)        | Retrieves the IncludeApis property. Opnum: 42        |
+--------------------------+------------------------------------------------------+
| IncludeApis (Put)        | Sets the IncludeApis property. Opnum: 43             |
+--------------------------+------------------------------------------------------+
| ExcludeApis (Get)        | Retrieves the ExcludeApis property. Opnum: 44        |
+--------------------------+------------------------------------------------------+
| ExcludeApis (Put)        | Sets the ExcludeApis property. Opnum: 45             |
+--------------------------+------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface. Opnums 7–31 are used by IDataCollector.

func (*APITracingDataCollector) InterfacePointer

func (o *APITracingDataCollector) InterfacePointer() *dcom.InterfacePointer

func (*APITracingDataCollector) MarshalNDR

func (o *APITracingDataCollector) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*APITracingDataCollector) NDRSizeInfo

func (o *APITracingDataCollector) NDRSizeInfo() []uint64

func (*APITracingDataCollector) UnmarshalNDR

func (o *APITracingDataCollector) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type AlertDataCollector

type AlertDataCollector dcom.InterfacePointer

AlertDataCollector structure represents IAlertDataCollector RPC structure.

The IAlertDataCollector is used to monitor performance counters and to perform actions each time a counter value crosses the given threshold.

The following properties MUST be implemented by the objects that implement the IAlertDataCollector interface.

+-------------------------+------------+----------------------------------------------------------------------------------+
|                         |            |                                                                                  |
|        PROPERTY         | READ/WRITE |                                   DESCRIPTION                                    |
|                         |            |                                                                                  |
+-------------------------+------------+----------------------------------------------------------------------------------+
+-------------------------+------------+----------------------------------------------------------------------------------+
| AlertThresholds         | RW         | List of Performance Counters to monitor, along with the threshold values which   |
|                         |            | are used to generate alerts. The threshold is specified by appending either      |
|                         |            | a '>' or '<' sign along with a value to the Performance Counter path. This       |
|                         |            | defines the threshold to be either greater than or less than the provided value, |
|                         |            | respectively.                                                                    |
+-------------------------+------------+----------------------------------------------------------------------------------+
| EventLog                | RW         | Specifies whether or not an event MUST be written to the Eventlog each time the  |
|                         |            | value of any counter specified in the AlertThresholds property. If set to true   |
|                         |            | and the threshold is crossed, then the event will be logged; otherwise, if set   |
|                         |            | to false, and even if the threshold is crossed, the event is not logged. <20>    |
+-------------------------+------------+----------------------------------------------------------------------------------+
| SampleInterval          | RW         | The time, in seconds, between two consecutive samples. The default value is 15   |
|                         |            | seconds. The minimum sample interval is 1 second, and there is no maximum sample |
|                         |            | interval. However, if the sample interval is set to 0xFFFFFFFF, only one sample  |
|                         |            | will ever be collected.                                                          |
+-------------------------+------------+----------------------------------------------------------------------------------+
| Task                    | RW         | Name of the Task Scheduler job to be executed each time a Performance Counter    |
|                         |            | value crosses the specified threshold.                                           |
+-------------------------+------------+----------------------------------------------------------------------------------+
| TaskArguments           | RW         | If a task is to run, this specifies the arguments that are passed to it. The     |
|                         |            | arguments need to be formatted as command-line arguments. See section 3.2.4.8.11 |
|                         |            | for a table of the command line arguments.                                       |
+-------------------------+------------+----------------------------------------------------------------------------------+
| TaskRunAsSelf           | RW         | When a Task Scheduler job is executed by this AlertDataCollector, this property  |
|                         |            | determines which user it runs as. If the property is set to true, the Task       |
|                         |            | Scheduler job runs with the same user credentials as the DataCollectorSet.       |
|                         |            | By default, this means the Task Scheduler job runs with System credentials.      |
|                         |            | Consequently, it is inadvisable to set this property to true when the task       |
|                         |            | to be run is not fully trusted unless the UserAccount property for the           |
|                         |            | DataCollectorSet has been carefully configured. When the property is set to      |
|                         |            | false, the Task Scheduler job runs with the credentials it was created with. The |
|                         |            | mechanism in use here is delegation. When the creator of a data collector set    |
|                         |            | sets this property to true, he or she is granting this task the same rights that |
|                         |            | the data collector set is running with. When the RunAsSelf property is set to    |
|                         |            | false, no delegation occurs. The task will run only with the permissions it was  |
|                         |            | created with. The credentials that the task runs with are initially created with |
|                         |            | SchRpcRegisterTask specified in [MS-TSCH] section 3.2.5.4.2 and can be updated   |
|                         |            | by SASetAccountInformation specified in [MS-TSCH] section 3.2.5.3.4.             |
+-------------------------+------------+----------------------------------------------------------------------------------+
| TaskUserTextArguments   | RW         | If a task is to run and the arguments include the {usertext} variable, this      |
|                         |            | property determines the value of this variable. Any BSTR is potentially a valid  |
|                         |            | value for this property. For example a random string such as "ch&(26D@!k" is     |
|                         |            | a valid value, as are the strings which would normally reference other task      |
|                         |            | arguments, such as "{name}". In no case will only substring contained in the     |
|                         |            | TaskUserTextArguments be expanded (so if the string includes {name}, the string  |
|                         |            | will be passed to the Task with the {name}, not with the value of {name}. The    |
|                         |            | put method for this property will never fail. The actual semantic validity of    |
|                         |            | any particular BSTR depends on the task specified by the Task property.          |
+-------------------------+------------+----------------------------------------------------------------------------------+
| TriggerDataCollectorSet | RW         | Name of the data collector set to be started each time a counter value crosses   |
|                         |            | the threshold.                                                                   |
+-------------------------+------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22) it. The format of the XML that defines an alert data collector is as follows (the full XML specification of the data collector set is in section 3.2.4.19):

The format of <Alert> is [performance counter] [<|>] [number]. For example: \Processor(_Total)\% Processor Time>1. See [MSDN-COUNT] for the performance counter path representation.

The example does not show the property elements inherited from IDataCollector that also need to be specified.

Methods in RPC Opnum Order

+-------------------------------+-----------------------------------------------------------+
|                               |                                                           |
|            METHOD             |                        DESCRIPTION                        |
|                               |                                                           |
+-------------------------------+-----------------------------------------------------------+
+-------------------------------+-----------------------------------------------------------+
| AlertThresholds (Get)         | Retrieves the AlertThresholds property. Opnum: 32         |
+-------------------------------+-----------------------------------------------------------+
| AlertThresholds (Put)         | Sets the AlertThresholds property. Opnum: 33              |
+-------------------------------+-----------------------------------------------------------+
| EventLog (Get)                | Retrieves the EventLog property. Opnum: 34                |
+-------------------------------+-----------------------------------------------------------+
| EventLog (Put)                | Sets the EventLog property. Opnum: 35                     |
+-------------------------------+-----------------------------------------------------------+
| SampleInterval (Get)          | Retrieves the SampleInterval property. Opnum: 36          |
+-------------------------------+-----------------------------------------------------------+
| SampleInterval (Put)          | Sets the SampleInterval property. Opnum: 37               |
+-------------------------------+-----------------------------------------------------------+
| Task (Get)                    | Retrieves the Task property. Opnum: 38                    |
+-------------------------------+-----------------------------------------------------------+
| Task (Put)                    | Sets the Task property. Opnum: 39                         |
+-------------------------------+-----------------------------------------------------------+
| TaskRunAsSelf (Get)           | Retrieves the TaskRunAsSelf property. Opnum: 40           |
+-------------------------------+-----------------------------------------------------------+
| TaskRunAsSelf (Put)           | Sets the TaskRunAsSelf property. Opnum: 41                |
+-------------------------------+-----------------------------------------------------------+
| TaskArguments (Get)           | Retrieves the TaskArguments property. Opnum: 42           |
+-------------------------------+-----------------------------------------------------------+
| TaskArguments (Put)           | Sets the TaskArguments property. Opnum: 43                |
+-------------------------------+-----------------------------------------------------------+
| TaskUserTextArguments (Get)   | Retrieves the TaskUserTextArguments property. Opnum: 44   |
+-------------------------------+-----------------------------------------------------------+
| TaskUserTextArguments (Put)   | Retrieves the TaskUserTextArguments property. Opnum: 45   |
+-------------------------------+-----------------------------------------------------------+
| TriggerDataCollectorSet (Get) | Retrieves the TriggerDataCollectorSet property. Opnum: 46 |
+-------------------------------+-----------------------------------------------------------+
| TriggerDataCollectorSet (Put) | Sets the TriggerDataCollectorSet property. Opnum: 47      |
+-------------------------------+-----------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface. Opnums 7–31 are used by IDataCollector.

func (*AlertDataCollector) InterfacePointer

func (o *AlertDataCollector) InterfacePointer() *dcom.InterfacePointer

func (*AlertDataCollector) MarshalNDR

func (o *AlertDataCollector) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*AlertDataCollector) NDRSizeInfo

func (o *AlertDataCollector) NDRSizeInfo() []uint64

func (*AlertDataCollector) UnmarshalNDR

func (o *AlertDataCollector) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type AutoPathFormat

type AutoPathFormat uint16

AutoPathFormat type represents AutoPathFormat RPC enumeration.

The AutoPathFormat enumeration defines the information to be appended to the file name or subdirectory name. Any combination of the bits is allowed; multiple bits specify strings to be appended to the file name. When a combination with than one of these bits is specified, the strings are appended in the following order: plaComputer, plaPattern, plaMonthDayHour, plaSerialNumber, plaYearDayOfYear, plaYearMonth, plaYearMonthDay, plaYearMonthDayHour, plaMonthDayHourMinute. Consequently, if all bits are set, the name is represented as follows: [plaComputer]base_name[plaPattern][plaMonthDayHour][plaSerialNumber][plaYearDayOfYear][plaYearMonth][plaYearMonthDay][plaYearMonthDayHour][plaMonthDayHourMinute].

var (
	// plaNone:   Does not append any information to the name.
	AutoPathFormatNone AutoPathFormat = 0
	// plaPattern:  Adds a pattern specified in IDataCollectorSet::SubdirectoryFormatPattern
	// 3.2.4.1.32 or IDataCollector::FileNameFormatPattern 3.2.4.5.7 to the name.
	AutoPathFormatPattern AutoPathFormat = 1
	// plaComputer:  Prefixes the name with the computer name.
	AutoPathFormatComputer AutoPathFormat = 2
	// plaMonthDayHour:  Appends the month, day, and hour to the name in the form, MMddHH.
	AutoPathFormatMonthDayHour AutoPathFormat = 256
	// plaSerialNumber:  Appends the serial number specified in IDataCollectorSet::SerialNumber
	// to the subdirectory name in the form, NNNNNN.
	AutoPathFormatSerialNumber AutoPathFormat = 512
	// plaYearDayOfYear:  Appends the year and day of the year to the name in the form,
	// yyyyDDD.
	AutoPathFormatYearDayOfYear AutoPathFormat = 1024
	// plaYearMonth:  Appends the year and month to the name in the form, yyyyMM.
	AutoPathFormatYearMonth AutoPathFormat = 2048
	// plaYearMonthDay:  Appends the year, month, and day to the name in the form, yyyyMMdd.
	AutoPathFormatYearMonthDay AutoPathFormat = 4096
	// plaYearMonthDayHour:  Appends the year, month, day, and hour to the name in the
	// form, yyyyMMddHH.
	AutoPathFormatYearMonthDayHour AutoPathFormat = 8192
	// plaMonthDayHourMinute:  Appends the month, day, hour, and minute to the name in
	// the form, MMddHHmm.
	AutoPathFormatMonthDayHourMinute AutoPathFormat = 16384
)

func (AutoPathFormat) String

func (o AutoPathFormat) String() string

type ClockType

type ClockType uint16

ClockType type represents ClockType RPC enumeration.

The ClockType enumeration defines the clock resolution to use when tracing events.

var (
	// plaTimeStamp:  Use the raw (unconverted) time stamp.
	ClockTypeTimestamp ClockType = 0
	// plaPerformance:  Query performance counter (QPC). Provides a high-resolution (100
	// nanoseconds) time stamp that is more expensive to retrieve.
	ClockTypePerformance ClockType = 1
	// plaSystem:  System time. Provides a low-resolution (10 milliseconds) time stamp
	// that is less expensive to retrieve.
	ClockTypeSystem ClockType = 2
	// plaCycle:  CPU cycle counter. MAY provide the highest resolution time stamp and
	// is the least expensive to retrieve. However, the CPU counter is unreliable and its
	// use is not recommended.
	ClockTypeCycle ClockType = 3
)

func (ClockType) String

func (o ClockType) String() string

type CommitMode

type CommitMode uint16

CommitMode type represents CommitMode RPC enumeration.

The CommitMode enumeration defines the type of actions to be performed when the changes are committed to the data collector set. Any combination of bits MUST be allowed.

var (
	// plaCreateNew:  For a persistent data collector set, save it to storage. The set
	// MUST not have existed previously on storage.
	CommitModeCreateNew CommitMode = 1
	// plaModify:  Update a previously committed data collector set.
	CommitModeModify CommitMode = 2
	// plaCreateOrModify:  For a persistent data collector set, save it to storage. If
	// the set already exists, the PLA Protocol will update it.
	CommitModeCreateOrModify CommitMode = 3
	// plaUpdateRunningInstance:  If the data collector set is running, apply the updated
	// property values to it.
	CommitModeUpdateRunningInstance CommitMode = 16
	// plaFlushTrace:  If multiple data collector sets are running, flush the event trace
	// data collectors memory buffers to storage or real-time consumers.
	CommitModeFlushTrace CommitMode = 32
	// plaValidateOnly:  Perform validation only on the data collector set.
	CommitModeValidateOnly CommitMode = 4096
)

func (CommitMode) String

func (o CommitMode) String() string

type ConfigurationDataCollector

type ConfigurationDataCollector dcom.InterfacePointer

ConfigurationDataCollector structure represents IConfigurationDataCollector RPC structure.

The IConfigurationDataCollector is used to collect computer settings.

The following properties MUST be implemented by the objects that implement the IConfigurationDataCollector interface.

+---------------------------+------------+----------------------------------------------------------------------------------+
|                           |            |                                                                                  |
|         PROPERTY          | READ/WRITE |                                   DESCRIPTION                                    |
|                           |            |                                                                                  |
+---------------------------+------------+----------------------------------------------------------------------------------+
+---------------------------+------------+----------------------------------------------------------------------------------+
| FileMaxCount              | RW         | Specifies the maximum number of files to collect. If set to zero or not set,     |
|                           |            | there is no maximum. Any unsigned long is a valid value for this property.       |
+---------------------------+------------+----------------------------------------------------------------------------------+
| FileMaxRecursiveDepth     | RW         | Specifies the maximum depth in a file system hierarchy that a recursive file     |
|                           |            | collection MUST attempt. If set to zero, the maximum depth is 30. Any unsigned   |
|                           |            | long is a valid value for this property.                                         |
+---------------------------+------------+----------------------------------------------------------------------------------+
| FileMaxTotalSize          | RW         | Specifies the maximum size, in megabytes, of all files to collect. If set to     |
|                           |            | zero or not set, there is no maximum size. Any unsigned long is a valid value    |
|                           |            | for this property.                                                               |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Files                     | RW         | List of paths to files which will be copied to the output directory. Any         |
|                           |            | arbitrary files can be specified. Absolute, relative, and UncPaths are           |
|                           |            | supported. The '*' and '?' wildcards can be used, and collection can be made     |
|                           |            | recursive by using two backslashes ("\\") for the last folder delimiter. If a    |
|                           |            | specified file is not found, an error is added to the output file but collection |
|                           |            | continues.                                                                       |
+---------------------------+------------+----------------------------------------------------------------------------------+
| ManagementQueries         | RW         | List of Windows Management Instrumentation (WMI) queries whose results MUST      |
|                           |            | be collected. The syntax for specifying the queries is "namespace:WQL select     |
|                           |            | statement". If a specified query cannot be executed, an error is added to        |
|                           |            | the output file but collection continues. The format of ManagementQueries is     |
|                           |            | specified in [MS-WMI] section 2.                                                 |
+---------------------------+------------+----------------------------------------------------------------------------------+
| QueryNetworkAdapters      | RW         | Specifies whether network adapter information MUST be queried. If set to TRUE,   |
|                           |            | the installed network adapters are enumerated along with their IP addresses and  |
|                           |            | offload capabilities. When the client sets this property to VARIANT_TRUE, the    |
|                           |            | server SHOULD retrieve the network adapter information and store it locally on   |
|                           |            | the server. The PLA Protocol has no knowledge of what information is captured by |
|                           |            | the server and written to an XML file, and neither the contents of the XML file  |
|                           |            | nor whether the server was successful in writing the XML file can be retrieved   |
|                           |            | by the client using the PLA Protocol. Only the VARIANT_BOOL, which indicates     |
|                           |            | whether the server MUST query for network adapter information, is transferred    |
|                           |            | across the wire. If the client wants to read the network adapter information     |
|                           |            | from the server, it needs to use other means or protocols. Whether the server    |
|                           |            | queries for network adapter information, and what information it queries, has    |
|                           |            | no impact on the behavior of the PLA Protocol. For more information about how    |
|                           |            | VARIANT_BOOL types are transferred over the wire, please see [MS-OAUT].<18>      |
+---------------------------+------------+----------------------------------------------------------------------------------+
| RegistryKeys              | RW         | List of registry keys to be collected. If a specified registry key cannot be     |
|                           |            | queried, an error is added to the output file and collection continues. The PLA  |
|                           |            | Protocol allows users to log registry keys to understand the configured status   |
|                           |            | of a remote system. Registry keys are used to refer to state information that is |
|                           |            | stored on the system about an application, driver, or the system. For example,   |
|                           |            | what default settings the user has saved for an application might be associated  |
|                           |            | with a particular registry key; to retrieve that information, the registry key   |
|                           |            | is specified. The format used for the registry keys is specified in [MS-RRP]     |
|                           |            | section 3.1.1.1.                                                                 |
+---------------------------+------------+----------------------------------------------------------------------------------+
| RegistryMaxRecursiveDepth | RW         | Specifies the maximum depth in the registry hierarchy that a recursive registry  |
|                           |            | key collection MUST attempt. The maximum depth is relative to the depth of       |
|                           |            | the starting key, not absolute. If this value is set to 0, or is not set, then   |
|                           |            | registry keys at any depth will be collected. Any unsigned long is a valid value |
|                           |            | for this property.                                                               |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SystemStateFile           | RW         | Specifies the name of the file where the system state will be saved. The system  |
|                           |            | state is a set of kernel events generated by taking a snapshot of the Circular   |
|                           |            | Kernel Context Logger. The events of the Circular Kernel Context Logger include  |
|                           |            | process events, thread events, disk operations, and other kernel information     |
|                           |            | that provide an indication of what action the operating system was performing    |
|                           |            | when the event was raised. Events for the Circular Kernel Context Logger remain  |
|                           |            | in the operating system memory and are only written to file when a snapshot is   |
|                           |            | taken of the Circular Kernel Context Logger. This property indicates the name    |
|                           |            | of the file to which the contents of the Circular Kernel Context Logger will be  |
|                           |            | written; the file will reside on the local system. The file name needs to be a   |
|                           |            | file name only and cannot include the path to the file.                          |
+---------------------------+------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22)it (the full XML specification is available in section 3.2.4.19). The format of the XML that defines a configuration data collector is as follows:

Note that the example does not show the property elements inherited from IDataCollector that the caller also needs to specify.

Methods in RPC Opnum Order

+---------------------------------+-------------------------------------------------------------+
|                                 |                                                             |
|             METHOD              |                         DESCRIPTION                         |
|                                 |                                                             |
+---------------------------------+-------------------------------------------------------------+
+---------------------------------+-------------------------------------------------------------+
| FileMaxCount (Get)              | Retrieves the FileMaxCount property. Opnum: 32              |
+---------------------------------+-------------------------------------------------------------+
| FileMaxCount (Put)              | Sets the FileMaxCount property. Opnum: 33                   |
+---------------------------------+-------------------------------------------------------------+
| FileMaxRecursiveDepth (Get)     | Retrieves the FileMaxRecursiveDepth property. Opnum: 34     |
+---------------------------------+-------------------------------------------------------------+
| FileMaxRecursiveDepth (Put)     | Sets the FileMaxRecursiveDepth property. Opnum: 35          |
+---------------------------------+-------------------------------------------------------------+
| FileMaxTotalSize (Get)          | Retrieves the FileMaxTotalSize property. Opnum: 36          |
+---------------------------------+-------------------------------------------------------------+
| FileMaxTotalSize (Put)          | Sets the FileMaxTotalSize property. Opnum: 37               |
+---------------------------------+-------------------------------------------------------------+
| Files (Get)                     | Retrieves the Files property. Opnum: 38                     |
+---------------------------------+-------------------------------------------------------------+
| Files (Put)                     | Sets the Files property. Opnum: 39                          |
+---------------------------------+-------------------------------------------------------------+
| ManagementQueries (Get)         | Sets the ManagementQueries property. Opnum: 40              |
+---------------------------------+-------------------------------------------------------------+
| ManagementQueries (Put)         | Retrieves the ManagementQueries property. Opnum: 41         |
+---------------------------------+-------------------------------------------------------------+
| QueryNetworkAdapters (Get)      | Retrieves the QueryNetworkAdapters property. Opnum: 42      |
+---------------------------------+-------------------------------------------------------------+
| QueryNetworkAdapters (Put)      | Sets the QueryNetworkAdapters property. Opnum: 43           |
+---------------------------------+-------------------------------------------------------------+
| RegistryKeys (Get)              | Retrieves the RegistryKeys property. Opnum: 44              |
+---------------------------------+-------------------------------------------------------------+
| RegistryKeys (Put)              | Sets the RegistryKeys property. Opnum: 45                   |
+---------------------------------+-------------------------------------------------------------+
| RegistryMaxRecursiveDepth (Get) | Retrieves the RegistryMaxRecursiveDepth property. Opnum: 46 |
+---------------------------------+-------------------------------------------------------------+
| RegistryMaxRecursiveDepth (Put) | Sets the RegistryMaxRecursiveDepth property. Opnum: 47      |
+---------------------------------+-------------------------------------------------------------+
| SystemStateFile (Get)           | Retrieves the SystemStateFile property. Opnum: 48           |
+---------------------------------+-------------------------------------------------------------+
| SystemStateFile (Put)           | Sets the SystemStateFile property. Opnum: 49                |
+---------------------------------+-------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface. Opnums 7–31 are used by IDataCollector.

func (*ConfigurationDataCollector) InterfacePointer

func (o *ConfigurationDataCollector) InterfacePointer() *dcom.InterfacePointer

func (*ConfigurationDataCollector) MarshalNDR

func (o *ConfigurationDataCollector) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ConfigurationDataCollector) NDRSizeInfo

func (o *ConfigurationDataCollector) NDRSizeInfo() []uint64

func (*ConfigurationDataCollector) UnmarshalNDR

func (o *ConfigurationDataCollector) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataCollector

type DataCollector dcom.InterfacePointer

DataCollector structure represents IDataCollector RPC structure.

The following are the properties that MUST be implemented by the objects that implement the IDataCollector interface.

+-----------------------+------------+----------------------------------------------------------------------------------+
|                       |            |                                                                                  |
|       PROPERTY        | READ/WRITE |                                   DESCRIPTION                                    |
|                       |            |                                                                                  |
+-----------------------+------------+----------------------------------------------------------------------------------+
+-----------------------+------------+----------------------------------------------------------------------------------+
| DataCollectorSet      | R          | The data collector set to which this data collector belongs.                     |
+-----------------------+------------+----------------------------------------------------------------------------------+
| DataCollectorType     | R          | The type of data collector.                                                      |
+-----------------------+------------+----------------------------------------------------------------------------------+
| FileName              | RW         | The base name of the file containing the output of the data collector.           |
+-----------------------+------------+----------------------------------------------------------------------------------+
| FileNameFormat        | RW         | Determines how the name of the file storing the output of the data collector     |
|                       |            | will be formatted. The FileName property itself (described above) is always      |
|                       |            | included. The filename can optionally be decorated with other information.       |
|                       |            | These possible decorations are specified by the AutoPathFormat enumeration. This |
|                       |            | property stores an AutoPathFormat value. If the AutoPathFormat value specified   |
|                       |            | by this property includes the 'plaPattern' bit, the FileNameFormatPattern        |
|                       |            | (specified below) contains the pattern that will be appended to the filename.    |
|                       |            | The format of the pattern is specified in section 2.2.3.1.                       |
+-----------------------+------------+----------------------------------------------------------------------------------+
| FileNameFormatPattern | RW         | If patterns are to be included in the decoration of file names, determines the   |
|                       |            | pattern to use. Patterns are included in the decoration if the value of the      |
|                       |            | FileNameFormat property (specified above) includes the 'plaPattern' bit. The     |
|                       |            | format of the pattern is specified in section 2.2.3.1.                           |
+-----------------------+------------+----------------------------------------------------------------------------------+
| Index                 | R          | The index value of the data collector.                                           |
+-----------------------+------------+----------------------------------------------------------------------------------+
| LatestOutputLocation  | RW         | Full path of the file where data was stored the last time the data collector     |
|                       |            | ran.                                                                             |
+-----------------------+------------+----------------------------------------------------------------------------------+
| LogAppend             | RW         | Specifies whether existing files MUST be appended.                               |
+-----------------------+------------+----------------------------------------------------------------------------------+
| LogCircular           | RW         | Specifies whether files MUST be circular.                                        |
+-----------------------+------------+----------------------------------------------------------------------------------+
| LogOverwrite          | RW         | Specifies whether existing files MUST be overwritten.                            |
+-----------------------+------------+----------------------------------------------------------------------------------+
| Name                  | RW         | Name of the data collector.                                                      |
+-----------------------+------------+----------------------------------------------------------------------------------+
| OutputLocation        | R          | Full path of the file where data would be stored if the data collector were to   |
|                       |            | start now.                                                                       |
+-----------------------+------------+----------------------------------------------------------------------------------+
| Xml                   | R          | The XML representation of the data collector set.                                |
+-----------------------+------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22) it. The full XML is specified in section 3.2.4.19. The format of the XML that defines a data collector, and is common to all types of data collectors, is as follows:

Opnums 8, 28 and 31 are not used across the network. These opnums are reserved and MUST NOT be reused by non-Microsoft implementations.<17>

Methods in RPC Opnum Order

+-----------------------------+----------------------------------------------------------------------------------+
|                             |                                                                                  |
|           METHOD            |                                   DESCRIPTION                                    |
|                             |                                                                                  |
+-----------------------------+----------------------------------------------------------------------------------+
+-----------------------------+----------------------------------------------------------------------------------+
| DataCollectorSet (Get)      | Retrieves the DataCollectorSet property. Opnum: 7                                |
+-----------------------------+----------------------------------------------------------------------------------+
| Opnum8NotUsedOnWire         | Reserved for local use. Opnum: 8                                                 |
+-----------------------------+----------------------------------------------------------------------------------+
| DataCollectorType (Get)     | Retrieves the DataCollectorType property. Opnum: 9                               |
+-----------------------------+----------------------------------------------------------------------------------+
| FileName (Get)              | Retrieves the FileName property. Opnum: 10                                       |
+-----------------------------+----------------------------------------------------------------------------------+
| FileName (Put)              | Sets the FileName property. Opnum: 11                                            |
+-----------------------------+----------------------------------------------------------------------------------+
| FileNameFormat (Get)        | Retrieves the FileNameFormat property. Opnum: 12                                 |
+-----------------------------+----------------------------------------------------------------------------------+
| FileNameFormat (Put)        | Sets the FileNameFormat property. Opnum: 13                                      |
+-----------------------------+----------------------------------------------------------------------------------+
| FileNameFormatPattern (Get) | Retrieves the FileNameFormatPattern property. Opnum: 14                          |
+-----------------------------+----------------------------------------------------------------------------------+
| FileNameFormatPattern (Put) | Sets the FileNameFormatPattern property. Opnum: 15                               |
+-----------------------------+----------------------------------------------------------------------------------+
| LatestOutputLocation (Get)  | Retrieves the LatestOutputLocation property. Opnum: 16                           |
+-----------------------------+----------------------------------------------------------------------------------+
| LatestOutputLocation (Put)  | Sets the LatestOutputLocation property. Opnum: 17                                |
+-----------------------------+----------------------------------------------------------------------------------+
| LogAppend (Get)             | Retrieves the LogAppend property. Opnum: 18                                      |
+-----------------------------+----------------------------------------------------------------------------------+
| LogAppend (Put)             | Sets the LogAppend property. Opnum: 19                                           |
+-----------------------------+----------------------------------------------------------------------------------+
| LogCircular (Get)           | Retrieves the LogCircular property Opnum: 20                                     |
+-----------------------------+----------------------------------------------------------------------------------+
| LogCircular (Put)           | Sets the LogCircular property. Opnum: 21                                         |
+-----------------------------+----------------------------------------------------------------------------------+
| LogOverwrite (Get)          | Retrieves the LogOverwrite property. Opnum: 22                                   |
+-----------------------------+----------------------------------------------------------------------------------+
| LogOverwrite (Put)          | Sets the LogOverwrite property. Opnum: 23                                        |
+-----------------------------+----------------------------------------------------------------------------------+
| Name (Get)                  | Retrieves the Name property. Opnum: 24                                           |
+-----------------------------+----------------------------------------------------------------------------------+
| Name (Put)                  | Sets the Name property. Opnum: 25                                                |
+-----------------------------+----------------------------------------------------------------------------------+
| OutputLocation (Get)        | Retrieves the OutputLocation property. Opnum: 26                                 |
+-----------------------------+----------------------------------------------------------------------------------+
| Index (Get)                 | Retrieves the Index property. Opnum: 27                                          |
+-----------------------------+----------------------------------------------------------------------------------+
| Opnum28NotUsedOnWire        | Reserved for local use. Opnum: 28                                                |
+-----------------------------+----------------------------------------------------------------------------------+
| Xml (Get)                   | Retrieves the XML property. Opnum: 29                                            |
+-----------------------------+----------------------------------------------------------------------------------+
| SetXml                      | Sets the properties of the data collector using the values in the XML file.      |
|                             | Opnum: 30                                                                        |
+-----------------------------+----------------------------------------------------------------------------------+
| Opnum31NotUsedOnWire        | Reserved for local use. Opnum: 31                                                |
+-----------------------------+----------------------------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*DataCollector) InterfacePointer

func (o *DataCollector) InterfacePointer() *dcom.InterfacePointer

func (*DataCollector) MarshalNDR

func (o *DataCollector) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DataCollector) NDRSizeInfo

func (o *DataCollector) NDRSizeInfo() []uint64

func (*DataCollector) UnmarshalNDR

func (o *DataCollector) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataCollectorCollection

type DataCollectorCollection dcom.InterfacePointer

DataCollectorCollection structure represents IDataCollectorCollection RPC structure.

The IDataCollectorCollection interface is used to manage a collection of DataCollector objects.

The following properties MUST be implemented by the objects that implement the IDataCollectorCollection interface.

+----------+------------+----------------------------------------------------------------------------------+
|          |            |                                                                                  |
| PROPERTY | READ/WRITE |                                   DESCRIPTION                                    |
|          |            |                                                                                  |
+----------+------------+----------------------------------------------------------------------------------+
+----------+------------+----------------------------------------------------------------------------------+
| _NewEnum | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|          |            | IDataCollector objects in this collection. The enumeration object is specified   |
|          |            | in [MS-OAUT] section 3.3.                                                        |
+----------+------------+----------------------------------------------------------------------------------+
| Count    | R          | Number of data collectors in this collection.                                    |
+----------+------------+----------------------------------------------------------------------------------+
| Item     | R          | Retrieves the requested data collector from the collection.                      |
+----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+----------------------------+---------------------------------------------------------------+
|                            |                                                               |
|           METHOD           |                          DESCRIPTION                          |
|                            |                                                               |
+----------------------------+---------------------------------------------------------------+
+----------------------------+---------------------------------------------------------------+
| Count (Get)                | Retrieves the Count property. Opnum: 7                        |
+----------------------------+---------------------------------------------------------------+
| Item (Get)                 | Retrieves the Item property. Opnum: 8                         |
+----------------------------+---------------------------------------------------------------+
| _NewEnum (Get)             | Retrieves the NewEnum property. Opnum: 9                      |
+----------------------------+---------------------------------------------------------------+
| Add                        | Adds a data collector to the collection. Opnum: 10            |
+----------------------------+---------------------------------------------------------------+
| Remove                     | Removes a data collector from the collection. Opnum: 11       |
+----------------------------+---------------------------------------------------------------+
| Clear                      | Removes all data collectors from the collection. Opnum: 12    |
+----------------------------+---------------------------------------------------------------+
| AddRange                   | Adds one or more data collectors to the collection. Opnum: 13 |
+----------------------------+---------------------------------------------------------------+
| CreateDataCollectorFromXml | Creates a data collector using XML. Opnum: 14                 |
+----------------------------+---------------------------------------------------------------+
| CreateDataCollector        | Creates a data collector of the specified type. Opnum: 15     |
+----------------------------+---------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*DataCollectorCollection) InterfacePointer

func (o *DataCollectorCollection) InterfacePointer() *dcom.InterfacePointer

func (*DataCollectorCollection) MarshalNDR

func (o *DataCollectorCollection) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DataCollectorCollection) NDRSizeInfo

func (o *DataCollectorCollection) NDRSizeInfo() []uint64

func (*DataCollectorCollection) UnmarshalNDR

func (o *DataCollectorCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataCollectorSet

type DataCollectorSet dcom.InterfacePointer

DataCollectorSet structure represents IDataCollectorSet RPC structure.

The IDataCollectorSet interface is used to query, update, and control a data collector set.

Objects that implement this interface represent a data collector set. The following are the properties that MUST be implemented by objects that implement the IDataCollectorSet interface.

+---------------------------+------------+----------------------------------------------------------------------------------+
|                           |            |                                                                                  |
|         PROPERTY          | READ/WRITE |                                   DESCRIPTION                                    |
|                           |            |                                                                                  |
+---------------------------+------------+----------------------------------------------------------------------------------+
+---------------------------+------------+----------------------------------------------------------------------------------+
| DataCollectors            | R          | List of data collectors in this set.                                             |
+---------------------------+------------+----------------------------------------------------------------------------------+
| DataManager               | R          | Object that defines the policies for data retention and report generation.       |
|                           |            | An example of data retention policies include when and if to compress data to    |
|                           |            | a cabinet file or delete it. Example report generation policies include the      |
|                           |            | steps to take to generate the report. The IDataManager interface, which the      |
|                           |            | DataManager object implements, is specified in section 3.2.4.2.                  |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Description               | RW         | The localizable description of the data collector set.                           |
+---------------------------+------------+----------------------------------------------------------------------------------+
| DescriptionUnresolved     | R          | The description of the data collector set in its raw form (prior to              |
|                           |            | localization).                                                                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| DisplayName               | RW         | The localizable display name of the data collector set.                          |
+---------------------------+------------+----------------------------------------------------------------------------------+
| DisplayNameUnresolved     | R          | The display name of the data collector set in its raw form (prior to             |
|                           |            | localization).                                                                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Duration                  | RW         | Determines the maximum amount of time that a data collector set MUST run.        |
|                           |            | A value of 0 indicates that the data collector set MUST NOT not be stopped       |
|                           |            | automatically.                                                                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Keywords                  | RW         | List of keywords associated with the data collector sets. Keywords are metadata  |
|                           |            | for describing a data collector set; they are not parsed by the data collector   |
|                           |            | set. They are intended to help the end user understand the contents of the data  |
|                           |            | collector set, and serve no functional purpose as to how the data collector      |
|                           |            | set is executed on the server. There MUST be at most 256 keywords that are       |
|                           |            | associated with a data collector set; each keyword MUST NOT be more than 1024    |
|                           |            | characters in length. The keyword string cannot be the empty string, nor can the |
|                           |            | keyword string contain the semicolon (";") character.                            |
+---------------------------+------------+----------------------------------------------------------------------------------+
| LatestOutputLocation      | RW         | The full path of the directory where data was stored the last time the data      |
|                           |            | collector set ran.                                                               |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Name                      | R          | Name of the data collector set.                                                  |
+---------------------------+------------+----------------------------------------------------------------------------------+
| OutputLocation            | R          | The full path of the directory where data would be stored if the data collector  |
|                           |            | set were to start now.                                                           |
+---------------------------+------------+----------------------------------------------------------------------------------+
| RootPath                  | RW         | The full path of the directory under which the data collector set stores its     |
|                           |            | files. When subdirectories are used, they are created under this root directory. |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Schedules                 | R          | List of schedules that determines when the data collector set runs               |
|                           |            | automatically. Each schedule specifies a time when the data collector will be    |
|                           |            | started, the first day it will be started at that time, the last day it will be  |
|                           |            | started at that time, and the days of the week it will be started. Each schedule |
|                           |            | is specified by an object implementing the ISchedule interface, specified in     |
|                           |            | section 3.2.4.12.                                                                |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SchedulesEnabled          | RW         | Determines if the automatic start of the data collector set based on its         |
|                           |            | schedules MUST be enabled or disabled. If enabled, the data collector set is     |
|                           |            | automatically started when the conditions for one of the schedules (stored in    |
|                           |            | the Schedules property) is met. If the data collector set is already running     |
|                           |            | when a schedule condition is met, it is not restarted, and instead continues to  |
|                           |            | run. If disabled, the data collector set can only be started manually. A data    |
|                           |            | collector set is manually started by a call to Start, as specified in section    |
|                           |            | 3.2.4.1.56.                                                                      |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Security                  | RW         | The security descriptor of the data collector set that determines the access     |
|                           |            | rights of groups or users. The security descriptor is expressed using the        |
|                           |            | Security Descriptor Description Language (SDDL), as specified in [MS-DTYP]       |
|                           |            | section 2.5.1. Changing the security descriptor can impact the ability of both   |
|                           |            | local and remote users to read, modify, run, and delete the data collector set.  |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Segment                   | RW         | If this property is set to TRUE, the server MUST stop all data collectors        |
|                           |            | when a segmentation condition occurs, increment the SerialNumber                 |
|                           |            | property, update LatestOutputLocation property, and restart all the data         |
|                           |            | collectors, which begins logging to the new LatestOutputLocation. The            |
|                           |            | FileNameFormat and SubdirectoryNameFormat properties are used to determine       |
|                           |            | the new value of LatestOutputLocation. If both FileNameFormatPattern and         |
|                           |            | SubdirectoryFormatPattern are set to plaNone, or both are set to plaPattern but  |
|                           |            | no value is specified for FileNameFormatPattern and SubdirectoryFormatPattern,   |
|                           |            | then the value of the LatestOutputLocation is not changed. In this case, the     |
|                           |            | retention of the data that was obtained during the previous execution of the     |
|                           |            | data collector depends on the respective properties of the data collector.       |
|                           |            | For example, if LogAppend is specified for a data collector, then the events     |
|                           |            | generated in the new segment are appended to the events that were added to the   |
|                           |            | file during the previous segment execution. If this property is set to FALSE,    |
|                           |            | the server MUST stop all the data collectors when a segmentation condition       |
|                           |            | occurs. The segmentation condition is specified either by SegmentMaxDuration     |
|                           |            | or SegmentMaxSize. PLA SHOULD NOT<12> stop the data collector set when the size  |
|                           |            | of the active log file reaches SegmentMaxSize; rather, it creates a new file to  |
|                           |            | enable the data collector set to continue logging information.                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SegmentMaxDuration        | RW         | Determines for how long a data collector set MUST run, in seconds, before a new  |
|                           |            | segment MUST be created. A value of 0 indicates that there is no segment time    |
|                           |            | limit. The default value is zero. Any unsigned long is a valid value for this    |
|                           |            | property.                                                                        |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SegmentMaxSize            | RW         | Determines the maximum size, in megabytes, of a log file. When the size is       |
|                           |            | reached, a new log file MUST be created. A value of 0 indicates that there is    |
|                           |            | no segment size limit. The segment size is unlimited. The default value is zero. |
|                           |            | Any unsigned long is a valid value for this property.                            |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SerialNumber              | RW         | The serial number of the data collector set. Each time the data collector set    |
|                           |            | runs it is assigned a serial number. The serial number for each data collector   |
|                           |            | set starts at 1 and is incremented each time the data collector set runs. Each   |
|                           |            | run of the data collector set has a serial number that is unique across all      |
|                           |            | runs of the data collector set. Accordingly, each run of the data collector      |
|                           |            | set has its own serial number and no two runs of the same data collector set     |
|                           |            | have the same serial number. However, it is possible that two different runs of  |
|                           |            | two different data collector sets will have the same serial number (the serial   |
|                           |            | number is unique among all runs of one data collector set; it is not unique      |
|                           |            | among all runs of all data collector sets). The serial number can optionally be  |
|                           |            | used by an AutoPathFormat, which will cause the serial number to be appended to  |
|                           |            | the name of the directory or files pertaining to each run of the data collector  |
|                           |            | set. Using the serial number as an AutoPathFormat prevents possible collisions   |
|                           |            | in directory or file naming. This property serves as a serial number across all  |
|                           |            | runs of a particular data collector set on a particular machine, not across all  |
|                           |            | data collector sets or all machines. Any unsigned long is a valid value for this |
|                           |            | property.                                                                        |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Server                    | R          | Name of the server this data collector set belongs to.                           |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Status                    | R          | Status of the data collector set.                                                |
+---------------------------+------------+----------------------------------------------------------------------------------+
| StopOnCompletion          | RW         | Determines whether a data collector set MUST stop when all data collectors       |
|                           |            | complete. A data collector completes when the first segment is collected.        |
|                           |            | The definition of completion depends on the data collector type, and is not      |
|                           |            | generally defined as the point at which the data collector has collected all     |
|                           |            | possible data. For an IConfigurationDataCollector, completion occurs when all    |
|                           |            | data has been collected. For an IAlertDataCollector or IApiTracingDataCollector, |
|                           |            | completion occurs immediately (that is, no data will be collected if             |
|                           |            | this property is set to true). For an IPerformanceCounterDataCollector or        |
|                           |            | ITraceDataCollector, completion occurs immediately if no limit is set on the     |
|                           |            | output file size or time spent writing to the output file. If there is a maximum |
|                           |            | file size per output file, or a maximum duration per output file, completion     |
|                           |            | occurs when the data collector has finished writing to the current file.         |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Subdirectory              | RW         | Retrieves or sets a base subdirectory of the root path where the next instance   |
|                           |            | of the data collector set will write its logs.                                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SubdirectoryFormat        | RW         | Determines what to include in the decoration the subdirectory name.              |
+---------------------------+------------+----------------------------------------------------------------------------------+
| SubdirectoryFormatPattern | RW         | If patterns are to be included in the decoration of subdirectory names,          |
|                           |            | determines the pattern to use.                                                   |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Task                      | RW         | Name of the task that is executed when the data collector set stops or prior     |
|                           |            | to switching to a new segment. The name of the task needs to correspond to the   |
|                           |            | name of a job stored in the Task Scheduler. When a task is created, the creator  |
|                           |            | of a task specifies its name as a BSTR. More information on the names of Task    |
|                           |            | Scheduler jobs (referred to as paths in the Task Scheduler documentation)        |
|                           |            | is specified in [MS-TSCH] section 2.3.11. This documentation describes the       |
|                           |            | semantics of the task name and explains the restrictions on task names.          |
+---------------------------+------------+----------------------------------------------------------------------------------+
| TaskArguments             | RW         | If a task is to run, this specifies what arguments MUST be passed to it.         |
+---------------------------+------------+----------------------------------------------------------------------------------+
| TaskRunAsSelf             | RW         | When a Task Scheduler job is executed by the DataCollectorSet, this property     |
|                           |            | determines which user it will run as. If the property is set to true, the Task   |
|                           |            | Scheduler job runs as the same user that the DataCollectorSet is running as.     |
|                           |            | By default, this means the Task Scheduler job will run with System credentials.  |
|                           |            | Consequently, it is not advisable to set this property to true when the          |
|                           |            | task to be run is not fully trusted, unless the UserAccount property for the     |
|                           |            | DataCollectorSet has been carefully configured. When the property is set to      |
|                           |            | false, the Task Scheduler job will run with the credentials it was created       |
|                           |            | with. The mechanism in use here is delegation. When the creator of a data        |
|                           |            | collector set sets this property to true, this task is thereby granted the same  |
|                           |            | rights that the data collector set has. When the RunAsSelf property is set to    |
|                           |            | false, no delegation occurs. The task will run only with the permissions it was  |
|                           |            | created with. The credentials that the task runs with are initially created with |
|                           |            | SchRpcRegisterTask specified in [MS-TSCH] section 3.2.5.4.2 and can be updated   |
|                           |            | by SASetAccountInformation specified in [MS-TSCH] section 3.2.5.3.4.             |
+---------------------------+------------+----------------------------------------------------------------------------------+
| TaskUserTextArguments     | RW         | If a task is to run and the arguments, as specified in section 3.2.4.1.38,       |
|                           |            | include the {usertext} variable, this property determines the value of this      |
|                           |            | variable.                                                                        |
+---------------------------+------------+----------------------------------------------------------------------------------+
| UserAccount               | R          | Determines the user account under which the data collector set will run.         |
+---------------------------+------------+----------------------------------------------------------------------------------+
| Xml                       | R          | The XML representation of the data collector set.                                |
+---------------------------+------------+----------------------------------------------------------------------------------+

A data collector set can be represented as an XML file, which can be used to serialize (using IDataCollectorSet::Xml (Get)3.2.4.1.46) and deserialize (using IDataCollectorSet::SetXml 3.2.4.1.58) it. The format of the XML that defines a data collector set is as follows. All the elements of the data collector set, as well as all child elements within the data collector set element, are specified in section 3.2.4.19:

The nodes "Keyword", "Schedule", and "FolderAction" can have multiple copies—one for each keyword, schedule, or folder action, respectively. For each data collector, one node under the "DataCollectorSet" node is also added; the name of the node depends on the type of data collector, and is documented in the data collector section.

The Keywords property is a safearray, which is translated into XML as a series of Keyword nodes. For example, if Keywords is set to {"A", "B", "C"}, there are three Keyword nodes, one for each keyword.

Similarly, Schedules is a collection of Schedule objects, which means that if the Schedules property contains three schedules, three nodes called "Schedule" are created for each schedule.

DataCollectors is not in XML for the same reason as Schedules. However, because data collectors have types instead of having a number of "DataCollector" nodes, there are a number of typed data collector nodes. For example, "AlertDataCollector" or "PerformanceCounterDataCollector".

Methods in RPC Opnum order:

+---------------------------------+----------------------------------------------------------------------------------+
|                                 |                                                                                  |
|             METHOD              |                                   DESCRIPTION                                    |
|                                 |                                                                                  |
+---------------------------------+----------------------------------------------------------------------------------+
+---------------------------------+----------------------------------------------------------------------------------+
| DataCollectors (Get)            | List of data collectors in this data collector set. Opnum: 7                     |
+---------------------------------+----------------------------------------------------------------------------------+
| Duration (Get)                  | Retrieves the Duration property. Opnum: 8                                        |
+---------------------------------+----------------------------------------------------------------------------------+
| Duration (Put)                  | Sets the Duration property. Opnum: 9                                             |
+---------------------------------+----------------------------------------------------------------------------------+
| Description (Get)               | Retrieves the Description property. Opnum: 10                                    |
+---------------------------------+----------------------------------------------------------------------------------+
| Description (Put)               | Sets the Description property. Opnum: 11                                         |
+---------------------------------+----------------------------------------------------------------------------------+
| DescriptionUnresolved (Get)     | Retrieves the DescriptionUnresolved property. Opnum: 12                          |
+---------------------------------+----------------------------------------------------------------------------------+
| DisplayName (Get)               | Retrieves the display name of the data collector set . Opnum: 13                 |
+---------------------------------+----------------------------------------------------------------------------------+
| DisplayName (Put)               | Sets the DisplayName property. Opnum: 14                                         |
+---------------------------------+----------------------------------------------------------------------------------+
| DisplayNameUnresolved (Get)     | Receives the display name of the data collector set in its original form. Opnum: |
|                                 |                                                                               15 |
+---------------------------------+----------------------------------------------------------------------------------+
| Keywords (Get)                  | Retrieves the Keywords property. Opnum: 16                                       |
+---------------------------------+----------------------------------------------------------------------------------+
| Keywords (Put)                  | Sets the Keywords property. Opnum: 17                                            |
+---------------------------------+----------------------------------------------------------------------------------+
| LatestOutputLocation (Get)      | Retrieves the LatestOutputLocation property. Opnum: 18                           |
+---------------------------------+----------------------------------------------------------------------------------+
| LatestOutputLocation (Put)      | Sets the LatestOutputLocation property. Opnum: 19                                |
+---------------------------------+----------------------------------------------------------------------------------+
| Name (Get)                      | Retrieves the Name property. Opnum: 20                                           |
+---------------------------------+----------------------------------------------------------------------------------+
| OutputLocation (Get)            | Retrieves the OutputLocation property. Opnum: 21                                 |
+---------------------------------+----------------------------------------------------------------------------------+
| RootPath (Get)                  | Retrieves the RootPath property. Opnum: 22                                       |
+---------------------------------+----------------------------------------------------------------------------------+
| RootPath (Put)                  | Sets the RootPath property. Opnum: 23                                            |
+---------------------------------+----------------------------------------------------------------------------------+
| Segment (Get)                   | Retrieves the Segment property. Opnum: 24                                        |
+---------------------------------+----------------------------------------------------------------------------------+
| Segment (Put)                   | Sets the Segment property. Opnum: 25                                             |
+---------------------------------+----------------------------------------------------------------------------------+
| SegmentMaxDuration (Get)        | Retrieves the SegmentMaxDuration property. Opnum: 26                             |
+---------------------------------+----------------------------------------------------------------------------------+
| SegmentMaxDuration (Put)        | Sets the SegmentMaxDuration property. Opnum: 27                                  |
+---------------------------------+----------------------------------------------------------------------------------+
| SegmentMaxSize (Get)            | Retrieves the SegmentMaxSize property. Opnum: 28                                 |
+---------------------------------+----------------------------------------------------------------------------------+
| SegmentMaxSize (Put)            | Sets the SegmentMaxSize property. Opnum: 29                                      |
+---------------------------------+----------------------------------------------------------------------------------+
| SerialNumber (Get)              | Retrieves the SerialNumber property. Opnum: 30                                   |
+---------------------------------+----------------------------------------------------------------------------------+
| SerialNumber (Put)              | Sets the SerialNumber property. Opnum: 31                                        |
+---------------------------------+----------------------------------------------------------------------------------+
| Server (Get)                    | Retrieves the Server property. Opnum: 32                                         |
+---------------------------------+----------------------------------------------------------------------------------+
| Status (Get)                    | Retrieves the Status property. Opnum: 33                                         |
+---------------------------------+----------------------------------------------------------------------------------+
| Subdirectory (Get)              | Retrieves the Subdirectory property. Opnum: 34                                   |
+---------------------------------+----------------------------------------------------------------------------------+
| Subdirectory (Put)              | Sets the Subdirectory property. Opnum: 35                                        |
+---------------------------------+----------------------------------------------------------------------------------+
| SubdirectoryFormat (Get)        | Retrieves the SubdirectoryFormat property. Opnum: 36                             |
+---------------------------------+----------------------------------------------------------------------------------+
| SubdirectoryFormat (Put)        | Sets the SubdirectoryFormat property. Opnum: 37                                  |
+---------------------------------+----------------------------------------------------------------------------------+
| SubdirectoryFormatPattern (Get) | Retrieves the SubdirectoryFormatPattern property. Opnum: 38                      |
+---------------------------------+----------------------------------------------------------------------------------+
| SubdirectoryFormatPattern (Put) | Sets the SubdirectoryFormatPattern property. Opnum: 39                           |
+---------------------------------+----------------------------------------------------------------------------------+
| Task (Get)                      | Retrieves the Task property. Opnum: 40                                           |
+---------------------------------+----------------------------------------------------------------------------------+
| Task (Put)                      | Sets the Task property. Opnum: 41                                                |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskRunAsSelf (Get)             | Retrieves the TaskRunAsSelf property. Opnum: 42                                  |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskRunAsSelf (Put)             | Sets the TaskRunAsSelf property. Opnum: 43                                       |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskArguments (Get)             | Retrieves the TaskArguments property. Opnum: 44                                  |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskArguments (Put)             | Sets the TaskArguments property. Opnum: 45                                       |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskUserTextArguments (Get)     | Retrieves the TaskUserTextArguments property. Opnum: 46                          |
+---------------------------------+----------------------------------------------------------------------------------+
| TaskUserTextArguments (Put)     | Sets the TaskUserTextArguments property. Opnum: 47                               |
+---------------------------------+----------------------------------------------------------------------------------+
| Schedules (Get)                 | Retrieves the Schedules property. Opnum: 48                                      |
+---------------------------------+----------------------------------------------------------------------------------+
| SchedulesEnabled (Get)          | Retrieves the SchedulesEnabled property. Opnum: 49                               |
+---------------------------------+----------------------------------------------------------------------------------+
| SchedulesEnabled (Put)          | Sets the SchedulesEnabled property. Opnum: 50                                    |
+---------------------------------+----------------------------------------------------------------------------------+
| UserAccount (Get)               | Retrieves the UserAccount property. Opnum: 51                                    |
+---------------------------------+----------------------------------------------------------------------------------+
| Xml (Get)                       | Retrieves the Xml property. Opnum: 52                                            |
+---------------------------------+----------------------------------------------------------------------------------+
| Security (Get)                  | Retrieves the Security property. Opnum: 53                                       |
+---------------------------------+----------------------------------------------------------------------------------+
| Security (Put)                  | Sets the Security property. Opnum: 54                                            |
+---------------------------------+----------------------------------------------------------------------------------+
| StopOnCompletion (Get)          | Retrieves the StopOnCompletion property. Opnum: 55                               |
+---------------------------------+----------------------------------------------------------------------------------+
| StopOnCompletion (Put)          | Sets the StopOnCompletion property. Opnum: 56                                    |
+---------------------------------+----------------------------------------------------------------------------------+
| DataManager (Get)               | Retrieves the DataManager property. Opnum: 57                                    |
+---------------------------------+----------------------------------------------------------------------------------+
| SetCredentials                  | Specifies the user account under which the data collector set runs. Opnum: 58    |
+---------------------------------+----------------------------------------------------------------------------------+
| Query                           | Loads the properties of a data collector set from storage to memory. Opnum: 59   |
+---------------------------------+----------------------------------------------------------------------------------+
| Commit                          | Updates, validates, or saves a data collector set or flushes the event trace     |
|                                 | data collectors of a data collector set. Opnum: 60                               |
+---------------------------------+----------------------------------------------------------------------------------+
| Delete                          | Removes the data collector set from storage if it is not running. Opnum: 61      |
+---------------------------------+----------------------------------------------------------------------------------+
| Start                           | Manually starts the data collector set. Opnum: 62                                |
+---------------------------------+----------------------------------------------------------------------------------+
| Stop                            | Manually stops the data collector set. Opnum: 63                                 |
+---------------------------------+----------------------------------------------------------------------------------+
| SetXml                          | Sets the property values of the data collector set based on an XML file. Opnum:  |
|                                 |                                                                               64 |
+---------------------------------+----------------------------------------------------------------------------------+
| SetValue                        | Sets a user-defined value. Opnum: 65                                             |
+---------------------------------+----------------------------------------------------------------------------------+
| GetValue                        | Retrieves a user-defined value. Opnum: 66                                        |
+---------------------------------+----------------------------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*DataCollectorSet) InterfacePointer

func (o *DataCollectorSet) InterfacePointer() *dcom.InterfacePointer

func (*DataCollectorSet) MarshalNDR

func (o *DataCollectorSet) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DataCollectorSet) NDRSizeInfo

func (o *DataCollectorSet) NDRSizeInfo() []uint64

func (*DataCollectorSet) UnmarshalNDR

func (o *DataCollectorSet) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataCollectorSetCollection

type DataCollectorSetCollection dcom.InterfacePointer

DataCollectorSetCollection structure represents IDataCollectorSetCollection RPC structure.

The IDataCollectorSetCollection interface is used to manage a collection of DataCollectorSet objects.

The following properties MUST be implemented by the objects that implement the IDataCollectorSetCollection interface.

+----------+------------+----------------------------------------------------------------------------------+
|          |            |                                                                                  |
| PROPERTY | READ/WRITE |                                   DESCRIPTION                                    |
|          |            |                                                                                  |
+----------+------------+----------------------------------------------------------------------------------+
+----------+------------+----------------------------------------------------------------------------------+
| _NewEnum | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|          |            | IDataCollectorSet objects in this collection. The enumeration object is          |
|          |            | specified in [MS-OAUT] section 3.3.                                              |
+----------+------------+----------------------------------------------------------------------------------+
| Count    | R          | Number of data collector sets in this collection.                                |
+----------+------------+----------------------------------------------------------------------------------+
| Item     | R          | Retrieves the requested data collector set from the collection.                  |
+----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+----------------------+----------------------------------------------------------------------------------+
|                      |                                                                                  |
|        METHOD        |                                   DESCRIPTION                                    |
|                      |                                                                                  |
+----------------------+----------------------------------------------------------------------------------+
+----------------------+----------------------------------------------------------------------------------+
| Count (Get)          | Retrieves the Count property. Opnum: 7                                           |
+----------------------+----------------------------------------------------------------------------------+
| Item (Get)           | Retrieves the Item property. Opnum: 8                                            |
+----------------------+----------------------------------------------------------------------------------+
| _NewEnum (Get)       | Retrieves the NewEnum property. Opnum: 9                                         |
+----------------------+----------------------------------------------------------------------------------+
| Add                  | Adds a data collector set to the collection. Opnum: 10                           |
+----------------------+----------------------------------------------------------------------------------+
| Remove               | Removes a data collector set from the collection. Opnum: 11                      |
+----------------------+----------------------------------------------------------------------------------+
| Clear                | Removes all data collector sets from the collection. Opnum: 12                   |
+----------------------+----------------------------------------------------------------------------------+
| AddRange             | Adds one or more data collector set to the collection. Opnum: 13                 |
+----------------------+----------------------------------------------------------------------------------+
| GetDataCollectorSets | Populates data collector set collection with the persisted data collector sets.  |
|                      | Opnum: 14                                                                        |
+----------------------+----------------------------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*DataCollectorSetCollection) InterfacePointer

func (o *DataCollectorSetCollection) InterfacePointer() *dcom.InterfacePointer

func (*DataCollectorSetCollection) MarshalNDR

func (o *DataCollectorSetCollection) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DataCollectorSetCollection) NDRSizeInfo

func (o *DataCollectorSetCollection) NDRSizeInfo() []uint64

func (*DataCollectorSetCollection) UnmarshalNDR

func (o *DataCollectorSetCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataCollectorSetStatus

type DataCollectorSetStatus uint16

DataCollectorSetStatus type represents DataCollectorSetStatus RPC enumeration.

The DataCollectorSetStatus enumeration defines the running status of the data collector set.

var (
	// plaStopped:  The data collector set is stopped.
	DataCollectorSetStatusStopped DataCollectorSetStatus = 0
	// plaRunning:  The data collector set is running.
	DataCollectorSetStatusRunning DataCollectorSetStatus = 1
	// plaCompiling:  The data collector set is performing data management (see section
	// 3.2.4.2). A running data collector set transitions from running to compiling if the
	// data manager is enabled.
	DataCollectorSetStatusCompiling DataCollectorSetStatus = 2
	// plaPending:  Not used.
	DataCollectorSetStatusPending DataCollectorSetStatus = 3
	// plaUndefined:  Cannot determine the status but no error has occurred. Typically,
	// this status is set for boot trace sessions.
	DataCollectorSetStatusUndefined DataCollectorSetStatus = 4
)

func (DataCollectorSetStatus) String

func (o DataCollectorSetStatus) String() string

type DataCollectorType

type DataCollectorType uint16

DataCollectorType type represents DataCollectorType RPC enumeration.

The DataCollectorType enumeration defines the data collector types.

The DataCollectorType (Get) method retrieves the DataCollectorType property.

var (
	// plaPerformanceCounter:  Collects performance counter data. The IPerformanceCounterDataCollector
	// interface represents this data collector.
	DataCollectorTypePerformanceCounter DataCollectorType = 0
	// plaTrace:  Collects events from an event trace session. The ITraceDataCollector
	// interface represents this data collector.
	DataCollectorTypeTrace DataCollectorType = 1
	// plaConfiguration:  Collects computer configuration information. The IConfigurationDataCollector
	// interface represents this data collector.
	DataCollectorTypeConfiguration DataCollectorType = 2
	// plaAlert:  Monitors performance counters and performs actions if the counter value
	// crosses the given threshold. The IAlertDataCollector interface represents this data
	// collector.
	DataCollectorTypeAlert DataCollectorType = 3
	// plaApiTrace:  Logs API calls made by the process. The IApiTracingDataCollector interface
	// represents this data collector.
	DataCollectorTypeAPITrace DataCollectorType = 4
)

func (DataCollectorType) String

func (o DataCollectorType) String() string

type DataManager

type DataManager dcom.InterfacePointer

DataManager structure represents IDataManager RPC structure.

The IDataManager interface is used to manage data generated by the data collectors, including report generation, data retention policy, and data transfer.

The following properties MUST be implemented by the objects that implement the IDataManager interface.

+--------------------+------------+----------------------------------------------------------------------------------+
|                    |            |                                                                                  |
|      PROPERTY      | READ/WRITE |                                   DESCRIPTION                                    |
|                    |            |                                                                                  |
+--------------------+------------+----------------------------------------------------------------------------------+
+--------------------+------------+----------------------------------------------------------------------------------+
| CheckBeforeRunning | RW         | Indicates whether maximum folder count and minimum free disk space thresholds    |
|                    |            | MUST be checked before running the data collector set. If set to VARIANT_TRUE    |
|                    |            | and either one of the conditions is not met, the data collector set MUST         |
|                    |            | fail the start. If set to VARIANT_FALSE, the thresholds will still be used       |
|                    |            | after collection to determine if the resource policy will be invoked. The        |
|                    |            | ResourcePolicy property is defined below. The MaxSize threshold is never checked |
|                    |            | before running an IDataManager, irrespective of the value of this property.      |
+--------------------+------------+----------------------------------------------------------------------------------+
| Enabled            | RW         | Determines whether data management is enabled. If set to VARIANT_FALSE, all      |
|                    |            | other settings of this object are ignored and no data management operations      |
|                    |            | (such as creating a report) execute; the data manager is not run. If set         |
|                    |            | to VARIANT_TRUE, all other properties of this object are used and the data       |
|                    |            | manager is run. The properties that are used when the data manager runs are as   |
|                    |            | follows: CheckBeforeRunning EventsFileName FolderAction MaxFolderCount MaxSize   |
|                    |            | MinFreeDisk ReportFileName ReportSchema ResourcePolicy Rules RulesTargetFileName |
+--------------------+------------+----------------------------------------------------------------------------------+
| EventsFileName     | RW         | Specifies the name of the file that MUST be created by the Performance Logs and  |
|                    |            | Alerts Protocol, during report generation. This file contains all the events     |
|                    |            | that were collected, serialized to XML. This file differs from the report file   |
|                    |            | because the events are not normalized, performance data is not included, and     |
|                    |            | rules are not run against this file.                                             |
+--------------------+------------+----------------------------------------------------------------------------------+
| FolderActions      | R          | List of actions to be performed on the subfolders that match the criteria. The   |
|                    |            | IFolderAction interface is specified in section 3.2.4.3.                         |
+--------------------+------------+----------------------------------------------------------------------------------+
| MaxFolderCount     | RW         | Specifies the threshold for the maximum number of subfolders under the data      |
|                    |            | collector sets root path. If this threshold is violated, the action specified by |
|                    |            | the ResourcePolicy property is invoked. If this property is set to zero, there   |
|                    |            | is no maximum. The default value is zero. Any unsigned long is a valid value for |
|                    |            | this property.                                                                   |
+--------------------+------------+----------------------------------------------------------------------------------+
| MaxSize            | RW         | Specifies the maximum size, in megabytes, of all files under the data collector  |
|                    |            | set root path. If this threshold is violated, the action specified by the        |
|                    |            | ResourcePolicy property is invoked. If this property is set to zero, there is no |
|                    |            | maximum. The default value is zero. Any unsigned long is a valid value for this  |
|                    |            | property.                                                                        |
+--------------------+------------+----------------------------------------------------------------------------------+
| MinFreeDisk        | RW         | Specifies the minimum free space, in MB, that MUST remain available in the       |
|                    |            | data collector set root path volume. If this threshold is violated, the data     |
|                    |            | collector set will not start collecting data. If this property is set to zero,   |
|                    |            | there is no minimum. The default value is zero. Any unsigned long is a valid     |
|                    |            | value for this property.                                                         |
+--------------------+------------+----------------------------------------------------------------------------------+
| ReportFileName     | RW         | Specifies the name of the HTML file that results from converting the file in     |
|                    |            | RuleTargetFileName from XML to HTML.                                             |
+--------------------+------------+----------------------------------------------------------------------------------+
| ReportSchema       | RW         | Specifies the XML used to customize the report generated from the data. The XSD  |
|                    |            | that defines the format of the XML is specified in section 2.2.3.3 .             |
+--------------------+------------+----------------------------------------------------------------------------------+
| ResourcePolicy     | RW         | Specifies the action to be performed if one of the disk resource limits          |
|                    |            | is violated. The limits are the maximum folder count, the maximum size           |
|                    |            | and the minimum free disk space. The possible actions are described in the       |
|                    |            | ResourcePolicy enumeration in section 2.2.2.9.                                   |
+--------------------+------------+----------------------------------------------------------------------------------+
| Rules              | RW         | The rules to be applied to the report file. The rules are specified in an XML    |
|                    |            | format, which is specified in section 2.2.3.4.                                   |
+--------------------+------------+----------------------------------------------------------------------------------+
| RuleTargetFileName | RW         | Specifies the name of the file where the report data is stored before rules are  |
|                    |            | run against it and it is converted to HTML.                                      |
+--------------------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+--------------------------+------------------------------------------------------+
|                          |                                                      |
|          METHOD          |                     DESCRIPTION                      |
|                          |                                                      |
+--------------------------+------------------------------------------------------+
+--------------------------+------------------------------------------------------+
| Enabled (Get)            | Retrieves the Enabled property. Opnum: 7             |
+--------------------------+------------------------------------------------------+
| Enabled (Put)            | Sets the Enabled property. Opnum: 8                  |
+--------------------------+------------------------------------------------------+
| CheckBeforeRunning (Get) | Retrieves the CheckBeforeRunning property. Opnum: 9  |
+--------------------------+------------------------------------------------------+
| CheckBeforeRunning (Put) | Sets the CheckBeforeRunning property. Opnum: 10      |
+--------------------------+------------------------------------------------------+
| MinFreeDisk (Get)        | Retrieves the MinFreeDisk property. Opnum: 11        |
+--------------------------+------------------------------------------------------+
| MinFreeDisk (Put)        | Sets the MinFreeDisk property. Opnum: 12             |
+--------------------------+------------------------------------------------------+
| MaxSize (Get)            | Retrieves the MaxSize property. Opnum: 13            |
+--------------------------+------------------------------------------------------+
| MaxSize (Put)            | Sets the MaxSize property. Opnum: 14                 |
+--------------------------+------------------------------------------------------+
| MaxFolderCount (Get)     | Retrieves the MaxFolderCount property. Opnum: 15     |
+--------------------------+------------------------------------------------------+
| MaxFolderCount (Put)     | Sets the MaxFolderCount property. Opnum: 16          |
+--------------------------+------------------------------------------------------+
| ResourcePolicy (Get)     | Retrieves the ResourcePolicy property. Opnum: 17     |
+--------------------------+------------------------------------------------------+
| ResourcePolicy (Put)     | Sets the ResourcePolicy property. Opnum: 18          |
+--------------------------+------------------------------------------------------+
| FolderActions (Get)      | Retrieves the FolderAction property. Opnum: 19       |
+--------------------------+------------------------------------------------------+
| ReportSchema (Get)       | Retrieves the ReportSchema property. Opnum: 20       |
+--------------------------+------------------------------------------------------+
| ReportSchema (Put)       | Sets the ReportSchema property. Opnum: 21            |
+--------------------------+------------------------------------------------------+
| ReportFileName (Get)     | Retrieves the ReportFileName property. Opnum: 22     |
+--------------------------+------------------------------------------------------+
| ReportFileName (Put)     | Sets the ReportFileName property. Opnum: 23          |
+--------------------------+------------------------------------------------------+
| RuleTargetFileName (Get) | Retrieves the RuleTargetFileName property. Opnum: 24 |
+--------------------------+------------------------------------------------------+
| RuleTargetFileName (Put) | Sets the RuleTargetFileName property. Opnum: 25      |
+--------------------------+------------------------------------------------------+
| EventsFileName (Get)     | Retrieves the EventsFileName property. Opnum: 26     |
+--------------------------+------------------------------------------------------+
| EventsFileName (Put)     | Sets the EventsFileName property. Opnum: 27          |
+--------------------------+------------------------------------------------------+
| Rules (Get)              | Retrieves the Rules property. Opnum: 28              |
+--------------------------+------------------------------------------------------+
| Rules (Put)              | Sets the Rules property. Opnum: 29                   |
+--------------------------+------------------------------------------------------+
| Run                      | Manually runs the data manager. Opnum: 30            |
+--------------------------+------------------------------------------------------+
| Extract                  | Extracts the specified CAB file. Opnum: 31           |
+--------------------------+------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*DataManager) InterfacePointer

func (o *DataManager) InterfacePointer() *dcom.InterfacePointer

func (*DataManager) MarshalNDR

func (o *DataManager) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DataManager) NDRSizeInfo

func (o *DataManager) NDRSizeInfo() []uint64

func (*DataManager) UnmarshalNDR

func (o *DataManager) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DataManagerSteps

type DataManagerSteps uint16

DataManagerSteps type represents DataManagerSteps RPC enumeration.

The DataManagerSteps enumeration defines the actions that the data manager takes when it runs. Any combination of the bits are allowed.

var (
	// plaCreateReport:  Creates a report if data is available. The file name MUST be IDataManager::RuleTargetFileName,
	// and IDataManager::ReportSchema can be used to customize the way the report is created.
	// This value indicates the run of TraceRpt.exe by using as input all of the binary
	// performance files (.blg) and event trace files (.etl) in the collection.
	DataManagerStepsCreateReport DataManagerSteps = 1
	// plaRunRules:  If a report exists, the PLA Protocol MUST apply the rules specified
	// in IDataManager::Rules to the report. The IDataManager::RuleTargetFileName(Get) returns
	// the name of the file to which the rules are applied.
	DataManagerStepsRunRules DataManagerSteps = 2
	// plaCreateHtml:  Converts the XML file obtained by IDataManager::RuleTargetFileName(Get)
	// to HTML format. The HTML format is written to the file specified in IDataManager::ReportFileName.
	DataManagerStepsCreateHTML DataManagerSteps = 4
	// plaFolderActions:  Apply the folder actions obtained by IDataManager::FolderActions(Get)
	// to all folders defined in the collection.
	DataManagerStepsFolderActions DataManagerSteps = 8
	// plaResourceFreeing:  If IDataManager::MaxFolderCount, IDataManager::MaxSize, or
	// MinFreeDisk exceeds its limit, the PLA Protocol MUST apply the resource policy specified
	// in IDataManager::ResourcePolicy.
	DataManagerStepsResourceFreeing DataManagerSteps = 16
)

func (DataManagerSteps) String

func (o DataManagerSteps) String() string

type FileFormat

type FileFormat uint16

FileFormat type represents FileFormat RPC enumeration.

The FileFormat enumeration defines the format of the data in the log file.

var (
	// plaCommaSeparated:  Comma-separated log file. The first line in the text file contains
	// column headers followed by comma-separated data in the remaining lines of the log
	// file.
	FileFormatCommaSeparated FileFormat = 0
	// plaTabSeparated:  Tab-separated log file. The first line in the text file contains
	// column headers followed by tab-separated data in the remaining lines of the log file.
	FileFormatTabSeparated FileFormat = 1
	// plaSql:  The data is saved into a SQL database, instead of to a file. The SQL database
	// contains three tables: CounterData, CounterDetails, and DisplayToId. All three tables
	// are specified below.
	//
	// The CounterData table contains a row for each counter that is collected at a particular
	// time. There will be a large number of these rows. The GUID, CounterID, and RecordIndex
	// fields make up the primary key for this table.
	//
	// * GUID(uniqueidentifier, NOT NULL): GUID, as specified in [MS-DTYP] ( ../ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2
	// ) section 2.3.4 ( ../ms-dtyp/4926e530-816e-41c2-b251-ec5c7aca018a ) , for this data
	// set. Use this key to join with the DisplayToID table.
	//
	// * CounterID(int, NOT NULL): Identifies the counter. Use this key to join with the
	// CounterDetails table.
	//
	// * RecordIndex(int, NOT NULL): The sample index for a specific counter identifier
	// and collection PLA-UID ( f43f48aa-80a5-4b39-971e-7b3ac0bd9d0d#gt_1a61d947-4d31-4365-b2b4-5249de682b56
	// ). The value increases for each successive sample in this log file.
	//
	// * CounterDateTime(char(24), NOT NULL): The time the collection was started, in UTC
	// time.
	//
	// * CounterValue(float, NOT NULL): The formatted value of the counter. This value can
	// be zero for the first record if the counter requires two samples to compute a displayable
	// value.
	//
	// * FirstValueA(int): Combine this 32-bit value with the value of FirstValueB to create
	// the FirstValue member of PDH_RAW_COUNTER. FirstValueA contains the low-order bits.
	//
	// * FirstValueB(int): Combine this 32-bit value with the value of FirstValueA to create
	// the FirstValue member of PDH_RAW_COUNTER. FirstValueB contains the high-order bits.
	//
	// * SecondValueA(int): Combine this 32-bit value with the value of SecondValueB to
	// create the SecondValue member of PDH_RAW_COUNTER. SecondValueA contains the low-order
	// bits.
	//
	// * SecondValueB(int): Combine this 32-bit value with the value of SecondValueA to
	// create the SecondValue member of PDH_RAW_COUNTER. SecondValueB contains the high
	// order bits.
	//
	// The CounterDetails table describes a specific counter on a particular computer. The
	// CounterDetails table defines the following fields:
	//
	// * CounterID(int, IDENTITY PRIMARY KEY): A unique identifier in the database that
	// maps to a specific counter name text string. This field is the primary key of this
	// table.
	//
	// * MachineName(varchar(1024), NOT NULL): The name of the computer that logged this
	// data set.
	//
	// * ObjectName(varchar(1024), NOT NULL): The name of the performance object ( f43f48aa-80a5-4b39-971e-7b3ac0bd9d0d#gt_8bb43a65-7a8c-4585-a7ed-23044772f8ca
	// ).
	//
	// * CounterName(varchar(1024), NOT NULL): The name of the counter.
	//
	// * CounterType(int, NOT NULL): The counter type.
	//
	// * DefaultScale(int, NOT NULL): The default scaling to be applied to the raw performance
	// counter ( f43f48aa-80a5-4b39-971e-7b3ac0bd9d0d#gt_35645a67-9e0b-4c05-b2d9-3b2b25f2beac
	// ) data.
	//
	// * InstanceName(varchar(1024)): The name of the counter instance.
	//
	// * InstanceIndex(int): The index number of the counter instance.
	//
	// * ParentName(varchar(1024)): Some counters are logically associated with others,
	// and are referred to as parents. For example, the parent of a thread is a process
	// and the parent of a logical disk ( f43f48aa-80a5-4b39-971e-7b3ac0bd9d0d#gt_c4133b2a-a990-4042-ba44-7fda3090f118
	// ) driver is a physical drive. This field contains the name of the parent. Either
	// the value in this field or the ParentObjectID field identifies a specific parent
	// instance. If the value in this field is NULL, the value in the ParentObjectID field
	// will be checked to identify the parent. If the values in both fields are NULL, the
	// counter does not have a parent.
	//
	// * ParentObjectID(int): The unique identifier of the parent. The value in either this
	// field or the ParentName field identifies a specific parent instance. If the value
	// in this field is NULL, the value in the ParentName field will be checked to identify
	// the parent.
	//
	// The DisplayToID table relates the user-friendly string displayed by the System Monitor
	// to the PLA-UID stored in the other tables. The DisplayToID table defines the following
	// fields:
	//
	// * GUID(uniqueidentifier, NOT NULL PRIMARY KEY): A PLA-UID generated for a log. This
	// field is the primary key of this table. Note that these do not correspond to the
	// values in: HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \SysmonLog \Log
	// Queries\
	//
	// * RunID(int): Reserved for internal use.
	//
	// * DisplayString(varchar(1024), NOT NULL UNIQUE): Name of the log file as displayed
	// in the System Monitor.
	//
	// * LogStartTime(char(24)): Time the logging process started in yyyy-mm-dd hh:mm:ss:nnn
	// format.
	//
	// * LogStopTime(char(24)): Time the logging process stopped in yyyy-mm-dd hh:mm:ss:nnn
	// format. Multiple log files with the same DisplayString value can be differentiated
	// by using the value in this and the LogStartTime fields. The values in the LogStartTime
	// and LogStopTime fields also allow the total collection time to be accessed quickly.
	//
	// * NumberOfRecords(int): Number of samples stored in the table for each log collection.
	//
	// * MinutesToUTC(int): Value used to convert the row data stored in UTC time to local
	// time.
	//
	// * TimeZoneName(char(32)): Name of the time zone where the data was collected. If
	// collecting or analyzing relogged data from a file collected on systems in the user's
	// time zone, this field will state the location.
	FileFormatSQL FileFormat = 2
	// plaBinary:  Binary log file.
	FileFormatBinary FileFormat = 3
)

func (FileFormat) String

func (o FileFormat) String() string

type FolderAction

type FolderAction dcom.InterfacePointer

FolderAction structure represents IFolderAction RPC structure.

The IFolderAction interface is used to specify the actions that the data manager is to take on each folder under the data collector set root path if both age and size conditions are met.

The following properties MUST be implemented by the objects that implement the IFolderAction interface.

+-----------+------------+----------------------------------------------------------------------------------+
|           |            |                                                                                  |
| PROPERTY  | READ/WRITE |                                   DESCRIPTION                                    |
|           |            |                                                                                  |
+-----------+------------+----------------------------------------------------------------------------------+
+-----------+------------+----------------------------------------------------------------------------------+
| Actions   | RW         | Specifies the actions that the data manager is to take if both conditions (age   |
|           |            | and size) are met.                                                               |
+-----------+------------+----------------------------------------------------------------------------------+
| Age       | RW         | The minimum age of a folder, in days, before it can be considered for these      |
|           |            | actions. The age of the folder is the number of days since the folder was        |
|           |            | created. If set to zero, no folders will be excluded because of age. The default |
|           |            | value is zero. Any unsigned long is a valid value for this property.             |
+-----------+------------+----------------------------------------------------------------------------------+
| SendCabTo | RW         | Specifies the path for sending the CAB file, if the action includes sending the  |
|           |            | CAB file. The path needs to be formatted as a UncPath. If the cab cannot be sent |
|           |            | (because the destination does not exist or the DataCollectorSet does not have    |
|           |            | write privileges to the destination), the DataManager does not fail and data     |
|           |            | management continues.                                                            |
+-----------+------------+----------------------------------------------------------------------------------+
| Size      | RW         | Specifies the minimum size, in megabytes (MB), of any folder against which the   |
|           |            | actions specified in the Actions property will be executed. If set to zero,      |
|           |            | no folders will be excluded because of size. The default value is zero. Any      |
|           |            | unsigned long is a valid value for this property.                                |
+-----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+-----------------+---------------------------------------------+
|                 |                                             |
|     METHOD      |                 DESCRIPTION                 |
|                 |                                             |
+-----------------+---------------------------------------------+
+-----------------+---------------------------------------------+
| Age (Get)       | Retrieves the Age property. Opnum: 7        |
+-----------------+---------------------------------------------+
| Age (Put)       | Sets the Age property. Opnum: 8             |
+-----------------+---------------------------------------------+
| Size (Get)      | Retrieves the Size property. Opnum: 9       |
+-----------------+---------------------------------------------+
| Size (Put)      | Sets the Size property. Opnum: 10           |
+-----------------+---------------------------------------------+
| Actions (Get)   | Retrieves the Actions property. Opnum: 11   |
+-----------------+---------------------------------------------+
| Actions (Put)   | Sets the Actions property. Opnum: 12        |
+-----------------+---------------------------------------------+
| SendCabTo (Get) | Retrieves the SendCabTo property. Opnum: 13 |
+-----------------+---------------------------------------------+
| SendCabTo (Put) | Sets the SendCabTo property. Opnum: 14      |
+-----------------+---------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*FolderAction) InterfacePointer

func (o *FolderAction) InterfacePointer() *dcom.InterfacePointer

func (*FolderAction) MarshalNDR

func (o *FolderAction) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FolderAction) NDRSizeInfo

func (o *FolderAction) NDRSizeInfo() []uint64

func (*FolderAction) UnmarshalNDR

func (o *FolderAction) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FolderActionCollection

type FolderActionCollection dcom.InterfacePointer

FolderActionCollection structure represents IFolderActionCollection RPC structure.

The IFolderActionCollection interface is used to manage a collection of FolderAction objects.

The following properties MUST be implemented by the objects that implement the IFolderActionCollection interface.

+----------+------------+----------------------------------------------------------------------------------+
|          |            |                                                                                  |
| PROPERTY | READ/WRITE |                                   DESCRIPTION                                    |
|          |            |                                                                                  |
+----------+------------+----------------------------------------------------------------------------------+
+----------+------------+----------------------------------------------------------------------------------+
| _NewEnum | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|          |            | IFolderAction in this collection. The enumeration object is specified in         |
|          |            | [MS-OAUT] section 3.3                                                            |
+----------+------------+----------------------------------------------------------------------------------+
| Count    | R          | Number of folder actions in this collection.                                     |
+----------+------------+----------------------------------------------------------------------------------+
| Item     | R          | Retrieves the requested folder action from the collection.                       |
+----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+--------------------+--------------------------------------------------------------+
|                    |                                                              |
|       METHOD       |                         DESCRIPTION                          |
|                    |                                                              |
+--------------------+--------------------------------------------------------------+
+--------------------+--------------------------------------------------------------+
| Count (Get)        | Retrieves the Count property. Opnum: 7                       |
+--------------------+--------------------------------------------------------------+
| Item (Get)         | Retrieves the Item property. Opnum: 8                        |
+--------------------+--------------------------------------------------------------+
| _NewEnum (Get)     | Retrieves the NewEnum property. Opnum: 9                     |
+--------------------+--------------------------------------------------------------+
| Add                | Adds a folder action to the collection. Opnum: 10            |
+--------------------+--------------------------------------------------------------+
| Remove             | Removes a folder action from the collection. Opnum: 11       |
+--------------------+--------------------------------------------------------------+
| Clear              | Removes all folder actions from the collection. Opnum: 12    |
+--------------------+--------------------------------------------------------------+
| AddRange           | Adds one or more folder actions to the collection. Opnum: 13 |
+--------------------+--------------------------------------------------------------+
| CreateFolderAction | Creates a folder action object. Opnum: 14                    |
+--------------------+--------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*FolderActionCollection) InterfacePointer

func (o *FolderActionCollection) InterfacePointer() *dcom.InterfacePointer

func (*FolderActionCollection) MarshalNDR

func (o *FolderActionCollection) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*FolderActionCollection) NDRSizeInfo

func (o *FolderActionCollection) NDRSizeInfo() []uint64

func (*FolderActionCollection) UnmarshalNDR

func (o *FolderActionCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type FolderActionSteps

type FolderActionSteps uint16

FolderActionSteps type represents FolderActionSteps RPC enumeration.

The FolderActionSteps enumeration defines the action that the data manager takes when both the age and size limits are met. Any combination of the bits MUST be allowed.

var (
	// plaCreateCab:  Creates a cabinet file. The name of the cabinet file is <name of
	// the subfolder>.cab. For example, if the name of the subfolder was "MyFolder", the
	// cab file would be named "MyFolder.cab". The name of the subfolder is specified by
	// the combination of the Subdirectory, SubdirectoryFormat, and SubdirectoryFormatPattern
	// properties of the IDataCollectorSet. The Subdirectory property provides the base
	// name for the Subfolder, the SubdirectoryFormat property specifies the suffix and
	// prefix that will be appended and prepended to the base name, and the SubdirectoryFormatPattern
	// specifies the pattern that will be used in the suffix. The SubdirectoryFormat is
	// specified in section 2.2.2.1. The SubdirectoryFormatPattern is specified in section
	// 2.2.3.1.
	FolderActionStepsCreateCab FolderActionSteps = 1
	// plaDeleteData:  Deletes all files in the folder, except the report and cabinet file.
	FolderActionStepsDeleteData FolderActionSteps = 2
	// plaSendCab:  Sends the cabinet file to the location specified in the IFolderAction::SendCabTo
	// property.
	FolderActionStepsSendCab FolderActionSteps = 4
	// plaDeleteCab:  Deletes the cabinet file.
	FolderActionStepsDeleteCab FolderActionSteps = 8
	// plaDeleteReport:  Deletes the report file.
	FolderActionStepsDeleteReport FolderActionSteps = 16
)

func (FolderActionSteps) String

func (o FolderActionSteps) String() string

type PerformanceCounterDataCollector

type PerformanceCounterDataCollector dcom.InterfacePointer

PerformanceCounterDataCollector structure represents IPerformanceCounterDataCollector RPC structure.

The IPerformanceCounterDataCollector interface is used to specify the performance counters to query and the log file to which the counter data is written.

The following properties MUST be implemented by the objects that implement the IPerformanceCounterDataCollector interface.

+---------------------+------------+----------------------------------------------------------------------------------+
|                     |            |                                                                                  |
|      PROPERTY       | READ/WRITE |                                   DESCRIPTION                                    |
|                     |            |                                                                                  |
+---------------------+------------+----------------------------------------------------------------------------------+
+---------------------+------------+----------------------------------------------------------------------------------+
| DataSourceName      | RW         | The data source name if the log file is an SQL log file.                         |
+---------------------+------------+----------------------------------------------------------------------------------+
| LogFileFormat       | RW         | The format in which data MUST be stored. The format is specified by the          |
|                     |            | FileFormat enumeration.                                                          |
+---------------------+------------+----------------------------------------------------------------------------------+
| PerformanceCounters | RW         | List of performance counters to be collected.                                    |
+---------------------+------------+----------------------------------------------------------------------------------+
| SampleInterval      | RW         | The time, in seconds, between two consecutive samples. The default is 15         |
|                     |            | seconds. The minimum interval is 1 second. There is no maximum interval.         |
+---------------------+------------+----------------------------------------------------------------------------------+
| SegmentMaxRecords   | RW         | Maximum number of samples to log in a segment. If set to 0, there is no segment  |
|                     |            | record limit. Any unsigned long is a valid value for this property.              |
+---------------------+------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22) it. The format of the XML that defines a performance counter data collector is as follows(the full XML specification of the data collector set XML is in section 3.2.4.19):

The XML given above does not show the property elements inherited from IDataCollector that also need to be specified.

Methods in RPC Opnum Order

+---------------------------+-------------------------------------------------------+
|                           |                                                       |
|          METHOD           |                      DESCRIPTION                      |
|                           |                                                       |
+---------------------------+-------------------------------------------------------+
+---------------------------+-------------------------------------------------------+
| DataSourceName (Get)      | Retrieves the DataSourceName property. Opnum: 32      |
+---------------------------+-------------------------------------------------------+
| DataSourceName (Put)      | Sets the DataSourceName property. Opnum: 33           |
+---------------------------+-------------------------------------------------------+
| PerformanceCounters (Get) | Retrieves the PerformanceCounters property. Opnum: 34 |
+---------------------------+-------------------------------------------------------+
| PerformanceCounters (Put) | Sets the PerformanceCounters property. Opnum: 35      |
+---------------------------+-------------------------------------------------------+
| LogFileFormat (Get)       | Retrieves the LogFileFormat property. Opnum: 36       |
+---------------------------+-------------------------------------------------------+
| LogFileFormat (Put)       | Sets the LogFileFormat property. Opnum: 37            |
+---------------------------+-------------------------------------------------------+
| SampleInterval (Get)      | Retrieves the SampleInterval property. Opnum: 38      |
+---------------------------+-------------------------------------------------------+
| SampleInterval (Put)      | Sets the SampleInterval property. Opnum: 39           |
+---------------------------+-------------------------------------------------------+
| SegmentMaxRecords (Get)   | Retrieves the SegmentMaxRecords property. Opnum: 40   |
+---------------------------+-------------------------------------------------------+
| SegmentMaxRecords (Put)   | Sets the SegmentMaxRecords property. Opnum: 41        |
+---------------------------+-------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface. Opnums 7–31 are used by IDataCollector.

func (*PerformanceCounterDataCollector) InterfacePointer

func (o *PerformanceCounterDataCollector) InterfacePointer() *dcom.InterfacePointer

func (*PerformanceCounterDataCollector) MarshalNDR

func (*PerformanceCounterDataCollector) NDRSizeInfo

func (o *PerformanceCounterDataCollector) NDRSizeInfo() []uint64

func (*PerformanceCounterDataCollector) UnmarshalNDR

type ResourcePolicy

type ResourcePolicy uint16

ResourcePolicy type represents ResourcePolicy RPC enumeration.

The ResourcePolicy enumeration defines the order in which folders are deleted when one of the disk resource limits is exceeded.

var (
	// plaDeleteLargest:  Deletes the largest folders first.
	ResourcePolicyDeleteLargest ResourcePolicy = 0
	// plaDeleteOldest:  Deletes the oldest folders first.
	ResourcePolicyDeleteOldest ResourcePolicy = 1
)

func (ResourcePolicy) String

func (o ResourcePolicy) String() string

type Schedule

type Schedule dcom.InterfacePointer

Schedule structure represents ISchedule RPC structure.

The ISchedule interface is used to specify when the data collector set runs.

The following properties MUST be implemented by the objects that implement the ISchedule interface.

+-----------+------------+----------------------------------------------------------------------------------+
|           |            |                                                                                  |
| PROPERTY  | READ/WRITE |                                   DESCRIPTION                                    |
|           |            |                                                                                  |
+-----------+------------+----------------------------------------------------------------------------------+
+-----------+------------+----------------------------------------------------------------------------------+
| Days      | RW         | Specifies the days of the week on which the data collector set runs.             |
+-----------+------------+----------------------------------------------------------------------------------+
| EndDate   | RW         | Specifies the ending date for when the schedule is valid. The value is stored in |
|           |            | a VARIANT. Any VARIANT of type Date is a legal value for this type. The format   |
|           |            | and over-the-wire transmission of a VARIANT is specified in [MS-OAUT] section    |
|           |            | 2.2.29. The time portion of the VARIANT is ignored; only the date portion is     |
|           |            | used.                                                                            |
+-----------+------------+----------------------------------------------------------------------------------+
| StartDate | RW         | Specifies the date that the schedule becomes valid. The value is stored in a     |
|           |            | VARIANT. Any VARIANT of type Date is a legal value for this type. The format     |
|           |            | and over-the-wire transmission of a VARIANT is specified in [MS-OAUT] section    |
|           |            | 2.2.29. The time portion of the VARIANT is ignored; only the date portion is     |
|           |            | used.                                                                            |
+-----------+------------+----------------------------------------------------------------------------------+
| StartTime | RW         | Specifies the time of day when the data collector set starts. The value is       |
|           |            | stored in a VARIANT. Any VARIANT of type Date is a legal value for this type.    |
|           |            | The format and over-the-wire transmission of a VARIANT is specified in [MS-OAUT] |
|           |            | section 2.2.29. The date portion of the VARIANT is ignored; only the time        |
|           |            | portion is used.                                                                 |
+-----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+-----------------+--------------------------------------------+
|                 |                                            |
|     METHOD      |                DESCRIPTION                 |
|                 |                                            |
+-----------------+--------------------------------------------+
+-----------------+--------------------------------------------+
| StartDate (Get) | Retrieves the StartDate property. Opnum: 7 |
+-----------------+--------------------------------------------+
| StartDate (Put) | Sets the StartDate property. Opnum: 8      |
+-----------------+--------------------------------------------+
| EndDate (Get)   | Retrieves the EndDate property. Opnum: 9   |
+-----------------+--------------------------------------------+
| EndDate (Put)   | Sets the EndDate property. Opnum: 10       |
+-----------------+--------------------------------------------+
| StartTime (Get) | Retrieves the StartTime property Opnum: 11 |
+-----------------+--------------------------------------------+
| StartTime (Put) | Sets the StartTime property Opnum: 12      |
+-----------------+--------------------------------------------+
| Days (Get)      | Retrieves the Days property. Opnum: 13     |
+-----------------+--------------------------------------------+
| Days (Put)      | Sets the Days property. Opnum: 14          |
+-----------------+--------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*Schedule) InterfacePointer

func (o *Schedule) InterfacePointer() *dcom.InterfacePointer

func (*Schedule) MarshalNDR

func (o *Schedule) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*Schedule) NDRSizeInfo

func (o *Schedule) NDRSizeInfo() []uint64

func (*Schedule) UnmarshalNDR

func (o *Schedule) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ScheduleCollection

type ScheduleCollection dcom.InterfacePointer

ScheduleCollection structure represents IScheduleCollection RPC structure.

The IScheduleCollection interface is used to manage a collection of Schedule objects

The following properties MUST be implemented by the objects that implement the IScheduleCollection interface.

+----------+------------+----------------------------------------------------------------------------------+
|          |            |                                                                                  |
| PROPERTY | READ/WRITE |                                   DESCRIPTION                                    |
|          |            |                                                                                  |
+----------+------------+----------------------------------------------------------------------------------+
+----------+------------+----------------------------------------------------------------------------------+
| _NewEnum | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|          |            | ISchedule objects in this collection. The enumeration object is specified in     |
|          |            | [MS-OAUT] section 3.3.                                                           |
+----------+------------+----------------------------------------------------------------------------------+
| Count    | R          | Number of schedules in this collection.                                          |
+----------+------------+----------------------------------------------------------------------------------+
| Item     | R          | Retrieves the requested schedule from the collection.                            |
+----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+----------------+---------------------------------------------------------+
|                |                                                         |
|     METHOD     |                       DESCRIPTION                       |
|                |                                                         |
+----------------+---------------------------------------------------------+
+----------------+---------------------------------------------------------+
| Count (Get)    | Retrieves the Count property. Opnum: 7                  |
+----------------+---------------------------------------------------------+
| Item (Get)     | Retrieves the Item property. Opnum: 8                   |
+----------------+---------------------------------------------------------+
| _NewEnum (Get) | Retrieves the NewEnum property. Opnum: 9                |
+----------------+---------------------------------------------------------+
| Add            | Adds a schedule to the collection. Opnum: 10            |
+----------------+---------------------------------------------------------+
| Remove         | Removes a schedule from the collection. Opnum: 11       |
+----------------+---------------------------------------------------------+
| Clear          | Removes all schedules from the collection. Opnum: 12    |
+----------------+---------------------------------------------------------+
| AddRange       | Adds one or more schedules to the collection. Opnum: 13 |
+----------------+---------------------------------------------------------+
| CreateSchedule | Creates a schedule object. Opnum: 14                    |
+----------------+---------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*ScheduleCollection) InterfacePointer

func (o *ScheduleCollection) InterfacePointer() *dcom.InterfacePointer

func (*ScheduleCollection) MarshalNDR

func (o *ScheduleCollection) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ScheduleCollection) NDRSizeInfo

func (o *ScheduleCollection) NDRSizeInfo() []uint64

func (*ScheduleCollection) UnmarshalNDR

func (o *ScheduleCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type StreamMode

type StreamMode uint16

StreamMode type represents StreamMode RPC enumeration.

The StreamMode enumeration defines where the trace events are delivered.

var (
	// plaFile:  Writes the trace events to a log file.
	StreamModeFile StreamMode = 1
	// plaRealTime:  Delivers the trace events to a real time consumer.
	StreamModeRealTime StreamMode = 2
	// plaBoth:  Writes the trace events to a log file and delivers them to a real-time
	// consumer.
	StreamModeBoth StreamMode = 3
	// plaBuffering:   Keeps events in a circular buffer in memory only. For more information,
	// see the EVENT_TRACE_BUFFERING_MODE logging mode in [MSDN-LMC].
	StreamModeBuffering StreamMode = 4
)

func (StreamMode) String

func (o StreamMode) String() string

type TraceDataCollector

type TraceDataCollector dcom.InterfacePointer

TraceDataCollector structure represents ITraceDataCollector RPC structure.

The ITraceDataCollector interface is used to collect trace events from trace data providers.

The following properties MUST be implemented by the objects that implement the ITraceDataCollector interface.

+---------------------+---------------------------------+----------------------------------------------------------------------------------+
|                     |                                 |                                                                                  |
|      PROPERTY       |           READ/WRITE            |                                   DESCRIPTION                                    |
|                     |                                 |                                                                                  |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| BufferSize          | RW                              | Specifies the suggested buffer size, in kilobytes (KB), for each event tracing   |
|                     |                                 | session buffer. The minimum value of the BufferSize property is 1 kilobyte. The  |
|                     |                                 | maximum value is 1,024 KB. The default value is 8 KB.                            |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| BuffersLost         | R                               | Specifies the number of buffers that could not be written to the log file. Any   |
|                     |                                 | unsigned long is a valid value for this property. This property is only updated  |
|                     |                                 | when the IDataCollectorSet::Start or IDataCollectorSet::Query methods are        |
|                     |                                 | called.<22>                                                                      |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| BuffersWritten      | R                               | If running, specifies the number of buffers written to the log file. Any         |
|                     |                                 | unsigned long is a valid value for this property.                                |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| ClockType           | RW                              | Retrieves or sets the clock resolution to use when logging the time stamp for    |
|                     |                                 | each event.                                                                      |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| EventsLost          | R                               | If running, specifies the number of events that were lost due to the             |
|                     |                                 | lack of buffers to write to. Any unsigned long is a valid value for this         |
|                     |                                 | property. This property is only updated when the IDataCollectorSet::Start or     |
|                     |                                 | IDataCollectorSet::Query methods are called.<23>                                 |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| ExtendedModes       | RW                              | Retrieves or sets the log file modes that are not already set by this or other   |
|                     |                                 | objects. The valid values for ExtendedModes are specified in section 2.2.9.      |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| FlushTimer          | RW                              | Specifies the time, in seconds, to wait before flushing buffers either to a      |
|                     |                                 | log file or by delivering the buffers to an event consuming the application      |
|                     |                                 | in real-time. If zero, the buffers are flushed as soon as they are filled. If    |
|                     |                                 | nonzero, all buffers containing at least one event are flushed every time the    |
|                     |                                 | number of seconds specified in this property elapse. Any unsigned long is a      |
|                     |                                 | valid value for this property.                                                   |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| FreeBuffers         | R                               | If running, specifies the number of buffers that are allocated but unused        |
|                     |                                 | in the event tracing session's buffer pool. Any unsigned long is a valid         |
|                     |                                 | value for the FreeBuffers property. This property is only updated when the       |
|                     |                                 | IDataCollectorSet::Start or IDataCollectorSet::Query methods are called.<24>     |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| Guid                | RW                              | Specifies the PLA-UID of the session. If the supplied PLA-UID maps to a          |
|                     |                                 | Security Descriptor, the session will run using that Security Descriptor. If no  |
|                     |                                 | PLA-UID is supplied, a PLA-UID is generated. The PLA-UID is used for internal    |
|                     |                                 | state tracking and does not correspond to any of the DCOM GUID subtypes. The     |
|                     |                                 | valid range for this property is from 0000-0000-0000-0000-0000-0000-0000-0001    |
|                     |                                 | to FFFF-FFFF-FFFF-FFFF-FFFF-FFFF-FFFF-FFFF. Any PLA-UID other than               |
|                     |                                 | 0000-0000-0000-0000-0000-0000-0000-0000 is a valid value for this property. The  |
|                     |                                 | Guid in this context refers to the COM interface property which is used as a     |
|                     |                                 | PLA-UID and does not comply with the semantics of GUID specified in [C706].      |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| IsKernelTrace       | R                               | Specifies whether this trace data collector includes kernel event trace data     |
|                     |                                 | providers.                                                                       |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| MaximumBuffers      | RW                              | Specifies the suggested maximum number of buffers to allocate for the event      |
|                     |                                 | tracing session's buffer pool. The value of the MaximumBuffers property has      |
|                     |                                 | to be greater than or equal to the value of the MinimumBuffers property. Any     |
|                     |                                 | unsigned long is a valid number of maximum buffers to suggest, but there is no   |
|                     |                                 | guarantee that the suggestion will be followed. If the MaximumBuffers property   |
|                     |                                 | is set to zero, it implies that the user is requesting that no more than         |
|                     |                                 | zero buffers be used. As with any other possible value for the MaximumBuffers    |
|                     |                                 | property, the suggestion might or might not be followed depending on whether the |
|                     |                                 | protocol implementation supports the requested value. No error will occur if the |
|                     |                                 | suggestion is not followed, unless MaximumBuffers was set to a lower value than  |
|                     |                                 | MinimumBuffers, and it is not possible to detect if the suggestion is followed.  |
|                     |                                 | The protocol does not provide any mechanism to discover the actual number of     |
|                     |                                 | buffers being used.                                                              |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| MinimumBuffers      | RW                              | Specifies the suggested minimum number of buffers to allocate for the event      |
|                     |                                 | tracing session's buffer pool. The value of the MinimumBuffers property has to   |
|                     |                                 | be less than or equal to the value of the MaximumBuffers property. Any unsigned  |
|                     |                                 | long is a valid number of minimum buffers to suggest, but there is no guarantee  |
|                     |                                 | that the suggestion will be followed. If the MinimumBuffers property is set      |
|                     |                                 | to zero, it implies that the user is requesting that as few as zero buffers      |
|                     |                                 | be used. As with any other possible value for the MinimumBuffers property, the   |
|                     |                                 | suggestion might or might not be followed depending on whether the protocol      |
|                     |                                 | implementation supports the requested value. No error will occur if the          |
|                     |                                 | suggestion is not followed and it is not possible to detect if the suggestion    |
|                     |                                 | is followed. The protocol does not provide any mechanism to discover the actual  |
|                     |                                 | number of buffers being used.                                                    |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| NumberOfBuffers     | RW                              | Specifies the suggested number of buffers to use for logging. Any unsigned long  |
|                     |                                 | is a valid number of buffers to suggest, though there is no guarantee that the   |
|                     |                                 | suggestion will be followed. If the NumberOfBuffers property is set to zero, it  |
|                     |                                 | implies that the user is requesting that zero buffers be used. As with any other |
|                     |                                 | possible value for the NumberOfBuffers property, the suggestion might or might   |
|                     |                                 | not be followed depending on whether the protocol implementation supports the    |
|                     |                                 | requested value. No error will occur if the suggestion is not followed and it    |
|                     |                                 | is not possible to detect if the suggestion is followed. The protocol does not   |
|                     |                                 | provide any mechanism to discover the actual number of buffers being used.       |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| PreallocateFile     | RW                              | Specifies whether or not PLA MUST allocate the IDataCollectorSet::SegmentMaxSize |
|                     |                                 | on disk prior to the start of the trace data collector. However, if              |
|                     |                                 | IDataCollectorSet::SegmentMaxSize is set to zero, then this property is ignored. |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| ProcessMode         | RW                              | Specifies whether or not a process-private logger MUST be used when the          |
|                     |                                 | ITraceDataCollector is executing on the server. When events are logged using     |
|                     |                                 | ETW, they are temporarily directed to buffers before they are written to a file  |
|                     |                                 | or delivered to a real-time monitoring application. If this property is set      |
|                     |                                 | to TRUE, then when the ITraceDataCollector begins executing on the server, the   |
|                     |                                 | buffers will not be allocated from kernel memory, but from process memory. If    |
|                     |                                 | this property is set to FALSE, then the buffers will be allocated from kernel    |
|                     |                                 | memory. If this property is set to TRUE, and the ITraceDataProviderCollection is |
|                     |                                 | empty or if any one of the specified trace providers is a kernel-mode provider,  |
|                     |                                 | then the IDataCollectorSet::Start method will fail and an error code will be     |
|                     |                                 | returned. The ITraceDataCollector specifies which providers to enable to this    |
|                     |                                 | process-private logger. The buffers will be allocated in the process-space       |
|                     |                                 | when the ITraceDataCollector begins executing. However, nothing will be          |
|                     |                                 | written to these buffers unless the provider, which is also specified in the     |
|                     |                                 | ITraceDataCollector, registers with ETW on the server and begins using the ETW   |
|                     |                                 | API to log events. If this property is set to TRUE, and the provider registers   |
|                     |                                 | multiple times with ETW from different processes, then there will be different   |
|                     |                                 | trace files that are generated, one for each process. The file name is specified |
|                     |                                 | in the ITraceDataCollector, and to this file name is appended the extension,     |
|                     |                                 | etl, and the process ID. If the process-private logger were running in a process |
|                     |                                 | with a process ID of 4, and the file name specified in the ITraceDataCollector   |
|                     |                                 | is MyFile, then the file name that the events would be written to would be       |
|                     |                                 | MyFile.etl_4. This is not the case if this property is set to FALSE, since the   |
|                     |                                 | different provider instances from the different processes will all log to the    |
|                     |                                 | buffers that are allocated in kernel memory, and these buffers are associated    |
|                     |                                 | with a single trace file. As a result, no process ID is appended after the file  |
|                     |                                 | extension etl. If a process-private logger is used, the process in which the     |
|                     |                                 | buffers are allocated has the ability to modify the contents of the buffers.     |
|                     |                                 | However, because the buffers are in the process, they are only visible to that   |
|                     |                                 | process. While a process hosting a private session can edit the contents of a    |
|                     |                                 | buffer after an event is written to it, only that process can view those buffers |
|                     |                                 | and consequently see those edits. If a process-private logger is not used, the   |
|                     |                                 | buffers are allocated in the kernel. In this case, all processes can potentially |
|                     |                                 | view the contents of buffers, but no process has the ability to edit them.       |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| RealTimeBuffersLost | R                               | If running, specifies the number of buffers that could not be delivered in real  |
|                     |                                 | time to the consumer. RealTimeBuffers are lost when the backup file for storing  |
|                     |                                 | events cannot be read or written to by the Event Tracing for infrastructure. In  |
|                     |                                 | these situations, the buffers are not recoverable. It is not the case that the   |
|                     |                                 | buffers are arriving late; instead, they are not arriving at all. Any unsigned   |
|                     |                                 | long is a valid value for RealTimeBuffersLost. This property is only updated     |
|                     |                                 | when the IDataCollectorSet::Start or IDataCollectorSet::Query methods are        |
|                     |                                 | called.<25>                                                                      |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| SessionId           | R                               | This property refers to the session identifier of the ETW trace session. When    |
|                     |                                 | an ITraceDataCollector executes, it starts an ETW trace session; this session    |
|                     |                                 | is marked with a numeric identifier. There can be up to 64 different sessions.   |
|                     |                                 | Each of these sessions is marked by a different numeric SessionId, which is      |
|                     |                                 | specified in this property. Therefore, this property can have the value of       |
|                     |                                 | 0x0000000000000000 to 0x000000000000003F. The lower 2 bytes have the session     |
|                     |                                 | IDs that are possible (0x0000 to 0x003F) while the upper 6 bytes MUST be         |
|                     |                                 | ignored. This property is only updated when the IDataCollectorSet::Start or      |
|                     |                                 | IDataCollectorSet::Query methods are called.<26>                                 |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| SessionName         | RW                              | Specifies the name of the session to be created to collect event trace data.     |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| SessionThreadId     | R                               | If running, specifies the ID of the thread performing the logging of the         |
|                     |                                 | session. This property is only updated when the IDataCollectorSet::Start or      |
|                     |                                 | IDataCollectorSet::Query methods are called.<27>                                 |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| StreamMode          | RW                              | Specifies the logging mode of the trace session.                                 |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+
| TraceDataProviders  | R (returned object is writable) | List of providers to be enabled for this trace session.                          |
+---------------------+---------------------------------+----------------------------------------------------------------------------------+

A data collector can be represented as an XML file, which can be used to serialize (using Xml (Get) 3.2.4.5.21) and deserialize (using SetXml 3.2.4.5.22) it. The format of the XML that defines a trace data collector is as follows (note that the full specification of the data collector set XML is in section 3.2.4.19):

The XML given above does not show the property elements inherited from IDataCollector that also need to be specified.

Opnums 35, 37, 41, 47, 62, 64, and 68 are not used across the network. These opnums are reserved and MUST NOT be reused by non-Microsoft implementations.

Methods in RPC Opnum Order

+---------------------------+-------------------------------------------------------+
|                           |                                                       |
|          METHOD           |                      DESCRIPTION                      |
|                           |                                                       |
+---------------------------+-------------------------------------------------------+
+---------------------------+-------------------------------------------------------+
| BufferSize (Get)          | Retrieves the BufferSize property. Opnum: 32          |
+---------------------------+-------------------------------------------------------+
| BufferSize (Put)          | Sets the BufferSize property. Opnum: 33               |
+---------------------------+-------------------------------------------------------+
| BuffersLost (Get)         | Retrieves the BufferLost property. Opnum: 34          |
+---------------------------+-------------------------------------------------------+
| Opnum35NotUsedOnWire      | Reserved for local use. Opnum: 35                     |
+---------------------------+-------------------------------------------------------+
| BuffersWritten (Get)      | Retrieves the BuffersWritten property. Opnum: 36      |
+---------------------------+-------------------------------------------------------+
| Opnum37NotUsedOnWire      | Reserved for local use. Opnum: 37                     |
+---------------------------+-------------------------------------------------------+
| ClockType (Get)           | Retrieves the ClockType property. Opnum: 38           |
+---------------------------+-------------------------------------------------------+
| ClockType (Put)           | Sets the ClockType property. Opnum: 39                |
+---------------------------+-------------------------------------------------------+
| EventsLost (Get)          | Retrieves the EventsLost property. Opnum: 40          |
+---------------------------+-------------------------------------------------------+
| Opnum41NotUsedOnWire      | Reserved for local use. Opnum: 41                     |
+---------------------------+-------------------------------------------------------+
| ExtendedModes (Get)       | Retrieves the ExtendedModes property. Opnum: 42       |
+---------------------------+-------------------------------------------------------+
| ExtendedModes (Put)       | Sets the ExtendedModes property. Opnum: 43            |
+---------------------------+-------------------------------------------------------+
| FlushTimer (Get)          | Retrieves the FlushTimer property. Opnum: 44          |
+---------------------------+-------------------------------------------------------+
| FlushTimer (Put)          | Sets the FlushTimer property. Opnum: 45               |
+---------------------------+-------------------------------------------------------+
| FreeBuffers (Get)         | Retrieves the FreeBuffers property. Opnum: 46         |
+---------------------------+-------------------------------------------------------+
| Opnum47NotUsedOnWire      | Reserved for local use. Opnum: 47                     |
+---------------------------+-------------------------------------------------------+
| Guid (Get)                | Retrieves the Guid property. Opnum: 48                |
+---------------------------+-------------------------------------------------------+
| Guid (Put)                | Sets the Guid property. Opnum: 49                     |
+---------------------------+-------------------------------------------------------+
| IsKernelTrace (Get)       | Retrieves the IsKernelTrace property. Opnum: 50       |
+---------------------------+-------------------------------------------------------+
| MaximumBuffers (Get)      | Retrieves the MaximumBuffers property. Opnum: 51      |
+---------------------------+-------------------------------------------------------+
| MaximumBuffers (Put)      | Sets the MaximumBuffers property. Opnum: 52           |
+---------------------------+-------------------------------------------------------+
| MinimumBuffers (Get)      | Retrieves the MinimumBuffers property. Opnum: 53      |
+---------------------------+-------------------------------------------------------+
| MinimumBuffers (Put)      | Sets the MinimumBuffers property. Opnum: 54           |
+---------------------------+-------------------------------------------------------+
| NumberOfBuffers (Get)     | Retrieves the NumberOfBuffers property. Opnum: 55     |
+---------------------------+-------------------------------------------------------+
| NumberOfBuffers (Put)     | Sets the NumberOfBuffers property. Opnum: 56          |
+---------------------------+-------------------------------------------------------+
| PreallocateFile (Get)     | Retrieves the PreallocateFile property. Opnum: 57     |
+---------------------------+-------------------------------------------------------+
| PreallocateFile (Put)     | Sets the PreallocateFile property. Opnum: 58          |
+---------------------------+-------------------------------------------------------+
| ProcessMode (Get)         | Retrieves the ProcessMode property. Opnum: 59         |
+---------------------------+-------------------------------------------------------+
| ProcessMode (Put)         | Sets the ProcessMode property. Opnum: 60              |
+---------------------------+-------------------------------------------------------+
| RealTimeBuffersLost (Get) | Retrieves the RealTimeBuffersLost property. Opnum: 61 |
+---------------------------+-------------------------------------------------------+
| Opnum62NotUsedOnWire      | Reserved for local use. Opnum: 62                     |
+---------------------------+-------------------------------------------------------+
| SessionId (Get)           | Retrieves the SessionId property. Opnum: 63           |
+---------------------------+-------------------------------------------------------+
| Opnum64NotUsedOnWire      | Reserved for local use. Opnum: 64                     |
+---------------------------+-------------------------------------------------------+
| SessionName (Get)         | Retrieves the SessionName. Opnum: 65                  |
+---------------------------+-------------------------------------------------------+
| SessionName (Put)         | Sets the SessionName Opnum: 66                        |
+---------------------------+-------------------------------------------------------+
| SessionThreadId (Get)     | Retrieves the SessionThreadId property. Opnum: 67     |
+---------------------------+-------------------------------------------------------+
| Opnum68NotUsedOnWire      | Reserved for local use. Opnum: 68                     |
+---------------------------+-------------------------------------------------------+
| StreamMode (Get)          | Retrieves the StreamMode property. Opnum: 69          |
+---------------------------+-------------------------------------------------------+
| StreamMode (Put)          | Retrieves the StreamMode property. Opnum: 70          |
+---------------------------+-------------------------------------------------------+
| TraceDataProviders (Get)  | Retrieves the TraceDataProviders property. Opnum: 71  |
+---------------------------+-------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface. Opnums 7–31 are used by IDataCollector.

func (*TraceDataCollector) InterfacePointer

func (o *TraceDataCollector) InterfacePointer() *dcom.InterfacePointer

func (*TraceDataCollector) MarshalNDR

func (o *TraceDataCollector) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*TraceDataCollector) NDRSizeInfo

func (o *TraceDataCollector) NDRSizeInfo() []uint64

func (*TraceDataCollector) UnmarshalNDR

func (o *TraceDataCollector) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type TraceDataProvider

type TraceDataProvider dcom.InterfacePointer

TraceDataProvider structure represents ITraceDataProvider RPC structure.

The ITraceDataProvider interface is used to specify the details on each provider that is to be enabled to an event trace session.

The following properties MUST be implemented by objects that implement the ITraceDataProvider interface.

+---------------+------------+----------------------------------------------------------------------------------+
|   PROPERTY    |            |                                                                                  |
|     NAME      | READ/WRITE |                                   DESCRIPTION                                    |
|               |            |                                                                                  |
+---------------+------------+----------------------------------------------------------------------------------+
+---------------+------------+----------------------------------------------------------------------------------+
| DisplayName   | RW         | The name of the provider. The name is provided by the user and can be read by    |
|               |            | the user but is otherwise ignored by the PLA protocol. The field exists so that  |
|               |            | the user can attach a semantically meaningful name to the ITraceDataProvider     |
|               |            | if he or she so chooses rather than having to differentiate providers based on   |
|               |            | the Guid property, defined below. The Guid in this context refers to the COM     |
|               |            | interface property, which is used as a PLA-UID and does not comply with the      |
|               |            | semantics of GUID specified in [C706].                                           |
+---------------+------------+----------------------------------------------------------------------------------+
| Guid          | RW         | The PLA-UID of the provider. On collection, this PLA-UID uniquely identifies     |
|               |            | the provider to be enabled. The value 0000-0000-0000-0000-0000-0000-0000-0000    |
|               |            | is never a valid provider PLA-UID, and therefore the Guid property is set to     |
|               |            | 0000-0000-0000-0000-0000-0000-0000-0000 when no provider is specified. The       |
|               |            | Guid in this context refers to the COM interface property, which is used as a    |
|               |            | PLA-UID and does not comply with the semantics of GUID specified in [C706]. The  |
|               |            | valid range for this property is from 0000-0000-0000-0000-0000-0000-0000-0001 to |
|               |            | FFFF-FFFF-FFFF-FFFF-FFFF-FFFF-FFFF-FFFF.                                         |
+---------------+------------+----------------------------------------------------------------------------------+
| Level         | R          | The list of levels for the provider. On collection, events from this provider    |
|               |            | are collected only if their levels are less than or equal to the value of the    |
|               |            | enabled level; this property is used in conjunction with the KeywordsAny and     |
|               |            | KeywordsAll properties to control which events are collected from a provider.    |
|               |            | The enabled level is stored in the Value property of the Level property. The     |
|               |            | level denotes the severity of event (as defined by the event provider). There    |
|               |            | are predefined trace levels that can be used to control tracing; there can be    |
|               |            | more trace levels that are defined in addition to these predefined levels. The   |
|               |            | maximum value of a level is 0x000000FF. The possible pre-defined levels are:     |
|               |            | Log Always Critical Error Warning Informational If the enabled level has the     |
|               |            | value of 3, all events with level 3, 2, or 1 will be collected. These levels     |
|               |            | semantically represent Warning, Error, and Critical events. If the enabled level |
|               |            | has the value of 0, then events with any level will be collected. Setting the    |
|               |            | enabled level to 0 is equivalent to setting the enabled level to 0x000000FF.     |
+---------------+------------+----------------------------------------------------------------------------------+
| KeywordsAny   | R          | The list of keywords of the provider. The keywords determine the category of     |
|               |            | events for the provider to write; this property is used in conjunction with      |
|               |            | the Level and KeywordsAll properties. On collection, events from this provider   |
|               |            | are collected only if their keywords include at least one of the keywords in     |
|               |            | KeywordsAny and all of the keywords in KeywordsAll. If KeywordsAny is zero,      |
|               |            | then the provider will successfully write all events assuming that the event's   |
|               |            | keywords pass the KeywordsAll check. The Value property of the KeywordsAny       |
|               |            | property stores the bitwise-or of the keywords in the KeywordsAny property.      |
+---------------+------------+----------------------------------------------------------------------------------+
| KeywordsAll   | R          | The list of keywords of the provider. The keywords determine the category        |
|               |            | of events for the provider to write; this is used in conjunction with the        |
|               |            | KeywordsAny and Level properties. On collection, events from this provider are   |
|               |            | collected only if their keywords include all of the keywords in KeywordsAll.     |
|               |            | The Value property of the KeywordsAll property stores the bitwise-or of the      |
|               |            | keywords in the KeywordsAll property. If KeywordsAll is zero, then the provider  |
|               |            | will successfully write all events assuming that the event's keywords pass the   |
|               |            | KeywordsAny check.                                                               |
+---------------+------------+----------------------------------------------------------------------------------+
| Properties    | R          | The list of extra information that can be collected when events from this        |
|               |            | provider are collected. The possible properties are the user's security          |
|               |            | identifier, as specified in [MS-DTYP] section 2.4.2.3, (value 1), or the session |
|               |            | identifier that is assigned by either the Remote Desktop Session Host server,    |
|               |            | Remote Desktop Virtualization Host server, or virtual machine (value 2).         |
+---------------+------------+----------------------------------------------------------------------------------+
| FilterEnabled | RW         | Determines whether provider-side filtering MUST be enabled. If the FilterEnabled |
|               |            | property is set to VARIANT_TRUE, the filter stored in the FilterData property    |
|               |            | (as specified in section 3.2.4.11.10) will be used to filter the provider.       |
|               |            | Otherwise, the FilterData property will be ignored.                              |
+---------------+------------+----------------------------------------------------------------------------------+
| FilterType    | RW         | Not used. Because the value is currently not used, any ULONG is a valid value,   |
|               |            | so validation will always succeed for the property.                              |
+---------------+------------+----------------------------------------------------------------------------------+
| FilterData    | RW         | When the client enables tracing for a provider on the server, it has the option  |
|               |            | of passing back data to that provider. This data is provider-specific, and the   |
|               |            | client MUST know how the provider expects the FilterData to be formatted. The    |
|               |            | FilterData property can contain any arbitrary type that is understood by the     |
|               |            | trace provider but MUST NOT exceed 1 KB in total size. The PLA protocol has      |
|               |            | no knowledge of how this FilterData is constructed and what are its possible     |
|               |            | values. This data is opaque to the protocol. It serves as the transport for this |
|               |            | data between the client and the server, and the PLA protocol only restriction    |
|               |            | on this property is that this data MUST NOT exceed 1 KB in size. The FilterData  |
|               |            | that is specified by the client will be sent back to the server trace provider   |
|               |            | being enabled if the FilterEnabled property is set to VARIANT_TRUE. Upon         |
|               |            | receiving this FilterData, the provider MUST use it to control which events are  |
|               |            | logged; this property serves as a filter on the events that are logged by the    |
|               |            | provider. The PLA protocol has no knowledge of whether or not the provider did   |
|               |            | use the FilterData to control which events it logs. For example, the client can  |
|               |            | specify an IP address as the value of the FilterData. When the trace provider    |
|               |            | receives this FilterData, it can only log events that have a matching IP         |
|               |            | address.                                                                         |
+---------------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+------------------------+----------------------------------------------------------------------------------+
|                        |                                                                                  |
|         METHOD         |                                   DESCRIPTION                                    |
|                        |                                                                                  |
+------------------------+----------------------------------------------------------------------------------+
+------------------------+----------------------------------------------------------------------------------+
| DisplayName (Get)      | Retrieves the DisplayName property. Opnum: 7                                     |
+------------------------+----------------------------------------------------------------------------------+
| DisplayName (Put)      | Sets the DisplayName property. Opnum: 8                                          |
+------------------------+----------------------------------------------------------------------------------+
| Guid (Get)             | Retrieves the Guid property. Opnum: 9                                            |
+------------------------+----------------------------------------------------------------------------------+
| Guid (Put)             | Sets the Guid property. Opnum: 10                                                |
+------------------------+----------------------------------------------------------------------------------+
| Level (Get)            | Retrieves the Level property. Opnum: 11                                          |
+------------------------+----------------------------------------------------------------------------------+
| KeywordsAny (Get)      | Retrieves the KeywordsAny property. Opnum: 12                                    |
+------------------------+----------------------------------------------------------------------------------+
| KeywordsAll (Get)      | Retrieves the KeywordsAll property. Opnum: 13                                    |
+------------------------+----------------------------------------------------------------------------------+
| Properties (Get)       | Retrieves the Properties property. Opnum: 14                                     |
+------------------------+----------------------------------------------------------------------------------+
| FilterEnabled (Get)    | Retrieves the FilterEnabled property. Opnum: 15                                  |
+------------------------+----------------------------------------------------------------------------------+
| FilterEnabled (Put)    | Sets the FilterEnabled property. Opnum: 16                                       |
+------------------------+----------------------------------------------------------------------------------+
| FilterType (Get)       | Retrieves the FilterType property. Opnum: 17                                     |
+------------------------+----------------------------------------------------------------------------------+
| FilterType (Put)       | Sets the FilterType property. Opnum: 18                                          |
+------------------------+----------------------------------------------------------------------------------+
| FilterData (Get)       | Retrieves the FilterData property. Opnum: 19                                     |
+------------------------+----------------------------------------------------------------------------------+
| FilterData (Put)       | Sets the FilterData property. Opnum: 20                                          |
+------------------------+----------------------------------------------------------------------------------+
| Query                  | Populates the other properties based on the local repository of providers.       |
|                        | Opnum: 21                                                                        |
+------------------------+----------------------------------------------------------------------------------+
| Resolve                | Used to resolve the properties. Opnum: 22                                        |
+------------------------+----------------------------------------------------------------------------------+
| SetSecurity            | Updates the system-wide security descriptor of the provider. Opnum: 23           |
+------------------------+----------------------------------------------------------------------------------+
| GetSecurity            | Retrieves the system-wide security descriptor of the provider. Opnum: 24         |
+------------------------+----------------------------------------------------------------------------------+
| GetRegisteredProcesses | Retrieves a list of processes that have registered as an event trace data        |
|                        | provider. Opnum: 25                                                              |
+------------------------+----------------------------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*TraceDataProvider) InterfacePointer

func (o *TraceDataProvider) InterfacePointer() *dcom.InterfacePointer

func (*TraceDataProvider) MarshalNDR

func (o *TraceDataProvider) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*TraceDataProvider) NDRSizeInfo

func (o *TraceDataProvider) NDRSizeInfo() []uint64

func (*TraceDataProvider) UnmarshalNDR

func (o *TraceDataProvider) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type TraceDataProviderCollection

type TraceDataProviderCollection dcom.InterfacePointer

TraceDataProviderCollection structure represents ITraceDataProviderCollection RPC structure.

The ITraceDataProviderCollection interface is used to manage a collection of TraceDataProvider objects.

The following properties MUST be implemented by the objects that implement the ITraceDataProviderCollection interface.

+----------+------------+----------------------------------------------------------------------------------+
|          |            |                                                                                  |
| PROPERTY | READ/WRITE |                                   DESCRIPTION                                    |
|          |            |                                                                                  |
+----------+------------+----------------------------------------------------------------------------------+
+----------+------------+----------------------------------------------------------------------------------+
| _NewEnum | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|          |            | ITraceDataProvider objects in this collection. The enumeration object is         |
|          |            | specified in [MS-OAUT] section 3.3.                                              |
+----------+------------+----------------------------------------------------------------------------------+
| Count    | R          | Number of trace data providers in this collection.                               |
+----------+------------+----------------------------------------------------------------------------------+
| Item     | R          | Retrieves the requested trace data provider from the collection.                 |
+----------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+--------------------------------+----------------------------------------------------------------------------------+
|                                |                                                                                  |
|             METHOD             |                                   DESCRIPTION                                    |
|                                |                                                                                  |
+--------------------------------+----------------------------------------------------------------------------------+
+--------------------------------+----------------------------------------------------------------------------------+
| Count (Get)                    | Retrieves the Count property. Opnum: 7                                           |
+--------------------------------+----------------------------------------------------------------------------------+
| Item (Get)                     | Retrieves the Item property. Opnum: 8                                            |
+--------------------------------+----------------------------------------------------------------------------------+
| _NewEnum (Get)                 | Retrieves the NewEnum property. Opnum: 9                                         |
+--------------------------------+----------------------------------------------------------------------------------+
| Add                            | Adds a trace provider to the collection. Opnum: 10                               |
+--------------------------------+----------------------------------------------------------------------------------+
| Remove                         | Removes a trace provider from the collection. Opnum: 11                          |
+--------------------------------+----------------------------------------------------------------------------------+
| Clear                          | Removes all trace providers from the collection. Opnum: 12                       |
+--------------------------------+----------------------------------------------------------------------------------+
| AddRange                       | Adds one or more trace providers to the collection. Opnum: 13                    |
+--------------------------------+----------------------------------------------------------------------------------+
| CreateTraceDataProvider        | Creates a trace data provider object. Opnum: 14                                  |
+--------------------------------+----------------------------------------------------------------------------------+
| GetTraceDataProviders          | Populates the collection with the registered trace providers. Opnum: 15          |
+--------------------------------+----------------------------------------------------------------------------------+
| GetTraceDataProvidersByProcess | Populates the collection with the list of providers that were registered by the  |
|                                | given process. Opnum: 16                                                         |
+--------------------------------+----------------------------------------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*TraceDataProviderCollection) InterfacePointer

func (o *TraceDataProviderCollection) InterfacePointer() *dcom.InterfacePointer

func (*TraceDataProviderCollection) MarshalNDR

func (*TraceDataProviderCollection) NDRSizeInfo

func (o *TraceDataProviderCollection) NDRSizeInfo() []uint64

func (*TraceDataProviderCollection) UnmarshalNDR

func (o *TraceDataProviderCollection) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ValueMap

type ValueMap dcom.InterfacePointer

ValueMap structure represents IValueMap RPC structure.

The IValueMap interface is used to manage a collection of named-value pairs.

Objects that implement this interface represent value maps. The following properties MUST be implemented by the objects that implement the IValueMap interface.

+--------------+------------+----------------------------------------------------------------------------------+
|              |            |                                                                                  |
|   PROPERTY   | READ/WRITE |                                   DESCRIPTION                                    |
|              |            |                                                                                  |
+--------------+------------+----------------------------------------------------------------------------------+
+--------------+------------+----------------------------------------------------------------------------------+
| _NewEnum     | R          | An enumeration object of type IEnumVariant containing a snapshot of the          |
|              |            | IValueMapItem objects in this collection. The enumeration object is specified in |
|              |            | [MS-OAUT] section 3.3.                                                           |
+--------------+------------+----------------------------------------------------------------------------------+
| Count        | R          | The number of value map items in the value map.                                  |
+--------------+------------+----------------------------------------------------------------------------------+
| Description  | RW         | Specifies the description of the value map.                                      |
+--------------+------------+----------------------------------------------------------------------------------+
| Item         | R          | Retrieves the requested value map item from the value map.                       |
+--------------+------------+----------------------------------------------------------------------------------+
| Value        | RW         | Specifies the value of the value map. The value is stored in a VARIANT. Any      |
|              |            | VARIANT is a legal value for this type. The Value property can be used for       |
|              |            | several purposes. Most commonly, the APIs described in this document use the     |
|              |            | Value property to indicate which ValueMapItem is considered to be currently      |
|              |            | selected. In these cases, the ValueMapItems each represent a possible value for  |
|              |            | a ValueMap, and the Value property stores the key to the ValueMapItem that is    |
|              |            | currently selected.                                                              |
+--------------+------------+----------------------------------------------------------------------------------+
| ValueMapType | RW         | Specifies the type of the value map. The possible types of the value map are     |
|              |            | specified in section 2.2.2.11.                                                   |
+--------------+------------+----------------------------------------------------------------------------------+

Methods in RPC Opnum Order

+--------------------+-----------------------------------------------------+
|                    |                                                     |
|       METHOD       |                     DESCRIPTION                     |
|                    |                                                     |
+--------------------+-----------------------------------------------------+
+--------------------+-----------------------------------------------------+
| Count (Get)        | Retrieves the Count property. Opnum: 7              |
+--------------------+-----------------------------------------------------+
| Item (Get)         | Retrieves the Item property. Opnum: 8               |
+--------------------+-----------------------------------------------------+
| _NewEnum (Get)     | Retrieves the NewEnum property. Opnum: 9            |
+--------------------+-----------------------------------------------------+
| Description (Get)  | Retrieves the Description property. Opnum: 10       |
+--------------------+-----------------------------------------------------+
| Description (Put)  | Sets the Description property. Opnum: 11            |
+--------------------+-----------------------------------------------------+
| Value (Get)        | Retrieves the Value property. Opnum: 12             |
+--------------------+-----------------------------------------------------+
| Value (Put)        | Sets the Value property. Opnum: 13                  |
+--------------------+-----------------------------------------------------+
| ValueMapType (Get) | Retrieves the ValueMapType property. Opnum: 14      |
+--------------------+-----------------------------------------------------+
| ValueMapType (Put) | Sets the ValueMapType property. Opnum: 15           |
+--------------------+-----------------------------------------------------+
| Add                | Adds an item to the collection. Opnum: 16           |
+--------------------+-----------------------------------------------------+
| Remove             | Removes an item from the collection. Opnum: 17      |
+--------------------+-----------------------------------------------------+
| Clear              | Removes all items from the collection Opnum: 18     |
+--------------------+-----------------------------------------------------+
| AddRange           | Adds one or more items to the collection. Opnum: 19 |
+--------------------+-----------------------------------------------------+
| CreateValueMapItem | Creates a value map item object. Opnum: 20          |
+--------------------+-----------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

The IValueMap is used by the Performance Logs and Alerts Protocol for primarily two purposes. The first use of the IValueMap is to return properties of the data collector set (or its encapsulated objects) that could not be set by the server. Sections 3.2.4.1.54, 3.2.4.1.58, 3.2.4.2.24, 3.2.4.5.22, and 3.2.4.15.8 provide more information on how the IValueMap is used for this purpose. The second primary use of IValueMap in the Performance Logs and Alerts Protocol is to return information about a trace provider in the ITraceDataProvider interface. Sections 3.2.4.11.5, 3.2.4.11.6, and 3.2.4.11.7 detail how information about the trace provider is returned using the IValueMap.

func (*ValueMap) InterfacePointer

func (o *ValueMap) InterfacePointer() *dcom.InterfacePointer

func (*ValueMap) MarshalNDR

func (o *ValueMap) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ValueMap) NDRSizeInfo

func (o *ValueMap) NDRSizeInfo() []uint64

func (*ValueMap) UnmarshalNDR

func (o *ValueMap) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ValueMapItem

type ValueMapItem dcom.InterfacePointer

ValueMapItem structure represents IValueMapItem RPC structure.

The IValueMapItem interface is used to define a named-value pair.

The following properties MUST be implemented by the objects that implement the IValueMapItem interface.

The following is an XML representation of a ValueMapItem.

+--------------+------------+----------------------------------------------------------------------------------+
|              |            |                                                                                  |
|   PROPERTY   | READ/WRITE |                                   DESCRIPTION                                    |
|              |            |                                                                                  |
+--------------+------------+----------------------------------------------------------------------------------+
+--------------+------------+----------------------------------------------------------------------------------+
| Description  | RW         | Specifies the description of the item.                                           |
+--------------+------------+----------------------------------------------------------------------------------+
| Enabled      | RW         | Specifies whether or not the item is enabled. If an item is not enabled, its     |
|              |            | Value property will be ignored. In typical usage, a ValueMap will contain a      |
|              |            | ValueMapItem for each of the multiple possible settings of the property that the |
|              |            | ValueMap is passed to (such as an entry for every Keyword or every Level that    |
|              |            | can be used by an ITraceDataProvider). This Enabled property indicates whether   |
|              |            | or not the ValueMapItem will be used. Essentially, the ValueMap contains a       |
|              |            | ValueMapItem for each of the multiple possible options, and the Enabled property |
|              |            | indicates which options are actually selected.                                   |
+--------------+------------+----------------------------------------------------------------------------------+
| Key          | RW         | Specifies the name of the item. The name of the item can be any non-empty        |
|              |            | BSTR. The semantics of the key depend on the ValueMapType property, specified    |
|              |            | in section 3.2.4.18, of the IValueMap to which this IValueMapItem belongs. The   |
|              |            | over-the-wire transmission of a BSTR is specified in [MS-OAUT] section 2.2.23.   |
|              |            | The Performance Logs and Alerts Protocol does not have any predefined Key values |
|              |            | or semantic definitions. The only condition Performance Logs and Alerts Protocol |
|              |            | places on the Key is that it cannot be an empty BSTR.<36>                        |
+--------------+------------+----------------------------------------------------------------------------------+
| Value        | RW         | Specifies the value of the item. The value is stored in a VARIANT. The format    |
|              |            | and over the wire transmission of a VARIANT is specified in [MS-OAUT] section    |
|              |            | 2.2.29. Any VARIANT is a legal value for this property. The ValueMapItem is a    |
|              |            | generic container and the semantics of the Value property depend on what it is   |
|              |            | being used to contain. The ValueMapType property contains information regarding  |
|              |            | how the Value property will be interpreted. <37>                                 |
+--------------+------------+----------------------------------------------------------------------------------+
| ValueMapType | RW         | Specifies the type of ValueMap in which the ValueMapItem will be inserted.       |
|              |            | Information on the different types of ValueMaps are specified in section         |
|              |            | 2.2.2.11.                                                                        |
+--------------+------------+----------------------------------------------------------------------------------+

The following is an XML representation of a ValueMapItem; please see section 3.2.4.19 the XML layout of entire data collector set element.

Methods in RPC Opnum Order

+--------------------+------------------------------------------------+
|                    |                                                |
|       METHOD       |                  DESCRIPTION                   |
|                    |                                                |
+--------------------+------------------------------------------------+
+--------------------+------------------------------------------------+
| Description (Get)  | Retrieves the Description property. Opnum: 7   |
+--------------------+------------------------------------------------+
| Description (Put)  | Sets the Description property. Opnum: 8        |
+--------------------+------------------------------------------------+
| Enabled (Get)      | Retrieves the Enabled property. Opnum: 9       |
+--------------------+------------------------------------------------+
| Enabled (Put)      | Sets the Enabled property. Opnum: 10           |
+--------------------+------------------------------------------------+
| Key (Get)          | Retrieves the Key property. Opnum: 11          |
+--------------------+------------------------------------------------+
| Key (Put)          | Sets the Key property. Opnum: 12               |
+--------------------+------------------------------------------------+
| Value (Get)        | Retrieves the Value property. Opnum: 13        |
+--------------------+------------------------------------------------+
| Value (Put)        | Sets the Value property. Opnum: 14             |
+--------------------+------------------------------------------------+
| ValueMapType (Get) | Retrieves the ValueMapType property. Opnum: 15 |
+--------------------+------------------------------------------------+
| ValueMapType (Put) | Sets the ValueMapType property. Opnum: 16      |
+--------------------+------------------------------------------------+

Opnums 0, 1, and 2 are reserved for the IUnknown interface. Opnums 3, 4, 5, and 6 are reserved for the IDispatch interface.

func (*ValueMapItem) InterfacePointer

func (o *ValueMapItem) InterfacePointer() *dcom.InterfacePointer

func (*ValueMapItem) MarshalNDR

func (o *ValueMapItem) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ValueMapItem) NDRSizeInfo

func (o *ValueMapItem) NDRSizeInfo() []uint64

func (*ValueMapItem) UnmarshalNDR

func (o *ValueMapItem) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type ValueMapType

type ValueMapType uint16

ValueMapType type represents ValueMapType RPC enumeration.

The ValueMapType enumeration defines a value map type. A value map defines a named-value pair. A value map can be used in different ways. A value map type defines which way the value map is to be used; each type has a different way of evaluating the "value" of the "value map" based on the "values" of each individual "value map item".

var (
	// plaIndex:  Only one item in the collection can be enabled. The enabled item is the
	// value of IValueMap::Value. If more than one is enabled, the first enabled item MUST
	// be used as the value.
	ValueMapTypeIndex ValueMapType = 1
	// plaFlag:  One or more items in the collection can be enabled. The enabled items
	// in the collection are combined together by using the bitwise OR operation to become
	// the value of IValueMap::Value.
	ValueMapTypeFlag ValueMapType = 2
	// plaFlagArray:  One or more items in the collection can be enabled. An item in the
	// collection represents a 32-bit unsigned value (ULONG). The enabled items are not
	// combined together as they are for the plaFlag type, but rather each item can be retrieved
	// separately.<2>
	ValueMapTypeFlagArray ValueMapType = 3
	// plaValidation:  The collection contains a list of HRESULT values that are returned
	// in an IValueMap by the validation process. The validation process occurs when IDataCollectorSet::Commit
	// is called. In the validation process, the PLA Protocol analyzes the values of all
	// the properties in the IDataCollectorSet, including the values of the IDataCollectors
	// contained in the IDataCollectorSet and inserts a ValueMapItem into the ValueMap for
	// any property that is problematic. The ValueMapItem holds the name of the property
	// and the HRESULT describing why it is problematic. The following codes can be set
	// in a validation ValueMap:
	//
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	|                                          |                                                                                  |
	//	|                NAME/VALUE                |                                   DESCRIPTION                                    |
	//	|                                          |                                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| PLA_S_PROPERTY_IGNORED/(0x00300100)      | This value can be returned anytime the value of a property is being ignored      |
	//	|                                          | by this implementation of the protocol. The code is intended to inform the       |
	//	|                                          | client when a property is not needed or supported by an implementation. The      |
	//	|                                          | following is a list of properties for the different types of data collectors     |
	//	|                                          | (that are encapsulated within a data collector set) that MUST be ignored         |
	//	|                                          | by the server when the client calls the Commit method on the data collector      |
	//	|                                          | set; the server MUST return the property name and PLA_S_PROPERTY_IGNORED         |
	//	|                                          | in the IValueMapItem for each property that it ignored. Note that certain        |
	//	|                                          | properties can pertain to the base DataCollector interface. If there is no       |
	//	|                                          | task specified, the TaskArguments property of the DataCollectorSet MUST be       |
	//	|                                          | ignored. If the SubdirectoryFormat property is not set to plaPattern, the        |
	//	|                                          | SubdirectoryFormatPattern property is ignored. For the base DataCollector,       |
	//	|                                          | if the SegmentMaxSize property is zero and LogCircular is false, LogCircular     |
	//	|                                          | is ignored. If the LogOverwrite property is true or the LogCircular is           |
	//	|                                          | true, and the LogAppend property is false, LogAppend is ignored. For the         |
	//	|                                          | AlertDataCollector data collector, the following properties MUST be ignored:     |
	//	|                                          | FileName, FileNameFormat, FileNameFormatPattern, LogAppend, LogCircular, and     |
	//	|                                          | LogOverwrite. For the ApiTracingDataCollector data collector, the following      |
	//	|                                          | properties MUST be ignored: FileNameFormat, FileNameFormatPattern, LogAppend,    |
	//	|                                          | and LogOverwrite. For the ApiTracingDataCollector data collector, the            |
	//	|                                          | following properties MUST be ignored: FileName and LogCircular. <3> For the      |
	//	|                                          | ConfigurationDataCollector data collector, the following properties MUST be      |
	//	|                                          | ignored: LogCircular and LogAppend. For the PerformanceCounterDataCollector      |
	//	|                                          | data collector, the following properties MUST be ignored if the LogFileFormat    |
	//	|                                          | property is set to plaSql: LogCircular, LogOverwrite, and LogAppend. LogAppend   |
	//	|                                          | is also returned if the LogFileFormat property is set to plaTabSeparated         |
	//	|                                          | or plaCommaSeparated. For the TraceDataCollector data collector, the             |
	//	|                                          | following properties MUST be ignored if the StreamMode is not plaFile:           |
	//	|                                          | FileName, LogAppend, LogCircular, LogOverwrite, FileNameFormat, and              |
	//	|                                          | FileNameFormatPattern. For TraceSession, the following properties MUST be        |
	//	|                                          | ignored: RootPath, Duration, Description, Keywords, Segment, SegmentMaxDuration, |
	//	|                                          | SerialNumber, Subdirectory, SubdirectoryFormat, SubdirectoryFormatPattern,       |
	//	|                                          | Task, Schedules, TraceDataCollector[1]/FileNameFormat,                           |
	//	|                                          | TraceDataCollector[1]/FileNameFormatPattern, and                                 |
	//	|                                          | TraceDataCollector[1]/LogOverwrite. If IDataCollectorSet::Commit() with the      |
	//	|                                          | flag plaUpdateRunningInstance set is called on an IDataCollectorSet of type      |
	//	|                                          | TraceSession, as specified in section 3.2.1, the following properties MUST be    |
	//	|                                          | ignored: TraceDataCollector[1]/BufferSize, TraceDataCollector[1]/MinimumBuffers, |
	//	|                                          | TraceDataCollector[1]/NumberOfBuffers, TraceDataCollector[1]/ClockType,          |
	//	|                                          | TraceDataCollector[1]/ProcessMode, TraceDataCollector[1]/PreallocateFile, and    |
	//	|                                          | SegmentMaxSize.                                                                  |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| PLA_E_PROPERTY_CONFLICT/(0x80300101)     | This value can be returned anytime two properties are in conflict. This          |
	//	|                                          | code can be returned for the following properties under the following            |
	//	|                                          | conditions: IApiTracingDataCollector::ExePath: Returned when ExePath is equal    |
	//	|                                          | to the empty string. IDataCollector::FileNameFormatPattern: Returned when        |
	//	|                                          | IDataCollector::FileNameFormat is equal to plaPattern and FileNameFormatPattern  |
	//	|                                          | is equal to the empty string. IDataCollector::LogCircular: Returned              |
	//	|                                          | when IDataCollectorSet::SegmentMaxSize is equal to 0 and LogCircular             |
	//	|                                          | is equal to true. IDataCollector::LogAppend: Returned when either                |
	//	|                                          | IDataCollector::LogCircular is true or IDataCollector::LogOverwrite is true      |
	//	|                                          | and LogAppend is true. IPerformanceCounterDataCollector::DataSourceName:         |
	//	|                                          | Returned when DataSourceName is equal to the empty string and                    |
	//	|                                          | IPerformanceCounterDataCollector::LogFileFormat is set to plaSql.                |
	//	|                                          | ITraceDataCollector::MaximumBuffers: Returned when MaximumBuffers is less than   |
	//	|                                          | ITraceDataCollector::MinimumBuffers.<4> ITraceDataCollector::TraceDataProviders: |
	//	|                                          | Returned if ITraceDataProviderCollection::Count is greater than 1 and            |
	//	|                                          | isKernelTrace is TRUE. ITraceDataCollector::Guid: Returned if isKernelTrace is   |
	//	|                                          | true and the specific PLA-UID does not match the kernel PLA-UID.<5>              |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| PLA_E_EXE_FULL_PATH_REQUIRED/0x8030010E) | This value can be returned anytime a relative path, with respect to the current  |
	//	|                                          | working directory, to a file is provided when a full path is required. This code |
	//	|                                          | can be returned for the following properties under the following conditions:     |
	//	|                                          | IApiTracingDataCollector::ExePath: Returned when the provided path is relative   |
	//	|                                          | to the current working directory instead of absolute.                            |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| PLA_E_EXE_PATH_NOT_VALID/(0x80300108)    | This value can be returned when the executable referenced by the ExePath         |
	//	|                                          | property for an IApiTracingDataCollector does not exist. This code can           |
	//	|                                          | be returned for the following properties under the following conditions:         |
	//	|                                          | IApiTracingDataCollector::ExePath: Returned when the executable referenced by    |
	//	|                                          | the ExePath property does not exist.                                             |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	//	| PLA_E_NETWORK_EXE_NOT_VALID/(0x80300106  | This value can be returned when the executable referenced by the ExePath is on   |
	//	|                                          | a remote machine. This code can be returned for the following properties under   |
	//	|                                          | the following conditions: IApiTracingDataCollector::ExePath: Returned when the   |
	//	|                                          | executable referenced by the ExePath is on a remote machine.                     |
	//	+------------------------------------------+----------------------------------------------------------------------------------+
	ValueMapTypeValidation ValueMapType = 4
)

func (ValueMapType) String

func (o ValueMapType) String() string

type WeekDays

type WeekDays uint16

WeekDays type represents WeekDays RPC enumeration.

The WeekDays enumeration defines the days of the week on which to run the data collector set. Any combination of the bits MUST be allowed.

var (
	// plaRunOnce:  Run only once on the given start date and time.
	WeekDaysRunOnce WeekDays = 0
	// plaSunday:  Run on Sunday.
	WeekDaysSunday WeekDays = 1
	// plaMonday:   Run on Monday.
	WeekDaysMonday WeekDays = 2
	// plaTuesday:  Run on Tuesday.
	WeekDaysTuesday WeekDays = 4
	// plaWednesday:  Run on Wednesday.
	WeekDaysWednesday WeekDays = 8
	// plaThursday:  Run on Thursday.
	WeekDaysThursday WeekDays = 16
	// plaFriday:  Run on Friday.
	WeekDaysFriday WeekDays = 32
	// plaSaturday:  Run on Saturday.
	WeekDaysSaturday WeekDays = 64
	// plaEveryday:  Run every day of the week.
	WeekDaysEveryday WeekDays = 127
)

func (WeekDays) String

func (o WeekDays) String() string

Directories

Path Synopsis
ialertdatacollector
v0
iapitracingdatacollector
v0
iconfigurationdatacollector
v0
idatacollector
v0
idatacollectorcollection
v0
idatacollectorset
v0
idatacollectorsetcollection
v0
idatamanager
v0
ifolderaction
v0
ifolderactioncollection
v0
iperformancecounterdatacollector
v0
ischedule
v0
ischedulecollection
v0
itracedatacollector
v0
itracedataprovider
v0
itracedataprovidercollection
v0
ivaluemap
v0
ivaluemapitem
v0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL