Creating a Mailslot

Mailslots are supported by three specialized functions: CreateMailslot, GetMailslotInfo, and SetMailslotInfo. These functions are used by the mailslot server.

The following code sample uses the CreateMailslot function to retrieve the handle of a mailslot named sample_mailslot.

BOOL FAR PASCAL Makeslot(HWND hwnd, HDC hdc)

{

LPSTR lpszSlotName = "\\\\.\\mailslot\\sample_mailslot";

/* The mailslot handle "hSlot1" is declared globally. */

hSlot1 = CreateMailslot(lpszSlotName,

0, /* no maximum message size */

MAILSLOT_WAIT_FOREVER, /* no time-out for read operations */

(LPSECURITY_ATTRIBUTES) NULL); /* no security attributes */

if (hSlot1 == INVALID_HANDLE_VALUE) {

ErrorHandler(hwnd, "CreateMailslot"); /* local error handler */

return FALSE;

}

TextOut(hdc, 10, 10, "CreateMailslot successful.", 26);

return TRUE;

}

To create a mailslot that can be inherited by child processes, an application should change the SECURITY_ATTRIBUTES structure passed as the last parameter of CreateMailslot. To do this, the application sets the bInheritHandle member of this structure to TRUE (the default setting is FALSE).

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database