LSA_CALL_PACKAGEEX callback function (ntsecpkg.h)

The CallPackageEx function is used to call another security package to access its services.

Syntax

LSA_CALL_PACKAGEEX LsaCallPackageex;

NTSTATUS LsaCallPackageex(
  [in]  PUNICODE_STRING AuthenticationPackage,
  [in]  PVOID ClientBufferBase,
  [in]  PVOID ProtocolSubmitBuffer,
  [in]  ULONG SubmitBufferLength,
  [out] PVOID *ProtocolReturnBuffer,
  [out] PULONG ReturnBufferLength,
  [out] PNTSTATUS ProtocolStatus
)
{...}

Parameters

[in] AuthenticationPackage

Pointer to a UNICODE_STRING containing the name of the authentication package to call.

[in] ClientBufferBase

The base address of the input buffer, in the client's address space.

[in] ProtocolSubmitBuffer

Pointer to the input buffer.

[in] SubmitBufferLength

Size of ProtocolSubmitBuffer, in bytes.

[out] ProtocolReturnBuffer

Pointer that receives the address of the output buffer.

[out] ReturnBufferLength

Pointer to a variable that receives the size of ProtocolReturnBuffer, in bytes.

[out] ProtocolStatus

Pointer to a variable that receives the status code returned by the authentication package.

Return value

If the function succeeds, the return value is STATUS_SUCCESS.

If the function fails, the return value is an NTSTATUS code indicating the reason it failed. The following table lists a common reason for failure and the error code that the function returns.

Return code Description
STATUS_NO_SUCH_PACKAGE
The AuthenticationPackage parameter does not contain the name of a valid security package.

Remarks

A pointer to the CallPackageEx function is available in the LSA_SECPKG_FUNCTION_TABLE structure received by the SpInitialize function.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header ntsecpkg.h

See also

CallPackage

LSA_SECPKG_FUNCTION_TABLE

SpInitialize