共用方式為


建立郵槽 (Mailslot)

有三個特製化函式支援 Mailslot:CreateMailslotGetMailslotInfoSetMailslotInfo。 mailslot 伺服器會使用這些函式。

下列程式代碼範例會使用 CreateMailslot 函式來取得名為「sample_mailslot」的 mailslot 的控制代碼。 Writing to a Mailslot 的程式碼範例 示範客戶端如何寫入此 mailslot。

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

若要建立可由子進程繼承的mailslot,應用程式應該變更傳遞為 createMailslot 的最後一個參數所傳遞 SECURITY_ATTRIBUTES 結構。 若要這樣做,應用程式會將這個結構的 bInheritHandle 成員設定為 true (預設值為 FALSE )。