Documentation ¶
Index ¶
- Variables
- func NewPerflibV2ServerHandle(o PerflibV2Server) dcerpc.ServerHandle
- func PerflibV2ServerHandle(ctx context.Context, o PerflibV2Server, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func RegisterPerflibV2Server(conn dcerpc.Conn, o PerflibV2Server, opts ...dcerpc.Option)
- type CloseQueryHandleRequest
- type CloseQueryHandleResponse
- type EnumerateCounterSetInstancesRequest
- type EnumerateCounterSetInstancesResponse
- type EnumerateCounterSetRequest
- type EnumerateCounterSetResponse
- type OpenQueryHandleRequest
- type OpenQueryHandleResponse
- type PerflibV2Client
- type PerflibV2Server
- type Query
- type QueryCounterDataRequest
- type QueryCounterDataResponse
- type QueryCounterInfoRequest
- type QueryCounterInfoResponse
- type QueryCounterSetRegistrationInfoRequest
- type QueryCounterSetRegistrationInfoResponse
- type ValidateCountersRequest
- type ValidateCountersResponse
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID PerflibV2SyntaxUUID = &uuid.UUID{TimeLow: 0xda5a86c5, TimeMid: 0x12c2, TimeHiAndVersion: 0x4943, ClockSeqHiAndReserved: 0xab, ClockSeqLow: 0x30, Node: [6]uint8{0x7f, 0x74, 0xa8, 0x13, 0xd8, 0x53}} // Syntax ID PerflibV2SyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: PerflibV2SyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "pcq"
)
Functions ¶
func NewPerflibV2ServerHandle ¶
func NewPerflibV2ServerHandle(o PerflibV2Server) dcerpc.ServerHandle
func PerflibV2ServerHandle ¶
func RegisterPerflibV2Server ¶
func RegisterPerflibV2Server(conn dcerpc.Conn, o PerflibV2Server, opts ...dcerpc.Option)
Types ¶
type CloseQueryHandleRequest ¶
type CloseQueryHandleRequest struct { // phQuery: A handle that is created by the PerflibV2OpenQueryHandle method. An exception // is thrown or an error is returned by RPC if the handle did not originate from the // PerflibV2OpenQueryHandle method. On method return, phQuery MUST be set to NULL. Query *Query `idl:"name:phQuery" json:"query"` }
CloseQueryHandleRequest structure represents the PerflibV2CloseQueryHandle operation request
func (*CloseQueryHandleRequest) MarshalNDR ¶
func (*CloseQueryHandleRequest) UnmarshalNDR ¶
type CloseQueryHandleResponse ¶
type CloseQueryHandleResponse struct { // phQuery: A handle that is created by the PerflibV2OpenQueryHandle method. An exception // is thrown or an error is returned by RPC if the handle did not originate from the // PerflibV2OpenQueryHandle method. On method return, phQuery MUST be set to NULL. Query *Query `idl:"name:phQuery" json:"query"` // Return: The PerflibV2CloseQueryHandle return value. Return uint32 `idl:"name:Return" json:"return"` }
CloseQueryHandleResponse structure represents the PerflibV2CloseQueryHandle operation response
func (*CloseQueryHandleResponse) MarshalNDR ¶
func (*CloseQueryHandleResponse) UnmarshalNDR ¶
type EnumerateCounterSetInstancesRequest ¶
type EnumerateCounterSetInstancesRequest struct { // szMachine: A Unicode string specifying a server name, which is passed directly to // the counter providers. Counter providers can ignore the server name provided by szMachine. Machine string `idl:"name:szMachine;string" json:"machine"` // CounterSetGuid: The GUID of the counterset whose instances are to be enumerated. // // +-----------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-----------------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001068 ERROR_WMI_GUID_NOT_FOUND | The server returns this value when it cannot find a counterset with the GUID | // | | that was specified by the client in the CounterSetGuid parameter. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server returns this value to the client when the buffer the client has | // | | provided is not large enough to accommodate the instance information. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001069 ERROR_WMI_INSTANCE_NOT_FOUND | The server returns this value to the client when there are no active instances | // | | of the counterset whose information can be returned. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001073 ERROR_WMI_INVALID_REGINFO | The server returns this to the client if, for any reason when trying to | // | | enumerate counterset instances, the information that the server expected was | // | | different than what the applications exposing performance counters returned. | // | | For example, the server (through some standard repository), expected information | // | | about one instance of a counterset to be returned (because it was specified | // | | as a single-instance counterset), but the application actually maintaining | // | | the information returned instance information about multiple instances of the | // | | counterset. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server returns this value to the client if, for any reason as it tries | // | | to return the instance information of the specified counterset, it fails to | // | | allocate memory. | // +-----------------------------------------+----------------------------------------------------------------------------------+ CounterSetGUID *dtyp.GUID `idl:"name:CounterSetGuid" json:"counter_set_guid"` // dwInSize: The size, in bytes, of the buffer. InSize uint32 `idl:"name:dwInSize" json:"in_size"` }
EnumerateCounterSetInstancesRequest structure represents the PerflibV2EnumerateCounterSetInstances operation request
func (*EnumerateCounterSetInstancesRequest) MarshalNDR ¶
func (*EnumerateCounterSetInstancesRequest) UnmarshalNDR ¶
type EnumerateCounterSetInstancesResponse ¶
type EnumerateCounterSetInstancesResponse struct { // pdwOutSize: The total size, in bytes, of the data that is returned and written to // the buffer. OutSize uint32 `idl:"name:pdwOutSize" json:"out_size"` // pdwRtnSize: The necessary size, in bytes, to retrieve all the requested data. ReturnSize uint32 `idl:"name:pdwRtnSize" json:"return_size"` // lpData: The buffer that contains the instances information for the counterset. Data []byte `idl:"name:lpData;size_is:(dwInSize);length_is:(pdwOutSize)" json:"data"` // Return: The PerflibV2EnumerateCounterSetInstances return value. Return uint32 `idl:"name:Return" json:"return"` }
EnumerateCounterSetInstancesResponse structure represents the PerflibV2EnumerateCounterSetInstances operation response
func (*EnumerateCounterSetInstancesResponse) MarshalNDR ¶
func (*EnumerateCounterSetInstancesResponse) UnmarshalNDR ¶
type EnumerateCounterSetRequest ¶
type EnumerateCounterSetRequest struct { // szMachine: A Unicode string specifying a server name, which is passed directly to // the counter provider. Counter providers can ignore the server name provided by szMachine. Machine string `idl:"name:szMachine;string" json:"machine"` // dwInSize: The size of the buffer, in number of GUIDs. InSize uint32 `idl:"name:dwInSize" json:"in_size"` }
EnumerateCounterSetRequest structure represents the PerflibV2EnumerateCounterSet operation request
func (*EnumerateCounterSetRequest) MarshalNDR ¶
func (*EnumerateCounterSetRequest) UnmarshalNDR ¶
type EnumerateCounterSetResponse ¶
type EnumerateCounterSetResponse struct { // pdwOutSize: On output, the number of GUIDs that are returned in the array. The server // MUST set this value to zero if the value of dwInSize is less than the total number // of GUIDs on the server. OutSize uint32 `idl:"name:pdwOutSize" json:"out_size"` // pdwRtnSize: On output, the total number of GUIDs on the server. ReturnSize uint32 `idl:"name:pdwRtnSize" json:"return_size"` // lpData: The buffer that returns an array of GUIDs. Data []*dtyp.GUID `idl:"name:lpData;size_is:(dwInSize);length_is:(pdwOutSize)" json:"data"` // Return: The PerflibV2EnumerateCounterSet return value. Return uint32 `idl:"name:Return" json:"return"` }
EnumerateCounterSetResponse structure represents the PerflibV2EnumerateCounterSet operation response
func (*EnumerateCounterSetResponse) MarshalNDR ¶
func (*EnumerateCounterSetResponse) UnmarshalNDR ¶
type OpenQueryHandleRequest ¶
type OpenQueryHandleRequest struct { // szMachine: A Unicode string specifying a server name, which is passed directly to // the counter providers. Counter providers can ignore the server name provided by szMachine. Machine string `idl:"name:szMachine;string" json:"machine"` }
OpenQueryHandleRequest structure represents the PerflibV2OpenQueryHandle operation request
func (*OpenQueryHandleRequest) MarshalNDR ¶
func (*OpenQueryHandleRequest) UnmarshalNDR ¶
type OpenQueryHandleResponse ¶
type OpenQueryHandleResponse struct { // phQuery: A handle used by other methods to add, remove, and collect performance counters. Query *Query `idl:"name:phQuery" json:"query"` // Return: The PerflibV2OpenQueryHandle return value. Return uint32 `idl:"name:Return" json:"return"` }
OpenQueryHandleResponse structure represents the PerflibV2OpenQueryHandle operation response
func (*OpenQueryHandleResponse) MarshalNDR ¶
func (*OpenQueryHandleResponse) UnmarshalNDR ¶
type PerflibV2Client ¶
type PerflibV2Client interface { // The PerflibV2EnumerateCounterSet method allows a client to enumerate the available // countersets on a server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | This return value is used to indicate when the size of the client-provided | // | | buffer is not large enough to accommodate all of the GUID values that are being | // | | returned by the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | This return value is used to indicate that the server, while attempting to | // | | return all of the appropriate GUIDs to the client, could not allocate memory. | // +------------------------------------+----------------------------------------------------------------------------------+ EnumerateCounterSet(context.Context, *EnumerateCounterSetRequest, ...dcerpc.CallOption) (*EnumerateCounterSetResponse, error) // The PerflibV2QueryCounterSetRegistrationInfo method allows a client to enumerate // metadata about a counterset or performance counter on a server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +---------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +---------------------------------------+----------------------------------------------------------------------------------+ // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000057 ERROR_INVALID_PARAMETER | This return value indicates that there was a problem with the parameter that | // | | was passed by the client to the server. The server MUST return this value | // | | when: RequestCode (the RequestCode is not between 0x00000001 and 0x0000000A | // | | inclusive). | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001068 ERROR_WMI_GUID_NOT_FOUND | The server returns this value if it does not have a counterset with the same | // | | GUID as the one passed by the client through the CounterSetGuid parameter of the | // | | method. The server will also return this value if it cannot find the GUID of the | // | | provider to which the counterset belongs. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value to the client if the RequestCode parameter is | // | | valid, but the buffer pointed to by lpData is not of sufficient size. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000106A ERROR_WMI_ITEMID_NOT_FOUND | The server returns this error code when the value of RequestCode is 0x02 and a | // | | counterset with the GUID provided through the CounterSetGuid parameter exists, | // | | but the counter identifier is not found in the counterset. | // +---------------------------------------+----------------------------------------------------------------------------------+ // // The data that this method returns depends on the type of information that is requested, // as denoted by the RequestCode parameter. // // * If the value of RequestCode is 0x00000003, 0x00000004, 0x00000005, or 0x00000006, // and the language specified by *RequestLCID* is not installed on the server, an error // MUST be returned. // // * If RequestCode = 0x00000001, the server returns information about the counterset. // The server MUST return a _PERF_COUNTERSET_REG_INFO ( a2745a4d-3428-4804-868d-b0208e469fa2 // ) structure that is followed by a set of _PERF_COUNTER_REG_INFO ( a89712bd-4ba1-4dab-8dbb-dea712c237ba // ) structures. The number of _PERF_COUNTER_REG_INFO structures MUST be equal to the // *NumCounters* field of the PERF_COUNTERSET_REG_INFO structure. // // [PerflibV2QueryCounterSetRegistrationInfo return if RequestCode = 0x00000001](ms-pcq_files/image001.png) QueryCounterSetRegistrationInfo(context.Context, *QueryCounterSetRegistrationInfoRequest, ...dcerpc.CallOption) (*QueryCounterSetRegistrationInfoResponse, error) // The PerflibV2EnumerateCounterSetInstances method retrieves all active instances of // the client-specified counterset on the server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. EnumerateCounterSetInstances(context.Context, *EnumerateCounterSetInstancesRequest, ...dcerpc.CallOption) (*EnumerateCounterSetInstancesResponse, error) // The PerflibV2OpenQueryHandle method returns a handle to the client that the client // then uses to add, remove, and collect performance counters from the server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +--------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server returns this value to the client if for any reason memory allocation | // | | fails as it tries to allocate memory to begin storing state about the client | // | | request. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x000005AA ERROR_NO_SYSTEM_RESOURCES | The server returns this value if it cannot allocate other system resource to | // | | process the client request. This is not specifically memory about the client | // | | request or handle. | // +--------------------------------------+----------------------------------------------------------------------------------+ OpenQueryHandle(context.Context, *OpenQueryHandleRequest, ...dcerpc.CallOption) (*OpenQueryHandleResponse, error) // The PerflibV2CloseQueryHandle method closes the handle that is returned from the // PerflibV2OpenQueryHandle method. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +--------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. The opened handle, phQuery, | // | | remains in that state until the client calls PerflibV2CloseQueryHandle with | // | | authentication level RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +--------------------------------+----------------------------------------------------------------------------------+ CloseQueryHandle(context.Context, *CloseQueryHandleRequest, ...dcerpc.CallOption) (*CloseQueryHandleResponse, error) // The PerflibV2QueryCounterInfo method returns information on the performance counters // that belong to the performance counter query associated with the RPC_HQUERY; these // performance counters are associated with RPC_HQUERY by calling the PerflibV2ValidateCounters // method. The server MUST return performance counter metadata information, stored in // a _PERF_COUNTER_IDENTIFIER structure for each performance counter, for the performance // counters that are associated with the RPC_HQUERY handle. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value if the buffer pointed to by lpData is not of | // | | sufficient size to return the requested information back to the client. | // +------------------------------------+----------------------------------------------------------------------------------+ QueryCounterInfo(context.Context, *QueryCounterInfoRequest, ...dcerpc.CallOption) (*QueryCounterInfoResponse, error) // The PerflibV2QueryCounterData method retrieves data for the performance counters // associated with the query. Performance counters can be added or removed from queries // by calling PerflibV2ValidateCounters. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows error codes, as specified in [MS-ERREF] // section 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value to the client if the size of the buffer | // | | pointed to by lpData is not of sufficient size to return the performance counter | // | | values to the client. | // +------------------------------------+----------------------------------------------------------------------------------+ QueryCounterData(context.Context, *QueryCounterDataRequest, ...dcerpc.CallOption) (*QueryCounterDataResponse, error) // This PerflibV2ValidateCounters method either adds or removes performance counters // from the query. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows error codes, as specified in [MS-ERREF] // section 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000057 ERROR_INVALID_PARAMETER | The server returns this value to the client for any of the following reasons: | // | | dwSize is less than the size of the _PERF_COUNTER_IDENTIFIER structure (this | // | | condition would prevent the server from returning information about one | // | | counter). The size of a single _PERF_COUNTER_IDENTIFIER structure that is | // | | passed into the buffer by the client is smaller than the expected size of a | // | | _PERF_COUNTER_IDENTIFIER structure. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server will return this value to the client if, in the process of completing | // | | the client's request of adding or removing performance counters from the query, | // | | a memory allocation fails. | // +------------------------------------+----------------------------------------------------------------------------------+ // // Errors are returned to the client by the server in one of two ways: the first is // if the performance counter infrastructure on the server could not add or remove performance // counters from the query; the second is if the provider that is exposing the performance // counter returns an error, in which case the performance counter infrastructure passes // the error back to the client. // // When the PerflibV2ValidateCounters method returns, the Status field of each _PERF_COUNTER_IDENTIFIER // sent to the server will have the result of whether or not the server was able to // successfully add or remove that particular performance counter from the query that // is identified by the handle hQuery. // // If the performance counter infrastructure is setting the Status field to an error // value, then it MUST be one of the following values. // // +----------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. The counter was either successfully added or | // | | removed from the query. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001068 ERROR_WMI_GUID_NOT_FOUND | The server cannot find the GUID that was passed by the client in the | // | | CounterSetGuid field of the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000106A ERROR_WMI_ITEMID_NOT_ FOUND | The server cannot find the counter whose numeric identifier is in the CounterId | // | | field of the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000003 ERROR_PATH_NOT_FOUND | The server cannot find an active instance with the name that was placed after | // | | the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x000000B7 ERROR_ALREADY_EXISTS | The client tried to add a performance counter that has already been added in a | // | | previous call to PerflibV2ValidateCounters. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | ERROR_INVALID_PARAMETER 0x00000057 | The server will return this value in the Status field of the | // | | _PERF_COUNTER_IDENTIFIER either when the _PERF_COUNTER_IDENTIFIER is corrupt, or | // | | if the server cannot find the counter to delete from the query that is specified | // | | by the structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server will return this value to the client if, either in the process of | // | | adding or removing a counter from a query, a memory allocation failure occurred. | // +----------------------------------------+----------------------------------------------------------------------------------+ ValidateCounters(context.Context, *ValidateCountersRequest, ...dcerpc.CallOption) (*ValidateCountersResponse, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
PerflibV2 interface.
func NewPerflibV2Client ¶
type PerflibV2Server ¶
type PerflibV2Server interface { // The PerflibV2EnumerateCounterSet method allows a client to enumerate the available // countersets on a server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | This return value is used to indicate when the size of the client-provided | // | | buffer is not large enough to accommodate all of the GUID values that are being | // | | returned by the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | This return value is used to indicate that the server, while attempting to | // | | return all of the appropriate GUIDs to the client, could not allocate memory. | // +------------------------------------+----------------------------------------------------------------------------------+ EnumerateCounterSet(context.Context, *EnumerateCounterSetRequest) (*EnumerateCounterSetResponse, error) // The PerflibV2QueryCounterSetRegistrationInfo method allows a client to enumerate // metadata about a counterset or performance counter on a server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +---------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +---------------------------------------+----------------------------------------------------------------------------------+ // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000057 ERROR_INVALID_PARAMETER | This return value indicates that there was a problem with the parameter that | // | | was passed by the client to the server. The server MUST return this value | // | | when: RequestCode (the RequestCode is not between 0x00000001 and 0x0000000A | // | | inclusive). | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001068 ERROR_WMI_GUID_NOT_FOUND | The server returns this value if it does not have a counterset with the same | // | | GUID as the one passed by the client through the CounterSetGuid parameter of the | // | | method. The server will also return this value if it cannot find the GUID of the | // | | provider to which the counterset belongs. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value to the client if the RequestCode parameter is | // | | valid, but the buffer pointed to by lpData is not of sufficient size. | // +---------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000106A ERROR_WMI_ITEMID_NOT_FOUND | The server returns this error code when the value of RequestCode is 0x02 and a | // | | counterset with the GUID provided through the CounterSetGuid parameter exists, | // | | but the counter identifier is not found in the counterset. | // +---------------------------------------+----------------------------------------------------------------------------------+ // // The data that this method returns depends on the type of information that is requested, // as denoted by the RequestCode parameter. // // * If the value of RequestCode is 0x00000003, 0x00000004, 0x00000005, or 0x00000006, // and the language specified by *RequestLCID* is not installed on the server, an error // MUST be returned. // // * If RequestCode = 0x00000001, the server returns information about the counterset. // The server MUST return a _PERF_COUNTERSET_REG_INFO ( a2745a4d-3428-4804-868d-b0208e469fa2 // ) structure that is followed by a set of _PERF_COUNTER_REG_INFO ( a89712bd-4ba1-4dab-8dbb-dea712c237ba // ) structures. The number of _PERF_COUNTER_REG_INFO structures MUST be equal to the // *NumCounters* field of the PERF_COUNTERSET_REG_INFO structure. // // [PerflibV2QueryCounterSetRegistrationInfo return if RequestCode = 0x00000001](ms-pcq_files/image001.png) QueryCounterSetRegistrationInfo(context.Context, *QueryCounterSetRegistrationInfoRequest) (*QueryCounterSetRegistrationInfoResponse, error) // The PerflibV2EnumerateCounterSetInstances method retrieves all active instances of // the client-specified counterset on the server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. EnumerateCounterSetInstances(context.Context, *EnumerateCounterSetInstancesRequest) (*EnumerateCounterSetInstancesResponse, error) // The PerflibV2OpenQueryHandle method returns a handle to the client that the client // then uses to add, remove, and collect performance counters from the server. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +--------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server returns this value to the client if for any reason memory allocation | // | | fails as it tries to allocate memory to begin storing state about the client | // | | request. | // +--------------------------------------+----------------------------------------------------------------------------------+ // | 0x000005AA ERROR_NO_SYSTEM_RESOURCES | The server returns this value if it cannot allocate other system resource to | // | | process the client request. This is not specifically memory about the client | // | | request or handle. | // +--------------------------------------+----------------------------------------------------------------------------------+ OpenQueryHandle(context.Context, *OpenQueryHandleRequest) (*OpenQueryHandleResponse, error) // The PerflibV2CloseQueryHandle method closes the handle that is returned from the // PerflibV2OpenQueryHandle method. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +--------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. The opened handle, phQuery, | // | | remains in that state until the client calls PerflibV2CloseQueryHandle with | // | | authentication level RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +--------------------------------+----------------------------------------------------------------------------------+ CloseQueryHandle(context.Context, *CloseQueryHandleRequest) (*CloseQueryHandleResponse, error) // The PerflibV2QueryCounterInfo method returns information on the performance counters // that belong to the performance counter query associated with the RPC_HQUERY; these // performance counters are associated with RPC_HQUERY by calling the PerflibV2ValidateCounters // method. The server MUST return performance counter metadata information, stored in // a _PERF_COUNTER_IDENTIFIER structure for each performance counter, for the performance // counters that are associated with the RPC_HQUERY handle. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows errors, as specified in [MS-ERREF] section // 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value if the buffer pointed to by lpData is not of | // | | sufficient size to return the requested information back to the client. | // +------------------------------------+----------------------------------------------------------------------------------+ QueryCounterInfo(context.Context, *QueryCounterInfoRequest) (*QueryCounterInfoResponse, error) // The PerflibV2QueryCounterData method retrieves data for the performance counters // associated with the query. Performance counters can be added or removed from queries // by calling PerflibV2ValidateCounters. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows error codes, as specified in [MS-ERREF] // section 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000008 ERROR_NOT_ENOUGH_MEMORY | The server will return this value to the client if the size of the buffer | // | | pointed to by lpData is not of sufficient size to return the performance counter | // | | values to the client. | // +------------------------------------+----------------------------------------------------------------------------------+ QueryCounterData(context.Context, *QueryCounterDataRequest) (*QueryCounterDataResponse, error) // This PerflibV2ValidateCounters method either adds or removes performance counters // from the query. // // Return Values: This method MUST return zero (ERROR_SUCCESS) for success; otherwise, // it MUST return one of the standard Windows error codes, as specified in [MS-ERREF] // section 2.2. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_SUCCESS | The return value indicates success. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000005 ERROR_ACCESS_DENIED | The server returns this value to the client if the authentication level of the | // | | client is less than RPC_C_AUTHN_LEVEL_PKT_PRIVACY. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000057 ERROR_INVALID_PARAMETER | The server returns this value to the client for any of the following reasons: | // | | dwSize is less than the size of the _PERF_COUNTER_IDENTIFIER structure (this | // | | condition would prevent the server from returning information about one | // | | counter). The size of a single _PERF_COUNTER_IDENTIFIER structure that is | // | | passed into the buffer by the client is smaller than the expected size of a | // | | _PERF_COUNTER_IDENTIFIER structure. | // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server will return this value to the client if, in the process of completing | // | | the client's request of adding or removing performance counters from the query, | // | | a memory allocation fails. | // +------------------------------------+----------------------------------------------------------------------------------+ // // Errors are returned to the client by the server in one of two ways: the first is // if the performance counter infrastructure on the server could not add or remove performance // counters from the query; the second is if the provider that is exposing the performance // counter returns an error, in which case the performance counter infrastructure passes // the error back to the client. // // When the PerflibV2ValidateCounters method returns, the Status field of each _PERF_COUNTER_IDENTIFIER // sent to the server will have the result of whether or not the server was able to // successfully add or remove that particular performance counter from the query that // is identified by the handle hQuery. // // If the performance counter infrastructure is setting the Status field to an error // value, then it MUST be one of the following values. // // +----------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. The counter was either successfully added or | // | | removed from the query. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00001068 ERROR_WMI_GUID_NOT_FOUND | The server cannot find the GUID that was passed by the client in the | // | | CounterSetGuid field of the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000106A ERROR_WMI_ITEMID_NOT_ FOUND | The server cannot find the counter whose numeric identifier is in the CounterId | // | | field of the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000003 ERROR_PATH_NOT_FOUND | The server cannot find an active instance with the name that was placed after | // | | the _PERF_COUNTER_IDENTIFIER structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x000000B7 ERROR_ALREADY_EXISTS | The client tried to add a performance counter that has already been added in a | // | | previous call to PerflibV2ValidateCounters. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | ERROR_INVALID_PARAMETER 0x00000057 | The server will return this value in the Status field of the | // | | _PERF_COUNTER_IDENTIFIER either when the _PERF_COUNTER_IDENTIFIER is corrupt, or | // | | if the server cannot find the counter to delete from the query that is specified | // | | by the structure. | // +----------------------------------------+----------------------------------------------------------------------------------+ // | 0x0000000E ERROR_OUTOFMEMORY | The server will return this value to the client if, either in the process of | // | | adding or removing a counter from a query, a memory allocation failure occurred. | // +----------------------------------------+----------------------------------------------------------------------------------+ ValidateCounters(context.Context, *ValidateCountersRequest) (*ValidateCountersResponse, error) }
PerflibV2 server interface.
type Query ¶
type Query dcetypes.ContextHandle
Query structure represents RPC_HQUERY RPC structure.
func (*Query) ContextHandle ¶
func (o *Query) ContextHandle() *dcetypes.ContextHandle
type QueryCounterDataRequest ¶
type QueryCounterDataRequest struct { // hQuery: The handle returned by the PerflibV2OpenQueryHandle method; an exception // is thrown or an error is returned by RPC if the handle did not originate from the // PerflibV2OpenQueryHandle method. Query *Query `idl:"name:hQuery" json:"query"` // dwInSize: The size, in bytes, of the buffer. InSize uint32 `idl:"name:dwInSize" json:"in_size"` }
QueryCounterDataRequest structure represents the PerflibV2QueryCounterData operation request
func (*QueryCounterDataRequest) MarshalNDR ¶
func (*QueryCounterDataRequest) UnmarshalNDR ¶
type QueryCounterDataResponse ¶
type QueryCounterDataResponse struct { // pdwOutSize: The size, in bytes, of the data that is returned and written to the buffer. OutSize uint32 `idl:"name:pdwOutSize" json:"out_size"` // pdwRtnSize: The necessary size, in bytes, to retrieve all the requested data. ReturnSize uint32 `idl:"name:pdwRtnSize" json:"return_size"` // lpData: The buffer that contains the requested counter information. Data []byte `idl:"name:lpData;size_is:(dwInSize);length_is:(pdwOutSize)" json:"data"` // Return: The PerflibV2QueryCounterData return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryCounterDataResponse structure represents the PerflibV2QueryCounterData operation response
func (*QueryCounterDataResponse) MarshalNDR ¶
func (*QueryCounterDataResponse) UnmarshalNDR ¶
type QueryCounterInfoRequest ¶
type QueryCounterInfoRequest struct { // hQuery: The handle returned by the PerflibV2OpenQueryHandle method; an exception // is thrown or an error is returned by RPC if the handle did not originate from the // PerflibV2OpenQueryHandle method. Query *Query `idl:"name:hQuery" json:"query"` // dwInSize: The size, in bytes, of the buffer. InSize uint32 `idl:"name:dwInSize" json:"in_size"` }
QueryCounterInfoRequest structure represents the PerflibV2QueryCounterInfo operation request
func (*QueryCounterInfoRequest) MarshalNDR ¶
func (*QueryCounterInfoRequest) UnmarshalNDR ¶
type QueryCounterInfoResponse ¶
type QueryCounterInfoResponse struct { // pdwOutSize: The size, in bytes, of the data that is written to the buffer. OutSize uint32 `idl:"name:pdwOutSize" json:"out_size"` // pdwRtnSize: The necessary size, in bytes, to retrieve all the requested data. ReturnSize uint32 `idl:"name:pdwRtnSize" json:"return_size"` // lpData: The buffer that contains the requested counter information. Data []byte `idl:"name:lpData;size_is:(dwInSize);length_is:(pdwOutSize)" json:"data"` // Return: The PerflibV2QueryCounterInfo return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryCounterInfoResponse structure represents the PerflibV2QueryCounterInfo operation response
func (*QueryCounterInfoResponse) MarshalNDR ¶
func (*QueryCounterInfoResponse) UnmarshalNDR ¶
type QueryCounterSetRegistrationInfoRequest ¶
type QueryCounterSetRegistrationInfoRequest struct { // szMachine: A Unicode string specifying a server name, which is passed directly to // the counter providers. Counter providers can ignore the server name provided by szMachine. Machine string `idl:"name:szMachine;string" json:"machine"` // CounterSetGuid: The GUID of the counterset whose information needs to be retrieved; // this can also be the GUID of the counterset to which the performance counters whose // information is being queried belong. CounterSetGUID *dtyp.GUID `idl:"name:CounterSetGuid" json:"counter_set_guid"` // RequestCode: The type of information on the counterset to retrieve. The value MUST // be one of the following. // // +------------+----------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+----------------------------------------------------------------+ // +------------+----------------------------------------------------------------+ // | 0x00000001 | Return information about the counterset. | // +------------+----------------------------------------------------------------+ // | 0x00000002 | Return information about a performance counter. | // +------------+----------------------------------------------------------------+ // | 0x00000003 | Return the name of the counterset. | // +------------+----------------------------------------------------------------+ // | 0x00000004 | Return the description of the counterset. | // +------------+----------------------------------------------------------------+ // | 0x00000005 | Return the names of the performance counters. | // +------------+----------------------------------------------------------------+ // | 0x00000006 | Return the descriptions of the performance counters. | // +------------+----------------------------------------------------------------+ // | 0x00000007 | Return the name of the provider. | // +------------+----------------------------------------------------------------+ // | 0x00000008 | Return the GUID of the provider. | // +------------+----------------------------------------------------------------+ // | 0x00000009 | Return the English-language name of the counterset. | // +------------+----------------------------------------------------------------+ // | 0x0000000A | Return the English-language names of the performance counters. | // +------------+----------------------------------------------------------------+ RequestCode uint32 `idl:"name:RequestCode" json:"request_code"` // RequestLCID: When the value of RequestCode is 0x00000003, 0x00000004, 0x00000005, // or 0x00000006, RequestLCID specifies the locale ID (as specified in [MS-LCID]), or // is set to 0 to instruct the server to use its default language. // // When the value of RequestCode is 0x00000002, RequestLCID specifies the counter ID. RequestLocaleID uint32 `idl:"name:RequestLCID" json:"request_locale_id"` // dwInSize: The size, in bytes, of the buffer. InSize uint32 `idl:"name:dwInSize" json:"in_size"` }
QueryCounterSetRegistrationInfoRequest structure represents the PerflibV2QueryCounterSetRegistrationInfo operation request
func (*QueryCounterSetRegistrationInfoRequest) MarshalNDR ¶
func (*QueryCounterSetRegistrationInfoRequest) UnmarshalNDR ¶
type QueryCounterSetRegistrationInfoResponse ¶
type QueryCounterSetRegistrationInfoResponse struct { // pdwOutSize: The size, in bytes, of the data in the buffer pointed to by lpData. OutSize uint32 `idl:"name:pdwOutSize" json:"out_size"` // pdwRtnSize: The necessary size, in bytes, to retrieve all the requested data. ReturnSize uint32 `idl:"name:pdwRtnSize" json:"return_size"` // lpData: The buffer that returns the requested data. Data []byte `idl:"name:lpData;size_is:(dwInSize);length_is:(pdwOutSize)" json:"data"` // Return: The PerflibV2QueryCounterSetRegistrationInfo return value. Return uint32 `idl:"name:Return" json:"return"` }
QueryCounterSetRegistrationInfoResponse structure represents the PerflibV2QueryCounterSetRegistrationInfo operation response
func (*QueryCounterSetRegistrationInfoResponse) MarshalNDR ¶
func (*QueryCounterSetRegistrationInfoResponse) UnmarshalNDR ¶
type ValidateCountersRequest ¶
type ValidateCountersRequest struct { // hQuery: The handle that is created by the PerflibV2OpenQueryHandle method; an exception // is thrown or an error is returned by RPC if the handle did not originate from the // PerflibV2OpenQueryHandle method. Query *Query `idl:"name:hQuery" json:"query"` // dwInSize: The size, in bytes, of the buffer. InSize uint32 `idl:"name:dwInSize" json:"in_size"` // lpData: The buffer that contains the counter information to add to, or remove from, // the query. The server will return this buffer after it has attempted to add or remove // the specified counters; the Status field of each _PERF_COUNTER_IDENTIFIER structure // will contain information about whether or not the server was successful. Data []byte `idl:"name:lpData;size_is:(dwInSize)" json:"data"` // dwAdd: A Boolean value that indicates if counters are being added to, or removed // from, the query. If counters are being added, this MUST be set to TRUE; otherwise, // it MUST be set to FALSE. Add uint32 `idl:"name:dwAdd" json:"add"` }
ValidateCountersRequest structure represents the PerflibV2ValidateCounters operation request
func (*ValidateCountersRequest) MarshalNDR ¶
func (*ValidateCountersRequest) UnmarshalNDR ¶
type ValidateCountersResponse ¶
type ValidateCountersResponse struct { // lpData: The buffer that contains the counter information to add to, or remove from, // the query. The server will return this buffer after it has attempted to add or remove // the specified counters; the Status field of each _PERF_COUNTER_IDENTIFIER structure // will contain information about whether or not the server was successful. Data []byte `idl:"name:lpData;size_is:(dwInSize)" json:"data"` // Return: The PerflibV2ValidateCounters return value. Return uint32 `idl:"name:Return" json:"return"` }
ValidateCountersResponse structure represents the PerflibV2ValidateCounters operation response