UDF > NamedPipes >


_NamedPipes_CreateNamedPipe

Crée une instance d'un pipe nommé

#include <NamedPipes.au3>
_NamedPipes_CreateNamedPipe ( $sName [, $iAccess = 2 [, $iFlags = 2 [, $iACL = 0 [, $iType = 1 [, $iRead = 1 [, $iWait = 0 [, $iMaxInst = 25 [, $iOutBufSize = 4096 [, $iInpBufSize = 4096 [, $iDefaultTimeout = 5000 [, $tSecurity = 0]]]]]]]]]]] )

Paramètres

$sName Nom du pipe avec le format suivant: \\.\pipe\pipename.
La partie 'pipename' du nom peut comporter n'importe quel caractère autre qu'une barre oblique inverse, y compris les nombres et les caractères spéciaux.
La chaîne 'pipe' peut avoir jusqu'à 256 caractères.
Les noms de pipe ne sont pas sensibles à la casse.
$iAccess [optionnel] Le mode d'accès au Pipe. Doit être l'un des suivants:
    0 - Le flux de données dans le pipe va uniquement du client vers le serveur (entrant)
    1 - Le flux de données dans le pipe va uniquement du serveur vers le client (sortant)
    2 - Le pipe est bidirectionnel (duplex)
$iFlags [optionnel] Les options du pipe. Peut prendre pour valeur une combinaison des valeurs suivantes:
    1 - Si vous tentez de créer plusieurs instances d'un pipe avec ce flag, la création de la première instance réussit, mais la création de l'instance suivante échoue.
    2 - Active le mode recouvrement. Si ce mode est activé, les fonctions des opérations de lecture, d'écriture et de connexion qui peuvent prendre un temps significatif pour s'achever peuvent retourner immédiatement.
    4 - Active le mode écriture. Ce mode ne concerne que les opérations d'écriture sur les pipes de type octet et seulement lorsque le client et le serveur sont sur des ordinateurs différents.
$iACL [optionnel] Options de sécurité ACL. Peut être n'importe quelle combinaison des options suivantes:
    1 - L'appelant aura accès en écriture à l'ACL discrétionnaire du Pipe nommé
    2 - L'appelant aura accès en écriture au propriétaire du pipe nommé
    4 - L'appelant aura accès en écriture à l'ACL de sécurité du pipe nommé
$iType [optionnel] Mode type de pipe. Doit être l'un des suivants :
    0 - Les données sont écrites dans le pipe comme un flux d'octets
    1 - Les données sont écrites dans le pipe comme un flux de messages
$iRead [optionnel] Mode de lecture du pipe. Doit être l'un des suivants:
    0 - Les données sont lues à partir du pipe comme un flux d'octets
    1 - Les données sont lues à partir du pipe comme un flux de messages
$iWait [optionnel] Mode d'attente du pipe. Doit être l'un des suivants:
    0 - Active le mode blocage. Lorsque le handle du pipe est spécifié dans _WinAPI_ReadFile(), _WinAPI_WriteFile(), ou _NamesPipes_ConnectNamedPipe, l'opération n'est pas terminée jusqu'à ce que toutes les données soient lues, toutes les données écrites, ou un client connecté.
    1 - Active le mode non bloquant. _WinAPI_ReadFile(), _WinAPI_WriteFile(), et _NamesPipes_ConnectNamedPipe retournent toujours immédiatement.
$iMaxInst [optionnel] Nombre maximal d'instances qui peuvent être créées pour ce pipe
$iOutBufSize [optionnel] Nombre d'octets à réserver pour le tampon de sortie
$iInpBufSize [optionnel] Nombre d'octets à réserver pour le tampon d'entrée
$iDefaultTimeOut [optionnel] Valeur par défaut du hors délai, en millisecondes
$tSecurity [optionnel] Une structure $tagSECURITY_ATTRIBUTES qui spécifie un descripteur de sécurité pour le nouveau pipe nommé et détermine si les processus enfants peuvent hériter du handle retourné.
Si $tSecurity est 0, le pipe nommé obtient un descripteur de sécurité par défaut et le handle ne peut pas être héritée.
Les ACLs dans le descripteur de sécurité par défaut pour un pipe nommé accordent un contrôle total aux administrateurs de compte LocalSystem et au propriétaire du créateur.
Ils accordent également un accès en lecture aux membres du groupe Everyone et un compte anonyme.

Valeur de retour

Succès: Retourne le handle de la fin du serveur d'une instance du pipe nommé.
Échec: Retourne -1.

En relation

$tagSECURITY_ATTRIBUTES, _NamedPipes_ConnectNamedPipe, _NamedPipes_CreatePipe

Voir aussi

Consultez CreateNamedPipe dans la librairie MSDN.