Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
Delphi 12 Athens
|
8. Mai 2003, 12:49
Ich arbeite viel mit Pipes, welche sich an dieser Stelle genau gleich verhalten. Ja, Du musst ein wenig mit den Security Attributen "rumspielen". Dazu musst Du nur ein paar Zeilen am Server einfügen.
Delphi-Quellcode:
// der Server
var
FSA: SECURITY_ATTRIBUTES;
FSD: SECURITY_DESCRIPTOR;
...
InitializeSecurityDescriptor(@FSD, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(@FSD, True, nil, False);
FSA.lpSecurityDescriptor := @FSD;
FSA.nLength := sizeof(SECURITY_ATTRIBUTES);
FSA.bInheritHandle := True;
// gleiches halt nur mit der Server-Pipe, der letzte Parameter bestimmt das Security Level
Pipe := CreateNamedPipe(
PChar(FFullPipeName), PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE or
PIPE_READMODE_MESSAGE or PIPE_WAIT or SECURITY_ANONYMOUS,
PIPE_UNLIMITED_INSTANCES, cMaxMessageDataSize + 1024,
cMaxMessageDataSize + 1024, NMPWAIT_USE_DEFAULT_WAIT, @FSA
);
... ...
Daniel Lizbeth Ich bin nicht zurück, ich tue nur so
|
|
Zitat
|