写入邮槽类似于写入标准磁盘文件。以下代码使用CreateFile,WriteFile和CloseHandle功能在邮槽中放置短消息。该消息广播到系统主域中的每台计算机。
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,/ *需要写入邮槽* /
(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 / *包括结束。空字符*/
& 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;
广播到域的消息必须不超过400字节。未广播的消息应小于64千字节。可以发送到邮槽的邮件数量没有限制。