を私はC++ Embarcardero 2010を使用して、私はCreateMailSlot機能するのでRemy Lebeauの溶液にいくつかの変更を行う必要がありますタイプ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);
注:
- メールスロット(EmbarcaderoのC++ 2010)
- とサービス:私の場合は、3つのアプリケーションをしましたクライアントメールスロットを持つサービス(.NET v4)
- クライアントメールスロットを持つWPF(.NET v4)
サービスまたはアプリケーションのメールスロットは誰が作成していますか? 'CreateMailslot()'の 'lpSecurityAttributes'パラメータにはどのようなセキュリティ属性が指定されていますか?サービスを扱うときには大きな違いがあります。サービスがメールスロットを作成している場合は、メールスロットへの匿名アクセスを許可するNULLでない 'SECURITY_ATTRIBUTES'オブジェクトを割り当てる必要があります。 –
@ RemyLebeau-TeamBいいえ、サービスはMailSlotを作成します。私は今lpSecurityAttributesを参照しています。私のアプリケーションではゼロです。私はそれを非Nullオブジェクトに割り当てる方法を見ています... – philnext
私の答えを見てください。私はコードスニペットを提供しました。 –