Création d’un Maillot
Les mailslots sont pris en charge par trois fonctions spécialisées : CreateMailslot, GetMailslotInfo et SetMailslotInfo. Ces fonctions sont utilisées par le serveur maillot.
L’exemple de code suivant utilise la fonction CreateMailslot pour récupérer le handle dans un maillot nommé « sample_mailslot ». L’exemple de code dans Writing to a Mailslot montre comment l’application cliente peut écrire dans ce maillot.
#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);
}
Pour créer un maillot qui peut être hérité par des processus enfants, une application doit modifier la structure SECURITY_ATTRIBUTES passée en tant que dernier paramètre de CreateMailslot. Pour ce faire, l’application définit le membre bInheritHandle de cette structure sur TRUE (le paramètre par défaut est FALSE).
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour