Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <iostream>
- using namespace std;
- int main() {
- // Nome della memoria condivisa
- const char* sharedMemoryName = "ZonaDiMemoria";
- // Dimensione della memoria condivisa
- const size_t sharedMemorySize = 256;
- cout<<"Creazione di un file mapping...";
- HANDLE hMapFile = CreateFileMappingA(
- INVALID_HANDLE_VALUE, // Utilizza la memoria del file di paging
- NULL, // Attributi di sicurezza predefiniti
- PAGE_READWRITE, // Protezione di lettura/scrittura
- 0, // Dimensioni massime dell'oggetto di mapping (parte alta)
- sharedMemorySize, // Dimensioni massime dell'oggetto di mapping (parte bassa)
- sharedMemoryName // Nome della memoria condivisa
- );
- if (hMapFile == NULL) {
- std::cerr << "Could not create file mapping object: " << GetLastError() << std::endl;
- return 1;
- }
- cout<<"OK\n";
- cout<<"Mappatura della memoria condivisa nello spazio degli indirizzi del processo...";
- LPVOID pBuf = MapViewOfFile(
- hMapFile, // Handle dell'oggetto di mappatura del file
- FILE_MAP_ALL_ACCESS, // Modalità di accesso
- 0, // Offset della parte alta dell'oggetto di mappatura del file
- 0, // Offset della parte bassa dell'oggetto di mappatura del file
- sharedMemorySize // Numero di byte da mappare
- );
- if (pBuf == NULL) {
- std::cerr << "Mappatura impossibile: " << GetLastError() << std::endl;
- CloseHandle(hMapFile);
- return 1;
- }
- cout<<"OK!\nScrittura del messaggio...";
- const char* message = "messaggio";
- CopyMemory((PVOID)pBuf, message, strlen(message) + 1);
- cout<<"OK!\nAttesa di 10 secondi...";
- Sleep(10000);
- // Pulizia delle risorse
- UnmapViewOfFile(pBuf);
- CloseHandle(hMapFile);
- cout<<"OK!\nChiusura e uscita";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement