DsMakePasswordCredentialsA 函数 (ntdsapi.h)

DsMakePasswordCredentials 函数构造一个适用于 DsBindWithCred 函数的凭据句柄。

语法

NTDSAPI DWORD DsMakePasswordCredentialsA(
  [in]  LPCSTR                   User,
  [in]  LPCSTR                   Domain,
  [in]  LPCSTR                   Password,
  [out] RPC_AUTH_IDENTITY_HANDLE *pAuthIdentity
);

参数

[in] User

指向包含要用于凭据的用户名的以 null 结尾的字符串的指针。

[in] Domain

指向包含用户所属域的 null 终止字符串的指针。

[in] Password

指向包含用于凭据的密码的 null 终止字符串的指针。

[out] pAuthIdentity

指向接收凭据句柄的 RPC_AUTH_IDENTITY_HANDLE 值的指针。 此句柄用于后续调用 DsBindWithCred。 不再需要此句柄时,必须使用 DsFreePasswordCredentials 函数释放此句柄。

返回值

返回 Windows 错误代码,包括以下内容。

言论

如果 用户密码NULL,则会创建 null 默认凭据句柄。 否则,必须存在 用户。 当 用户 完全限定时, 参数可能会 NULL,例如 UPN 格式的用户;例如,“someone@fabrikam.com”。

pAuthIdentity 中返回的句柄传递给 DsBindWithCred时,必须先调用 DsUnBind,然后才能使用 DsFreePasswordCredentials释放句柄。 正常序列为:

  1. 调用 DsMakePasswordCredentials 以获取凭据句柄。
  2. 调用 DsBindWithCred,并传递凭据句柄。
  3. 不再需要绑定时,调用 DsUnbind
  4. 调用 DsFreePasswordCredentials 以释放凭据句柄。

注意

ntdsapi.h 标头将 DsMakePasswordCredentials 定义为基于 UNICODE 预处理器常量定义自动选择此函数的 ANSI 或 Unicode 版本的别名。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista
支持的最低服务器 Windows Server 2008
目标平台 窗户
标头 ntdsapi.h
Ntdsapi.lib
DLL Ntdsapi.dll

另请参阅

域控制器和复制管理功能

DsBindWithCred

DsFreePasswordCredentials

DsUnbind

RPC_AUTH_IDENTITY_HANDLE