PerfStartProvider function (perflib.h)

Registers the provider.


ULONG PerfStartProvider(
  [in]           LPGUID         ProviderGuid,
  [in, optional] PERFLIBREQUEST ControlCallback,
  [out]          HANDLE         *phProvider


[in] ProviderGuid

GUID that uniquely identifies the provider. The providerGuid attribute of the provider element specifies the GUID.

[in, optional] ControlCallback

ControlCallback function that PERFLIB calls to notify you of consumer requests, such as a request to add or remove counters from the query. This parameter is set if the callback attribute of the counters element is "custom"; otherwise, NULL.

[out] phProvider

Handle to the provider. You must call PerfStopProvider to release resources associated with the handle.

Return value

If the function succeeds, it returns ERROR_SUCCESS.

If the function fails, the return value is a system error code.


The CounterInitialize function calls this function; do not call this function directly.

Windows Vista:  The PerfAutoInitialize function calls this function.


Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header perflib.h
Library Advapi32.lib
DLL Advapi32.dll

See also