为什么第二次创建与已经存在的同名的Event对象,竟然提示成功,而不是该对象已经存在?
我用VC做了一个COM,其他有两个函数用来创建同名的一个Event,分另由一个NT Service和一个JAVA 程序通过JNI使用。首先由NT SERVICE在启动时创建一COM进程,并创建一个该EVENT对象,但在在这后,一个JAVA程序通过JNI来创建COM一个进程并创建与NT SERICE创建的EVENT对象,竟然提示创建成功了。代码如下:
由NT SERVICE在启动时调用:
m_hStoppedForWeb = CreateEvent(NULL,TRUE,FALSE,"StoppedForWeb");
由JAVA程序通过调用:
m_hStoppedForWeb = CreateEvent(NULL,TRUE,FALSE,"StoppedForWeb");
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
m_hStoppedForWeb = OpenEvent(EVENT_ALL_ACCESS,FALSE,"StoppedForWeb");
if (m_hStoppedForWeb == NULL)
{
OutputDebugString("The StoppedForWeb event cannot be opened.");
}
else
{
OutputDebugString("Open the StoppedForWeb event successfully");
}
}
请问各位VCER这是什么原因啊?
先谢谢啦!