LPM_Initialize function (lpmapi.h)

The LPM_Initialize function initializes a local policy module (LPM). This occurs when the Admission Control Service needs to do policy based–admission control, such as when an SBM becomes the Designated Subnet Bandwidth Manager (DSBM). LPMs should initialize themselves, synchronously, before returning.


ULONG LPM_Initialize(
  [in]  LPM_HANDLE    LpmHandle,
  [in]  LPM_INIT_INFO *pLpmInitInfo,
  [out] DWORD         *pLpmVersionNumber,
  [out] PETYPE        *pSupportedPeType,
  [out] VOID          *Reserved


[in] LpmHandle

Unique handle for the LPM, assigned by the PCM.

[in] pLpmInitInfo

Pointer to an LPM_INIT_INFO structure containing LPM initialization information.

[out] pLpmVersionNumber

Version of LPM being requested.

[out] pSupportedPeType

Valid policy element (PE) type that the LPM uses to make policy based–admission control decisions. Each LPM can only support one PE type, though future versions may allow an LPM to support multiple PE types. Reserved PE types are defined in Lpmapi.h. For more information about policy element types, see Policy Elements.

It is possible for a single DLL to support multiple PE types by having the DLL name entered multiple times in the PCM configuration data. Under such circumstances, the PCM will load and call the same LPM_Initialize routine multiple times; it is the LPM's responsibility to return different PE types for these additional calls.

LPMs can return a special PE type, LPM_ALL_PE_TYPES, to indicate that it will make policy based–admission control decisions based on all policy data objects. In this scenario, the PCM will assume that this LPM understands how to generate policy data objects for outgoing messages that the PCM is not able to understand.

[out] Reserved

Reserved for future use.

Return value

If the LPM is initialized successfully, and a valid PE type is returned in pSupportedPeType, the return value will be LPM_OK. The PCM treats any value other than LPM_OK as an error, and unloads the DLL (LPMs are always implemented as DLLs). If a value other than LPM_OK is returned or pSupportedPeType is invalid, the PCM writes a record to the Event Log and includes the name of the DLL and the returned error value.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header lpmapi.h

See also