Windows编程:NetUserAdd函数与OLE API的实践与挑战
1. NetUserAdd函数的探索
1.1 确定导入库和DLL
在进行编程时,导入库名称并非总是与DLL名称一致。通过查看NT系统的system32目录,发现了名为netapi32.dll的DLL。由此,对NetUserAdd函数进行如下声明:
Private Declare Function NetUserAdd Lib "netapi32.dll" ( _
ByVal servername As Long, ByVal level As Long, _
ByVal buf As Long, parm_err As Long) As Long
1.2 参数选择的原因
- servername参数 :定义为Long类型。若定义为字符串,Visual Basic会将其转换为ANSI字符串,而此处需要的是Unicode字符串。通过ByVal As Long指定,可以传递Unicode字符串的显式地址。
- level参数 :显然为Long类型。
- buf参数 :有多种选择,如声明为结构类型之一、声明为As Any或再次使用Long并传递结构的地址,最终选择了后者。
- parm_err参数 :同样为Long类型,但通过引用传递,因为该参数是一个指向32位变
超级会员免费看
订阅专栏 解锁全文
2093

被折叠的 条评论
为什么被折叠?



