Я использую C ++ Embarcardero 2010, и мне нужно внести некоторые изменения в решение Реми Лебо , потому что функция CreateMailSlot получает указатель типа SECURITY_ATTRIBUTES *, а не указатель типа SECURITY_DESCRIPTOR *.
Мое решение в C ++:
SECURITY_DESCRIPTOR sd;
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd, true, NULL, false);
SECURITY_ATTRIBUTES sa;
sa.lpSecurityDescriptor=&sd;
sa.bInheritHandle=true;
this->pHandleMailSlot = CreateMailslot("your mail slot path", 0, -1, &sa);
Примечание. В моем случае у меня есть три приложения:
- Служба с MailSlot (Embarcadero C ++ 2010)
- Служба с почтовым ящиком клиента (.NET v4)
- WPF с почтовым ящиком клиента (.NET v4)