Articles of 窗户

是否存在与IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP或IMAGE_FILE_NET_RUN_FROM_SWAP相关的风险?

我想包括IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP和IMAGE_FILE_NET_RUN_FROM_SWAP PE标志到我的可执行文件。 这个想法是为了防止从networking运行可执行文件的客户端看到偶尔出现的exception情况,例如当networking卷在睡眠后无法重新连接时。 到目前为止,我们一直build议客户从本地连接的卷上运行可执行文件。 但是,我对虚拟内存,加载器等知之甚less,不知道使用这些PE标志有什么风险。 例如,如果我这样做会更多的物理内存被我的可执行文件消耗,特别是如果有多个同时运行的可执行文件的实例? 对不起,我不能提供更多的潜在风险的例子,但这是我的问题的性质。 我有一种感觉,可能会有这样做的缺点,但根本不知道这些缺点可能是什么。

jenkinspathgit Windows主/ Linux的奴隶

我有一个运行一些Windows版本的Windows上的Jenkins大师。 git客户端插件中configuration了一个固定的pathgit作为“C:\ Program Files文件(x86)\ git \ bin \ git.exe” 我现在创build了一个Linux从服务器,但是当我在那里运行一个工作时,它试图运行命令“C:\ Program Files(x86)\ git \ bin \ git.exe init”,显然失败了。 有一个简单的解决scheme呢? 我想我已经通过在Windows主机上修改PATH来解决它,而git的固定path现在只是“git”,因此可以在两个操作系统上运行。 是jenkins解决这个问题的“正确”方法,还是有另一种更好的方法来解决这个问题? 谢谢。

在PHP中使用exec命令时可能会发生权限问题

我们有一个小型的办公室内部网,使用PHP(在apache服务器上 – 如此WAMP)构build,允许我们在文件服务器上创build项目文件夹。 这可以通过使用shell exec xcopy命令和下面的开关/e /k /i /c将一组模板文件夹复制到一个新的位置。 我们(相当)最近升级到运行Windows Server 2008 R2 Standard的新文件服务器。 现在,xcopy命令不再可以在PHP中使用。 但是,我知道xcopy命令是正确的,因为它工作,如果我复制并粘贴到命令提示符(在同一台计算机上)。 我可以看到没有错误消息,但我认为这是与PHP的“用户”相关的某种权限问题,但我不知道究竟是什么或如何解决它。 Apache服务器和文件服务器是两个独立的机器。 如果相关,apache服务器是一个32位的机器,文件服务器是一个64位的机器,但正如我所说,我可以从32位机器的CLI调用xcopy命令没有问题。 Apache进程的用户名是SYSTEM(尽pipe我似乎无法使用'whoami'命令来检查这个) 任何指针将不胜感激。 FWIW,execstring看起来像这样… echo "xcopy \"\\\\path\\to\\folder\\xxxx_Project\\*.*\" \"\\\\path\\to\\folder\\9876_NEWPROJECT\" /e /k /i /c"; (我认为)具体化为… xcopy "\\path\to\folder\xxxx_Project\*.*" "\\path\to\folder\9876_NEWPROJECT" /e /k /i /c 显然,'9876_NEWPROJECT位实际上是一个variables。

在Windows中添加Bonjour(dns_sd.h)库到Qt

我一直在试图正确地添加由Apple提供的开源dns_sd.h库。 我正在编写一个使用BonjourRegistrar类的程序,如下所示: 链接文本 我已经在Mac环境下编写了我的程序,现在我试图将它移植到Windows。 Bonjour SDK附带了几个类,我很困惑如何正确地添加类到我的Qt项目。 我已经尝试添加行: win32:LIBS += c:\dnsssd.lib 在.pro文件中没有成功。 此外,我试图添加dns_sd.h和dns_sd.c文件到我的项目中,并得到了一些错误,如: 'UINT8':不命名一个types'INT8':不命名一个types'UINT16'不命名一个types'INT16'不命名一个types 最后,我现在试图修改这个链接文本中由xcimo描述的lib文件 我不知道我是否使用正确的命令来正确修改这些文件。

在MS Windows平台上,对于基于Unix平台的SUID有什么样的select?

