Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os Mailslots são suportados por três funções especializadas: CreateMailslot, GetMailslotInfoe SetMailslotInfo. Estas funções são usadas pelo servidor mailslot.
O exemplo de código a seguir usa a função CreateMailslot para recuperar o identificador para um mailslot chamado "sample_mailslot". O exemplo de código em Escrevendo em um Mailslot mostra como o aplicativo cliente pode gravar nesse mailslot.
#include <windows.h>
#include <stdio.h>
HANDLE hSlot;
LPCTSTR SlotName = TEXT("\\\\.\\mailslot\\sample_mailslot");
BOOL WINAPI MakeSlot(LPCTSTR lpszSlotName)
{
hSlot = CreateMailslot(lpszSlotName,
0, // no maximum message size
MAILSLOT_WAIT_FOREVER, // no time-out for operations
(LPSECURITY_ATTRIBUTES) NULL); // default security
if (hSlot == INVALID_HANDLE_VALUE)
{
printf("CreateMailslot failed with %d\n", GetLastError());
return FALSE;
}
else printf("Mailslot created successfully.\n");
return TRUE;
}
void main()
{
MakeSlot(SlotName);
}
Para criar um mailslot que possa ser herdado por processos filho, uma aplicação deve alterar a estrutura SECURITY_ATTRIBUTES passada como o último parâmetro de CreateMailslot. Para fazer isso, o aplicativo define o bInheritHandle membro dessa estrutura para TRUE (a configuração padrão é FALSE).