请高手帮助指教,为何OpenFileMapping失败  谢谢
											 编写了一个DLL,通过编译. 程序代码:
程序代码:#define WIN32_LEAN_AND_MEAN 
#include <windows.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
#include   "time.h"  
#define MY_EXPFUNC __declspec(dllexport)
#include <iostream> //内存映射用
//+------------------------------------------------------------------+
char  *m=new char [10] ;// ok
char  *n=new char [10] ;// 
char  y[1];//   
char  y2[10];
char  y3[50]="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
//=====================================================================================================
MY_EXPFUNC char* __stdcall Set(char *xx)  //传入____ "AAAAAA" ;   
{
    m=NULL;
    strcpy(n,y3);//"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
//          m=n;//---------------------------//
    return(n); 
}               
//=====================================================================================================
  MY_EXPFUNC   char* __stdcall  SSend()//数据发送  
{
    char* lpData = NULL;
    HANDLE m_hFileMMF;      //
    BOOL UpdateData(TRUE);// 更新数据.
    m_hFileMMF=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,4*1024,"my_my");  
    //    m_hFileMMF=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0,0); 
    if(NULL==m_hFileMMF)  
    {  
        return("01--函数CreateFileMapping创建共享内存失败---返回值是NULL");//
    }
    lpData=(char*)MapViewOfFile(m_hFileMMF,FILE_MAP_WRITE,0,0,0);  
    if(NULL==lpData)  
    {  
        return("03--函数MapViewOfFile映射到地址空间失败---返回值是NULL");
    }
    CopyMemory(lpData,n,4*1024);
    UnmapViewOfFile(lpData);     
       lpData = NULL; 
       CloseHandle(m_hFileMMF);
          return("数据发送-----ok");//
}
//=====================================================================================================
MY_EXPFUNC   char* __stdcall RRecieve()//数据接收 
{
   
    HANDLE hMapping;
    char* lpccData;
    lpccData=NULL;
    HANDLE m_pViewMMFFile;
    m_pViewMMFFile= OpenFileMapping(FILE_MAP_ALL_ACCESS,0,"my_my"); 
    if(NULL==m_pViewMMFFile)  //
    {  
        return("06--函数OpenFileMapping失败---返回值是NULL");
    }
          lpccData=(char*)MapViewOfFile(m_pViewMMFFile,FILE_MAP_ALL_ACCESS,0,0,0);  
          if(NULL==lpccData)  
          {  
              return("08--函数MapViewOfFile失败---返回值是NULL");
          }
          m = lpccData;   
         
          UnmapViewOfFile(lpccData);   
         
          lpccData=NULL;
         
          CloseHandle(m_pViewMMFFile);// //
          return("数据接收-----ok");//
} 
//=====================================================================================================
MY_EXPFUNC   char* __stdcall Get(char *zz, const int vv)//传出"AAAAAAA"} ;  
{
    return(m);//
} 
//===============================
//===============================
	
		
			 请求帮助的DLL的包.rar
				(845.11 KB)
请求帮助的DLL的包.rar
				(845.11 KB)
				
				
			一共两个外部函数,两个内部函数。
一个函数传进《一串字符串》另一个函数是将传进的《一串字符串》,再原封不动传出去;
内部两个函数为内存文件映射之用,数据发送部份好象-----正常,能返回“ return("数据发送-----ok");// ”,
数据接收部份目前不正常:返回return("06--函数OpenFileMapping失败---返回值是NULL");
好象----函数OpenFileMapping失败,代码需要修改,
请高手帮助指教,为何OpenFileMapping失败 谢谢
下附DLL代码和DLL的全套-dsw文件
[ 本帖最后由 xs100 于 2010-9-13 09:17 编辑 ]

 
											





 
	    


