LSA_CALL_PACKAGE回调函数 (ntsecpkg.h)

CallPackage 函数用于调用另一个安全包来访问其服务。

语法

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
)
{...}

参数

[in] AuthenticationPackage

指向包含要调用的包名称 的UNICODE_STRING 的指针。

[in] ProtocolSubmitBuffer

指向输入缓冲区的指针。 此缓冲区的内容特定于包。

[in] SubmitBufferLength

ProtocolSubmitBuffer 参数的大小(以字节为单位)。

[out] ProtocolReturnBuffer

接收输出缓冲区地址的指针。 此缓冲区的内容特定于包。

[out] ReturnBufferLength

指向一个变量的指针,该变量接收 ProtocolReturnBuffer 参数的大小(以字节为单位)。

[out] ProtocolStatus

指向接收被调用包返回的状态代码的变量的指针。

返回值

如果函数成功,则返回值STATUS_SUCCESS。

如果函数失败,则返回值是一个 NTSTATUS 代码,指示它失败的原因。 下表列出了失败的常见原因以及函数返回的错误代码。

返回代码 说明
STATUS_NO_SUCH_PACKAGE
AuthenticationPackage 参数不包含有效安全包的名称。

注解

指向 CallPackage 函数的指针在 SpInitialize 函数接收的 LSA_SECPKG_FUNCTION_TABLE 结构中可用。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntsecpkg.h

另请参阅

CallPackageEx

LSA_SECPKG_FUNCTION_TABLE

SpInitialize