如何更改用户密码(2).txt
来自「c_c++技巧集」· 文本 代码 · 共 22 行
TXT
22 行
作者:wgenry
email: wgenry@sina.com
日期:2000-8-24 12:09:36
在NT/2K中,如果一个进程需要与SAM交互,则需要通过pipe\samr Pipe进行,同时这个连接不会释放,直到这个进程关闭,当用户1更改密码之后,如果用户2需要更改密码,这这个连接对用户2不可用,在后来的补丁中,好象修正了这个问题,但是Sam允许的连接数目是有限的,nt +sp6 2048 如果 你想你的机器non stop的话
可以试试下面的做法
// Get current security token
hToken1 = OpenThreadToken(GetCurrentThread(),
TOKEN_READ | OKEN_IMPERSONATE,
TRUE,...);
hToken2 = LogonUser(....); // Obtain security token
// for some user
ImpersonateLoggedOnUser(hToken2, ...);
NetUserAdd(); // At this point NetAPI is alway called
// in the same security context
ImpersonateLoggedOnUser(hToken1, ...);
CloseHandle (hToken1);
CloseHandle (hToken2);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?