NT服务开的共享内存,应用程序如何访问?
我有一NT服务开辟了一段共享内存,代码如下:
globalCaUsbCheckerMapObj=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,sizeof(CaUsbCheckerMapObj),"caUsbCheckerMapObj");//创建共享内存
globalCaUsbCheckerMapObjPtr=MapViewOfFile(globalCaUsbCheckerMapObj,FILE_MAP_ALL_ACCESS,0,0,0);//获取指针
memcpy(globalCaUsbCheckerMapObjPtr, &globalCaUsbCheckerMapObjStruct,sizeof(globalCaUsbCheckerMapObjStruct));//拷贝内容
可是APP应用程序却无法获取使用:
hMemFile=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READONLY,0,158,"caUsbCheckerMapObj");
//这里hMemFile老是返回NULL,GetLastError总是返回"拒绝访问"
pData=(char *)MapViewOfFile(hMemFile,FILE_MAP_READ,0,0,0);
pMemData=( pCaUsbCheckerMapObj)pData;
请问这是怎么回事,我应该如何访问呢?