PERF_PROVIDER_CONTEXT structure (perflib.h)

Defines provider context information.

Syntax

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;

Members

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.

Remarks

By default, PERFLIB uses process heap. The memory allocation and free routines lets you provide custom memory management.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header perflib.h

See also

PerfStartProviderEx