2012-02-13 36 views
-2

我尝试使用此代码启用Windows帐户,但我在此行中的ObjectSecurity(空引用)中发生异常ActiveDirectorySecurity userSecurity = user.ObjectSecurity;DirectoryEntry ObjectSecurity null引用异常

+0

问题出在哪里? ,我从这个链接代码:http://stackoverflow.com/questions/7827328/c-sharp-enable-user-account-with-directoryentry,然后我做了一些修改。 – 2012-02-13 21:27:06

+0

你没有指定Null引用正在发生什么行..也围绕Try Catch {}包装代码并报告一个真正的异常可能会帮助其他人了解Null引用..通常情况下,这意味着什么..你正在尝试分配一些东西或者使用一些没有被初始化的东西,或者New'd等等......还有什么是val&〜0x2 – MethodMan 2012-02-13 21:47:28

+0

想你;我修改了我的代码,现在清除了 – 2012-02-13 22:13:09

回答

1

我会怀疑你的错误是在代码

user.Properties["userAccountControl"].Value = val & ~0x2; //this will error 

5日线,如果你要调试它,你可能会看到下面的错误

错误指针和固定大小的缓冲区只能用于不安全的情况下

+0

这看起来像是一个赋值给我... – 2012-02-13 21:55:21

+0

不,我改变了一下我的代码,我在这一行中例外:ActiveDirectorySecurity userSecurity = user.ObjectSecurity; – 2012-02-13 21:59:12

+0

无论他应该得到什么错误指针和固定大小的缓冲区只能用在不安全的环境中 – MethodMan 2012-02-13 21:59:52