PERF_PROVIDER_CONTEXT structure (perflib.h)
Defines provider context information.
typedef struct _PROVIDER_CONTEXT {
DWORD ContextSize;
DWORD Reserved;
PERFLIBREQUEST ControlCallback;
PERF_MEM_ALLOC MemAllocRoutine;
PERF_MEM_FREE MemFreeRoutine;
LPVOID pMemContext;
} PERF_PROVIDER_CONTEXT, *PPERF_PROVIDER_CONTEXT;
ContextSize
The size of this structure.
Reserved
Reserved.
ControlCallback
The name of the ControlCallback function that PERFLIB calls to notify you of consumer requests, such as a request to add or remove counters from the query. Set this member if the callback attribute of the provider element is "custom" or you used the -NotificationCallback argument when calling CTRPP. Otherwise, NULL.
MemAllocRoutine
The name of the AllocateMemory function that PERFLIB calls to allocate memory. Set this member if you used the -MemoryRoutines argument when calling CTRPP. Otherwise, NULL.
MemFreeRoutine
The name of the FreeMemory function that PERFLIB calls to free memory allocated by the AllocateMemory function. Must be NULL if MemAllocRoutine is NULL.
pMemContext
Context information passed to the memory allocation and free routines. Can be NULL.
By default, PERFLIB uses process heap. The memory allocation and free routines lets you provide custom memory management.
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | perflib.h |