/*++ Copyright (c) 1990 Microsoft Corporation Module Name: tmslot.c Abstract: Test program to Win32 mailslot API calls Author: Manny Weiser (mannyw) 5-Mar-1991 Revision History: --*/ #include "stdio.h" #include "windows.h" #define BUFFER_SIZE 100 char Buffer[BUFFER_SIZE]; DWORD main( int argc, char *argv[], char *envp[] ) { BOOL success; HANDLE handle; LPSTR mailslotName = "\\\\.\\mailslot\\asdf"; DWORD maxMessageSize, nextSize, messageCount, readTimeout; DWORD bytesRead; handle = CreateMailslot( mailslotName, 100, MAILSLOT_WAIT_FOREVER, NULL ); if (handle == (HANDLE)-1) { printf ("Failed to open mailslot ""%s""\n", mailslotName); return 1; } printf ("Successfully opened the mailslot.\n"); success = SetMailslotInfo( handle, atoi( argv[1] ) ); if (!success) { printf ("Failed to set information for mailslot\n"); return 1; } printf ("Set mailslot timeout to %d\n", atoi(argv[1]) ); success = GetMailslotInfo( handle, &maxMessageSize, &nextSize, &messageCount, &readTimeout ); if (!success) { printf ("Failed to get information for mailslot\n"); return 1; } printf ("Max message size = %d\n", maxMessageSize ); printf ("Next message size = %d\n", nextSize ); printf ("Message count = %d\n", messageCount ); printf ("Read timeout = %u\n", readTimeout ); success = ReadFile( handle, Buffer, BUFFER_SIZE, &bytesRead, NULL ); if (!success) { printf ("Failed to read mailslot\n"); return 1; } else { printf ("Successfully read %d bytes '%s'\n", bytesRead, Buffer ); } }