1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
LPSECURITY_ATTRIBUTES ClassTest::lpAttributes=MakeSA();//lp
HANDLE ClassTest::hExchangeRW=CreateFileMapping(INVALID_HANDLE_VALUE,
lpAttributes ,
PAGE_READWRITE, // Lecture - écriture
0,
SIZE_BUFFER, // 4ko
(LPCWSTR)fileMappingDataRW);
bool Classtest::createDACL(SECURITY_ATTRIBUTES *pSA)
{
TCHAR * szSD = TEXT("(A;OICI;GRGWGX;;;AU)") // Allow
// read/write/execute
// to authenticated
// users
// Allow
// read/write/execute
// to authenticated
// users
if (NULL == pSA)
return FALSE;
return ConvertStringSecurityDescriptorToSecurityDescriptor(
szSD,
SDDL_REVISION_1,
&(pSA->lpSecurityDescriptor),
NULL);
}
LPSECURITY_ATTRIBUTES ClassTest::MakeSA()
{
SECURITY_ATTRIBUTES pSA;
LPSECURITY_ATTRIBUTES pSB;
if(!createDACL(&pSA))
{
cout<<"problem in making security attribute"<<endl;
}
pSB= (LPSECURITY_ATTRIBUTES)(&pSA);
return pSB;
}
//L'openfile mapping executé par l'interface
hExchangeRW= OpenFileMapping(FILE_MAP_ALL_ACCESS, false, (LPCWSTR)fileMappingDataRW);
hExchangeWR= OpenFileMapping(FILE_MAP_ALL_ACCESS, false, (LPCWSTR)fileMappingDataWR);
exchangeSpaceRW=(char *)MapViewOfFile(hExchangeRW, FILE_MAP_ALL_ACCESS, 0,0, size_buffer);
exchangeSpaceWR=(char *)MapViewOfFile(hExchangeWR, FILE_MAP_ALL_ACCESS, 0,0, size_buffer |
Partager