C++ 调用FreeSid()函数会使Windows 7上的MFC应用程序崩溃
C++ 调用FreeSid()函数会使Windows 7上的MFC应用程序崩溃,c++,windows,winapi,mfc,C++,Windows,Winapi,Mfc,FreeSid()在我们的MFC应用程序的Windows 7上经常崩溃。多年来,它在WindowsXP中一直工作得非常好 有人知道这方面的解决方法吗 但不清楚如何在C++中修复。 < P>有不同的方法来释放SID。如果您从ConvertStringSidToSid获得它,请使用LocalFree。如果您从AllocateAndInitializeSid获得它,请使用FreeSid。混合使用这两种方法会产生未定义的结果,这在不同的Windows版本中可能会有所不同。VB 6人员遇到的问题是,他使用
FreeSid()
在我们的MFC应用程序的Windows 7上经常崩溃。多年来,它在WindowsXP中一直工作得非常好
有人知道这方面的解决方法吗
但不清楚如何在C++中修复。
< P>有不同的方法来释放SID。如果您从ConvertStringSidToSid
获得它,请使用LocalFree
。如果您从AllocateAndInitializeSid
获得它,请使用FreeSid
。混合使用这两种方法会产生未定义的结果,这在不同的Windows版本中可能会有所不同。VB 6人员遇到的问题是,他使用错误的签名声明了函数。这在这里可能不适用。是否向函数传递有效指针?我们需要查看一些代码…以扩展Cody的评论,仅仅因为它在XP中没有崩溃并不意味着您的代码中没有问题。感谢您的快速反馈,我们将重新检查指针使用情况并返回。我们?你和C++编译器?这个问题是因为以下用户组SQL Server 2005 5SqLabServer用户$Meale2 SqLSValsMSSQL Server ValueHelpUpE$MUCKE2 SqLSServer MSQLUSER $机器2$ SQL LySqsSqrVistQQualtUngs2 $ SqLExpExt我们摆脱了这些用户组和代码开始工作良好。Thanks@user1314356:您的代码仍然损坏,您只是通过删除暴露问题的环境来隐藏问题。是的,我们在将代码移动到Windows7和VS 2010时遇到了很多问题,我们很高兴能够找到解决办法