【发布时间】:2012-03-02 02:42:50
【问题描述】:
我正在这样的过程中创建一个全局信号量对象:
CreateSemaphore(NULL, 1, 1, "Global\\bitmap");
现在,当我尝试在子进程中打开它时(这是“另一个进程”的特例,它不会是打开创建的信号量的子进程),如下所示:
bitmapSem = OpenSemaphore(NULL, TRUE, "Global\\bitmap");
bitmapSem 变量等于 NULL,我收到来自 GetLastError() 的错误 5 (ERROR_ACCESS_DENIED)。
有什么想法吗?
【问题讨论】:
-
你是
fork()-ed 孩子吗? -
创建使用
Global\\bitmap,而打开只使用bitmap。是否应该打开也不是Global\\bitmap,因为默认命名空间可能不是Global? -
啊,抱歉,两个都试了 - 现在编辑。
-
@Adrian 你可以说,我用了
CreateProcess()(因为它赢了)