Syntaxe
APIRET DosCallNPipe(PSZ pszName, PVOID pInbuf, ULONG cbIn, PVOID pOutbuf, ULONG cbOut, PULONG pcbActual, ULONG msec);
|
Paramètres
Nom |
Description |
pszName |
Ce paramètre permet d'indiquer le nom ASCIZ du tuyau à ouvrir. |
pInbuf |
Ce paramètre permet d'indiquer un pointeur vers un tampon allant écrire dans le tuyau. |
cbIn |
Ce paramètre permet d'indiquer le nombre d'octets allant être écrit dans le tuyau. |
pOutbuf |
Ce paramètre permet d'indiquer un pointeur vers un tampon allant retourner des données. |
cbOut |
Ce paramètre permet d'indiquer le nombre maximal d'octets pouvant être retourné. |
pcbActual |
Ce paramètre permet d'indiquer un pointeur vers un ULONG, lequel contient le nombre d'octets actuellement lue lors du retour. |
msec |
Ce paramètre permet d'indiquer le temps maximum, en millisecondes, à attendre après un instance de tuyau pour sa disponibilité. |
Retour
Valeur |
Constante |
Description |
0 |
NO_ERROR |
Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
11 |
ERROR_BAD_FORMAT |
Cette valeur permet d'indiquer qu'une erreur de mauvais format s'est produite. |
95 |
ERROR_INTERRUPT |
Cette valeur permet d'indiquer qu'une erreur d'interruption s'est produite. |
230 |
ERROR_BAD_PIPE |
Cette valeur permet d'indiquer qu'une erreur de mauvais tuyau s'est produite. |
231 |
ERROR_PIPE_BUSY |
Cette valeur permet d'indiquer qu'une erreur de tuyau occupé s'est produite. |
233 |
ERROR_PIPE_NOT_CONNECTED |
Cette valeur permet d'indiquer qu'une erreur de tuyau non connecté s'est produite. |
234 |
ERROR_MORE_DATA |
Cette valeur permet d'indiquer qu'une erreur de trop de données s'est produite. |
Description
Cette fonction permet de fabriquer une procédure d'appel dans un tuyau de message duplex.
Remarques
- La fonction DosCallNPipe combine les fonctions de DosOpen, DosTransactNPipe et
DosClose pour un canal de message duplex. Si aucune instance de canal n'est disponible, la fonction DosCallNPipe attend un intervalle de temps
spécifié et renvoie la constante de code d'erreur ERROR_INTERRUPT si l'intervalle de temps s'est passé.
- Si cette fonction est émise pour un canal n'étant pas un canal de message duplex, la constante de code d'erreur ERROR_BAD_FORMAT est renvoyé.
- Si un nom de canal non valide est spécifié, la fonction DosCallNPipe renvoie la constante de code d'erreur ERROR_FILE_NOT_FOUND.
- Si le paramètre pOutbuf est trop petit pour contenir le message de réponse, la constante de code d'erreur ERROR_MORE_DATA est renvoyé.
- Si le processus serveur n'a pas émis d'appel de fonction DosConnectNPipe pour mettre le canal dans un état d'écoute, la fonction
DosCallNPipe renvoie la constante ERROR_PIPE_BUSY.
- Les clients des canaux nommés créés avec le mode d'accès NP_ACCESS_OUTBOUND ou NP_ACCESS_INBOUND ne peuvent pas utiliser la fonction DosCallNPipe. Si le client du
canal nommé utilise la fonction DosCallNPipe, la fonction renvoie la constante de code d'erreur ERROR_ACCESS_DENIED.
- La constante de code d'erreur ERROR_BAD_PIPE est retourné si vous spécifiez un nom ou un descripteur de fichier non valide.
Voir également
Langage de programmation - C pour OS/2 - DosConnectNPipe
Langage de programmation - C pour OS/2 - DosClose
Langage de programmation - C pour OS/2 - DosCreateNPipe
Langage de programmation - C pour OS/2 - DosDisConnectNPipe
Langage de programmation - C pour OS/2 - DosDupHandle
Langage de programmation - C pour OS/2 - DosOpen
Langage de programmation - C pour OS/2 - DosPeekNPipe
Langage de programmation - C pour OS/2 - DosQueryNPHState
Langage de programmation - C pour OS/2 - DosQueryNPipeInfo
Langage de programmation - C pour OS/2 - DosQueryNPipeSemState
Langage de programmation - C pour OS/2 - DosRead
Langage de programmation - C pour OS/2 - DosResetBuffer
Langage de programmation - C pour OS/2 - DosSetNPHState
Langage de programmation - C pour OS/2 - DosSetNPipeSem
Langage de programmation - C pour OS/2 - DosTransactNPipe
Langage de programmation - C pour OS/2 - DosWaitNPipe
Langage de programmation - C pour OS/2 - DosWrite
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010