LSA_CALL_PACKAGE callback function (ntsecpkg.h)

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

Syntax

LSA_CALL_PACKAGE LsaCallPackage;

NTSTATUS LsaCallPackage(
  [in]  PUNICODE_STRING AuthenticationPackage,
  [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 package to call.

[in] ProtocolSubmitBuffer

Pointer to the input buffer. The content of this buffer is package-specific.

[in] SubmitBufferLength

Size of the ProtocolSubmitBuffer parameter in bytes.

[out] ProtocolReturnBuffer

Pointer that receives the address of the output buffer. The content of this buffer is package-specific.

[out] ReturnBufferLength

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

[out] ProtocolStatus

Pointer to a variable that receives the status code returned by the called 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 CallPackage 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

CallPackageEx

LSA_SECPKG_FUNCTION_TABLE

SpInitialize