Поделиться через


Сведения о мейлслотах

Mailslot — это псевдофайл, который находится в памяти, и для доступа к нему используются стандартные функции файлов. Данные в сообщении mailslot могут находиться в любой форме, но не могут превышать 424 байта при отправке между компьютерами. В отличие от файлов на диске, почтовые слоты являются временными. При закрытии всех дескрипторов почтового слота, почтовый слот и все содержащиеся в нем данные удаляются.

Сервер почтового слота — это процесс, который создаёт и владеет почтовым слотом. Когда сервер создает маилслот, он получает дескриптор маилслота. Этот дескриптор должен использоваться, когда процесс считывает сообщения из почтового слота. Только процесс, создающий mailslot, или процесс, получивший дескриптор каким-либо другим механизмом (например, наследованием), может считывать из почтового ящика. Все мейлслоты являются локальными для процесса, который их создает. Процесс не может создать удаленный почтовый объект.

Клиент mailslot — это процесс, который записывает сообщение в mailslot. Любой процесс, имеющий имя mailslot, может поместить в него сообщение. Новые сообщения следуют за всеми существующими сообщениями в почтовом слоте.

Mailslots может транслировать сообщения в домене. Если несколько процессов в домене создают mailslot с тем же именем, каждое сообщение, адресованное этому mailslot'у и отправленное в домен, принимается участвующими процессами. Так как один процесс может управлять как дескриптором почты сервера, так и дескриптором клиента, извлеченным при открытии mailslot для операции записи, приложения могут легко реализовать простое средство передачи сообщений в домене.

Для отправки сообщений больше 424 байт между компьютерами используйте именованные каналы или Windows Sockets.

Имена MailSlot

Операции с Mailslot