SpUserModeInitialize function

The SpUserModeInitialize function is called when a security support provider/authentication package (SSP/AP) DLL is loaded into the process space of a client/server application. This function provides the SECPKG_USER_FUNCTION_TABLE tables for each security package in the SSP/AP DLL.


NTSTATUS SEC_ENTRY SpUserModeInitialize(
  _In_  ULONG                       LsaVersion,
  _Out_ PULONG                      PackageVersion,
  _Out_ PULONG                      pcTables


LsaVersion [in]

The version of the security provider DLL (either Secur32.dll or Security.dll).

PackageVersion [out]

Pointer that returns the version of the SSP/AP DLL.

ppTables [out]

Pointer that returns an array of SECPKG_USER_FUNCTION_TABLE structures. Each structure is a table of pointers to the user-mode functions implemented by a security package deployed in the SSP/AP DLL.

pcTables [out]

Pointer that returns the number of elements in the array pointed to by the ppTables parameter.

Return value

If the function succeeds, return STATUS_SUCCESS.

If the function fails, return an NTSTATUS code that indicates the reason it failed.


The SpUserModeInitialize function must be implemented by SSP/AP DLLs that contain user-mode security packages.

The ppTables parameter should contain one SECPKG_USER_FUNCTION_TABLE for each user-mode security package deployed in the DLL. For more information on deploying security packages in DLLs, see User Mode Initialization.


Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]



See also