Updates the value of a counter whose value is a pointer to the actual data. Providers use this function.
Syntax
|
ULONG PerfSetCounterRefValue(
__in HANDLE hProvider,
__in PPERF_COUNTERSET_INSTANCE pInstance,
__in ULONG CounterId,
__in PVOID lpAddr
);
|
Parameters
- hProvider [in]
-
Handle to the provider that created the instance. The handle is returned by PerfStartProvider.
- pInstance [in]
-
A PERF_COUNTERSET_INSTANCE structure that contains the counter set instance. The PerfCreateInstance function returns this pointer.
- CounterId [in]
-
Identifier that uniquely identifies the counter to update in the instance block. The identifier is defined in the id attribute of the <counter> element and must match the CounterId member of one of the PERF_COUNTER_INFO structures in the instance block.
- lpAddr [in]
-
Pointer to the actual counter data.
If NULL, the consumer receives ERROR_NO_DATA.
To indicate that the counter data is accessed by reference, the counter declaration in the manifest must include a <counterAttribute> element whose name attribute is set to "reference".
Return Value
If the function succeeds, it returns ERROR_SUCCESS.
If the function fails, the return value is a
system error code.
Remarks
This is a convenience function for specifying a reference to the raw counter data. To update the reference to the raw counter data yourself, use the Offset member of the PERF_COUNTER_INFO structure to access the counter value for a specific counter. The Attrib member must include the PERF_ATTRIB_BY_REFERENCE flag. The PERF_COUNTERSET_INSTANCE structure block contains one or more counter information structures.
Depending on the counter type, the pointer must reference a 4-byte or 8-byte unsigned integer. When collecting the counter data, PERFLIB dereferences the pointer and returns the actual data.
Requirements
| Client | Requires Windows Vista. |
| Server | Requires Windows Server 2008. |
|---|
| Header | Declared in Perflib.h. |
| Library | Use Advapi32.lib. |
| DLL | Requires Advapi32.dll. |
See Also
PerfSetULongLongCounterValue
PerfSetULongCounterValue
Send comments about this topic to Microsoft
Build date: 9/19/2008