HANDLE CreateNamedPipe(LPCTSTR NomDuTuyau, DWORD Mode, DWORD Mode2, DWORD NombreDInstances, DWORD TailleTamponEcriture, DWORD TailleTamponLecture, DWORD TempsDeGarde, LPSECURITY_ATTRIBUTES Informations);
Les échanges sont régis par des tampons de taille TailleTamponLecture octets en lecture et TailleTamponEcriture en écriture. Un thread reste bloqué dans la limite de TempsDeGarde millisecondes.
Le résultat est l'identificateur du tuyau.
#include <windows.h>
#include <winbase.h>
HANDLE Handle;
OVERLAPPED Informations;
Handle=CreateNamedPipe("MonTuyau", PIPE_ACCESS_DUPLEX|FILE_FLAG_WRITE_THROUGH, PIPE_TYPE_BYTE|PIPE_READMODE_BYTE|PIPE_NOWAIT,PIPE_UNLIMITED_INSTANCES, 1024, 1024, 10000, NULL);
if (Handle==INVALID_HANDLE_VALUE)
{
...
}
...
Informations.Internal=0;
Informations.InternalHigh=0;
Informations.Offset=0;
Informations.OffsetHigh=0;
Informations.hEvent=0;
if (!ConnectNamedPipe(TuyauNomme, &Informations))
{
...
}
...
if (DisconnectNamedPipe(Handle))
{
...
}
...
CloseHandle(Handle);