调用CreateFile失败了为什么
我在远程登入了2003系统,并运行一个服务控制管理器的程序"Server.exe"。
"Server.exe"中创建了一个主线程,主线程创建了一个邮槽服务:
CreateMailslot("\\\\.\\mailslot\\my_mailslot", 0, MAILSLOT_WAIT_FOREVER, (LPSECURITY_ATTRIBUTES) NULL);
然后主线程中又创建了1个应用程序进程"A.exe"
在"A.exe"中调用CreateFile打开这个邮槽:
CreateFile("\\\\*\\mailslot\\my_mailslot", GENERIC_WRITE, FILE_SHARE_READ, (LPSECURITY_ATTRIBUTES) NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL);
(1)这样调用的时候局域网和本地貌似都没错,但是如果我是在外网远程登入的时候,请问下这个第一个参数该填什么,底下那个servername该怎么填写,怎么得到。有没有什么API函数可以得到的。
(2)my_mailslot这个填写绝对路径不行吗?我填写"D:\\Text\\my_mailslot"这样有错?
(3)还有就是我在主线程结束前,调用PostThreadMessage(pProcInfo.dwThreadId, WM_QUIT, 0, 0)关闭"A.exe"的窗口时候会出现1444的错误报告,这个该怎么解决?
(备注:pProcInfo.dwThreadId是前面创建"A.exe"进程的时候调用CreateProcessAsUser的最后一个参数)
参考:
邮槽名字类型
--------------------------------------------------
名字格式 说 明
--------------------------------------------------
\\.\mailslot\name 标定同一台机器上的一个本地邮槽
\\servername\mailslot\name 标定名为servername的一个远程邮槽服务器
\\domainname\mailslot\name 标定在指定的domain(域)内,使用特定name(名字)的所有邮槽
\\*\mailslot\name 标定系统主域内,标定特定name(名字)的所有邮槽
--------------------------------------------------
[解决办法]
http://baike.baidu.com/view/691979.html?fromTaglist
百度百科,进程间通讯,自己看