Membuat Mailslot
Mailslots didukung oleh tiga fungsi khusus: CreateMailslot, GetMailslotInfo, dan SetMailslotInfo. Fungsi-fungsi ini digunakan oleh server mailslot.
Sampel kode berikut menggunakan fungsi CreateMailslot untuk mengambil handel ke mailslot bernama "sample_mailslot". Sampel kode dalam Menulis ke Mailslot menunjukkan bagaimana aplikasi klien dapat menulis ke mailslot ini.
#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);
}
Untuk membuat mailslot yang dapat diwarisi oleh proses turunan, aplikasi harus mengubah struktur SECURITY_ATTRIBUTES yang diteruskan sebagai parameter terakhir CreateMailslot. Untuk melakukan ini, aplikasi mengatur anggota bInheritHandle dari struktur ini ke TRUE (pengaturan defaultnya adalah FALSE).