为了理解我所要求的,在Unix中区分SUID的几种用法是很重要的。 我有一个项目,在项目拥有的用户的PATH中使用可执行文件,并设置了SUID位。 这样,当它运行时,它运行在文件所有者的上下文中,而不是主叫用户。 这样,它就可以访问用户不能访问的东西,从而通过正常的文件系统保护来保护用户不受这些东西的影响。 这工作相当好。 计划将这个项目转移到一个客户 – 服务器体系结构,但这需要一些时间。 同时,如何在Windows系统上复制这种types的行为? 请注意,项目的可执行文件不会调用SETUID库调用,坦率地说,这将是一个很好的function添加,在我看来,该项目的作用。 该项目不需要系统root权限。 首先,安全问题是它需要保护用户自己的文件(只是文件所有者以外的任何用户),如果能够切换到“用户上下文”来访问文件,这将是非常好的系统就好像它是主叫用户一样。 (通过这种方式,可以更轻松地确定项目可以接触什么是好的。) 该项目是用C和Java的组合编写的 – 一个带有SUID集的C程序调用Java代码。 我热衷于了解所有这些机制,特别关注那些: 适用于C和Java,并且; 易于为非Windows程序员实现,并; 要求Windows独有的最小编码。 如果一些解决scheme是优越的,请分享你对这方面的任何你知道的想法。 笔记: LogonUser:需要纯文本密码。 这怎么可能是一个答案? RunAs:要求在PROMPTinput密码! …与LogonUser一样,只有更糟; 我不明白这是一个答案。

为什么在这个代码中,当没有打印任何新行时,缓冲区被刷新?

#include <stdio.h> #include <limits.h> #include <windows.h> void p(int n) { if (n == 0) return; p(n/10); if (n%10 < 5) {printf("%d",n%10); Sleep(1000);} } int main() { printf("%d\n",INT_MAX-1); p(INT_MAX – 1); return 0; } 它应该一次打印所有内容,因为数据stream是缓冲的,但它会分别打印数字。 我在windows下使用gcc。

从进程ID获取进程可执行文件的名称

我目前正在试图获得我的pid程序列表的名称。 该程序以pipe理员身份运行,但GetModuleFileNameEx失败,错误代码为5。 我用OpenProcess(PROCESS_TERMINATE,PROCESS_QUERY_INFORMATION)打开程序,并启用了SE_DEBUG_PRIVILEGE 。

“你的小猫等待什么”来自哪里?

如果你运行SBCL(至less在Windows上,我在家里使用CLISP),你会得到“你的死亡小猫在等待”的信息。 我怀疑这与某种forms的内部笑话(如超级奶牛权力)有关。 我试过谷歌search,我没有发现什么特别有用的(我想这是在其他networking上提到的一些,如果不是很多,使用)。 如果这看起来更像一个超级用户或ServerFault的问题,请让我知道,我会问他们的论坛。 更新: 似乎这句话的来源是由克里斯托弗·罗德斯(Christopher Rhodes) 提交给原始资料的版本1.54(感谢Daniel A. Whitefindfild名字)。 我不确定这样做是否有用,但是这是查询的附加途径。

如何正确设置R.HOME()和/或R_HOME?

我有我的R安装在C:\R\R-3.3.0 。 但: > R.home() [1] "C:/R/R-33~1.0" > Sys.getenv("R_HOME") [1] "C:/R/R-33~1.0" 我觉得这两个应该是"C:/R/R-3.3.0"因为使用debugging器时有很多麻烦:它只是找不到库! 正如我在Windows上,我在文档中阅读这个,但它没有帮助: 在Windows上,R.home()和R_HOME的值将根据需要切换到8.3简短forms的path元素,并且如果启用了Windows服务。 R_HOME的值被设置为使用正斜杠(因为许多软件包维护者将它们不加引号地传递给shell,例如在'Makefile'中)。 帮助是高度赞赏,因为我对环境variables的知识是微小的。

ESENT发行权

我想知道esent.dll(可扩展存储引擎)的分发权。 我知道它包含在Windows中,但根据Windows的版本,它是不一样的。 例如,在Windows 2000中,初始化是不同的,而在Windows Vista +中,还有一些有趣的参数被添加。 所以,我们可以不用根据客户端操作系统对软件进行不同的编程,而只需要使用最新版本的esent.dll并使用我们的软件进行分发?