Delen via


Een Mailslot maken

Mailslots worden ondersteund door drie gespecialiseerde functies: CreateMailslot, GetMailslotInfoen SetMailslotInfo. Deze functies worden gebruikt door de mailslotserver.

In het volgende codevoorbeeld wordt de functie CreateMailslot gebruikt om de ingang op te halen naar een mailslot met de naam 'sample_mailslot'. Het codevoorbeeld in Schrijven naar een Mailslot laat zien hoe de clienttoepassing naar dit mailslot kan schrijven.

#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);
}

Als u een mailslot wilt maken dat kan worden overgenomen door onderliggende processen, moet een toepassing de SECURITY_ATTRIBUTES structuur wijzigen die is doorgegeven als de laatste parameter van CreateMailslot. Hiervoor stelt de toepassing de bInheritHandle- lid van deze structuur in op TRUE- (de standaardinstelling is FALSE).