Writing to a Mailslot

Writing to a mailslot is similar to writing to a standard disk file. The following code uses the CreateFile, WriteFile, and CloseHandle functions to put a short message in a mailslot. The message is broadcast to every computer in the primary domain of the system.

LPSTR lpszMessage = "Message for sample_mailslot in primary domain.";

BOOL fResult;

HANDLE hFile;

DWORD cbWritten;

hFile = CreateFile("\\\\*\\mailslot\\sample_mailslot",

GENERIC_WRITE,

FILE_SHARE_READ, /* required to write to a mailslot */

(LPSECURITY_ATTRIBUTES) NULL,

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL,

(HANDLE) NULL);

if (hFile == INVALID_HANDLE_VALUE) {

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

return FALSE;

}

fResult = WriteFile(hFile,

lpszMessage,

(DWORD) lstrlen(lpszMessage) + 1, /* include terminat. null char. */

&cbWritten,

(LPOVERLAPPED) NULL);

if (!fResult) {

ErrorHandler(hwnd, "WriteFile");

return FALSE;

}

TextOut(hdc, 10, 10, "WriteFile successful.", 21);

fResult = CloseHandle(hFile);

if (!fResult) {

ErrorHandler(hwnd, "CloseHandle");

return FALSE;

}

TextOut(hdc, 10, 30, "CloseHandle successful.", 23);

return TRUE;

Messages broadcast to a domain must be no longer than 400 bytes. Messages that are not broadcast should be smaller than 64 kilobytes. There is no limit to the number of messages that can be sent to a mailslot.

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