我收到一个错误报告,指出我的程序使用的外部 DLL(SDL_Mixer,以防万一)中的某些音乐播放代码中的某些功能正在提高 EPrivilege。DLL 是用 C 语言编写的,因此我无法使用 MadExcept 从中获取有用的堆栈跟踪信息,而且问题在我的最终无法重现。更糟糕的是,我什至不知道 EPrivilege 是什么。
我从来没有在我自己的代码中看到过它,网上关于它的信息很少,而且有什么矛盾的。(一种解释说,如果您尝试使用需要不可用权限的受限帐户执行某些操作,则它是由操作系统引发的,另一种解释是,如果您尝试执行高于您的权限级别的指令,它是由 CPU 引发的。)
有没有人对导致 EPrivilege 的原因有权威的解释?有没有人知道如何通过非管理员帐户下的一台 Windows 7 64 位机器上的音乐播放代码来提高它,但在我的Windows 7 64 位机器上运行相同的代码时不会提高它? -管理员帐户?