WSManPluginAuthzUserComplete 函数 (wsman.h)

WSManPluginAuthzUser 插件入口点调用,并报告用户连接授权成功或失败。

语法

DWORD WSManPluginAuthzUserComplete(
  [in]           WSMAN_SENDER_DETAILS *senderDetails,
  [in]           DWORD                flags,
  [in, optional] PVOID                userAuthorizationContext,
  [in, optional] HANDLE               impersonationToken,
  [in]           BOOL                 userIsAdministrator,
  [in]           DWORD                errorCode,
  [in, optional] PCWSTR               extendedErrorInformation
);

参数

[in] senderDetails

指向传递到 WSManPluginAuthzUser 插件调用的 WSMAN_SENDER_DETAILS 结构的指针。

[in] flags

保留供将来使用。 必须设置为零。

[in, optional] userAuthorizationContext

指定用于帮助跟踪用户上下文信息的插件定义的上下文。 此上下文可以返回到多个调用、对此调用或操作调用。 该插件管理所有调用的引用计数。 如果用户记录超时或需要重新授权,WinRM 基础结构将调用 WSManPluginAuthzReleaseContext

[in, optional] impersonationToken

指定用户的标识。 此参数是传递到 senderDetails 中的 clientToken。 如果插件更改了用户上下文,则应返回新的模拟令牌。

注意 此令牌在操作完成后释放。
 

[in] userIsAdministrator

如果用户是管理员,则设置为 TRUE 。 否则,此参数为 FALSE

[in] errorCode

报告授权成功或失败。 如果授权成功,则应 ERROR_SUCCESS代码。 如果用户无权执行该操作,则应 ERROR_ACCESS_DENIED错误。 如果由于任何其他原因而失败,则应使用适当的错误代码。 此调用的任何错误都将作为 SOAP 错误数据包发送回。

[in, optional] extendedErrorInformation

指定包含需要向客户端报告的任何额外错误信息的 XML 文档。 如果NO_ERRORerrorCode,则忽略此参数。 应使用线程的用户界面语言进行本地化。

返回值

如果成功,该方法将返回 ERROR_SUCCESS ;否则,它将返回 ERROR_INVALID_PARAMETER。 如果返回 ERROR_INVALID_PARAMETER ,则 senderDetails 参数为 NULLflags 参数不为零。

注解

如果传入 senderDetails 的模拟令牌不是执行操作时应使用的标识,或者没有可用的模拟令牌,并且插件指定了执行请求的新标识,则插件应返回 WSMan 基础结构在调用操作插件之前将用于模拟客户端的新 impersonationToken 。 如果 senderDetails 中提供了模拟令牌,并且插件想要在该标识下执行操作,则插件应将 来自 senderDetails 的模拟令牌复制到 impersonationToken 参数中。 如果插件要在 Internet Information Services (IIS) 主机进程的上下文中执行请求,则 impersonationToken 应为 NULL。 如果 impersonationTokenNULL,线程将在调用操作插件之前模拟进程令牌。

如果 userIsAdministrator 参数设置为 TRUE,则允许用户查看和删除不同用户拥有的 shell。

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 wsman.h
Library WsmSvc.lib
DLL WsmSvc.dll
可再发行组件 Windows Server 2008 SP2 和 Windows Vista SP2 上的Windows Management Framework