Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Shared Memory erstellen, das für alle User lesbar ist?

Mitglied: gypakk

gypakk (Level 1) - Jetzt verbinden

05.02.2008, aktualisiert 06.02.2008, 3925 Aufrufe, 1 Kommentar

Hallo,

ich verwende Shared Memory für den schnellen Datenaustausch zwischen zwei Programmen. Das funktioniert bis jetzt wunderbar.
Nun soll aber der Austausch aber zwischen zwei Prozessen stattfinden, die unter unterschiedlichen Useraccounts laufen.

Wie muss ich dazu den Shared Memory-Bereich generieren?

/* Shared Memory als IO-Bereich generieren */
cioh= CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,sizeof(cio_t),"CIO");

if(cioh!=NULL && cio==NULL) /* IO-Bereich konnte generiert werden UND IO-Bereich ist noch nicht zugeordnet */
cio= (cio_t*)MapViewOfFile(cioh,FILE_MAP_ALL_ACCESS,0,0,sizeof(cio_t)); /* IO-Bereich zuordnen */


Hat jemand einen Tipp für mich?

gypakk
Mitglied: gypakk
06.02.2008 um 03:42 Uhr
Zwischenbericht:

Nicht schön, aber irgendwie funktioniert's. Zumindest unter XP. Vista-Test steht noch bevor...
Es scheint sich wohl um ein reines Berechtigungsproblem gehandelt zu haben. Das folgende Code-Stückchen setzt die Zugriffsrechte so, dass jeder auf das Shared Memory zugreifen darf.
Sorry, für Kommentierung bin ich inzwischen zu müde. Mein Bett schreit schon.

SID_IDENTIFIER_AUTHORITY sidiaworld= {SECURITY_WORLD_SID_AUTHORITY};
PSID psid;
SID_IDENTIFIER_AUTHORITY sidia;
PACL pacl;
int acllen;
BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
SECURITY_DESCRIPTOR* psd;
SECURITY_ATTRIBUTES sa;

i= AllocateAndInitializeSid(&sidiaworld,1,SECURITY_WORLD_RID,0,0,0,0,0,0,0,&psid);
acllen= sizeof(ACL)+sizeof(ACCESS_ALLOWED_ACE)*2+GetLengthSid(psid)*2-sizeof(DWORD)+10;
pacl= (ACL*)malloc(acllen);
i= InitializeAcl(pacl,acllen,ACL_REVISION);
i= AddAccessAllowedAce(pacl,ACL_REVISION,0x1fffff,psid);
psd= (SECURITY_DESCRIPTOR*)&sd;
i= InitializeSecurityDescriptor(psd,SECURITY_DESCRIPTOR_REVISION);
i= SetSecurityDescriptorDacl(psd,true,pacl,false);
sa.nLength= sizeof(sa);
sa.lpSecurityDescriptor= psd;
sa.bInheritHandle= true;
cioh= CreateFileMapping(INVALID_HANDLE_VALUE,&sa,PAGE_READWRITE,0,sizeof(cio_t),"?IO");
(...)

Sorry, mit der Formatierung hier im Forum tu ich mich irgendwie noch schwer...
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Office 365 Shared User (Firmen Kalender erstellen)

Frage von ITimThalMicrosoft Office2 Kommentare

Guten Morgen, ich glaube mein Problem ist eig. relativ einfach. Nur verstehe ich's nicht! Ich habe eine Sicherheitsgruppe im ...

Windows Server

Shared User Activation - Wo ist welcher User Aktiviert? Suche ein Konto

Frage von d3x1984Windows Server

Hi zusammen, habe folgendes Problem. Bei einem Kunden sind im Remote Desktop ca 150 User per Office365 Shared Activation ...

Exchange Server

Shared user-mailbox, vertrauliche mails

gelöst Frage von mclovinnExchange Server9 Kommentare

Hallo, bei uns hat sich folgendes Szenario ergeben: Es gibt einige Postfächer auf welche mehrere User Vollzugriff haben. Nun ...

Microsoft Office

Office 365 - shared User Abruf auf mobilem Endgerät

Frage von MarioHMicrosoft Office

Hallo, ich grüble gerade über folgendem Szenario und benötige hier ein wenig Hilfe: ich habe 2 Office 365 Business ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 14 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 20 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 23 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...