DosPeekNPipe |
DOS : Tuyau |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
APIRET DosPeekNPipe( HPIPE hpipeHandle, PVOID pBuffer, ULONG ulBufferLen, PULONG pBytesRead, PAVAILDATA pBytesAvail, PULONG pPipeState ); |
Paramètres
Nom | Description | ||
---|---|---|---|
hpipeHandle | Ce paramètre permet d'indiquer un Handle d'un tuyau nommé à examiné. | ||
pBuffer | Ce paramètre permet d'indiquer un pointeur vers un tampon de sortie. | ||
ulBufferLen | Ce paramètre permet d'indiquer le nombre d'octets à lire. | ||
pBytesRead | Ce paramètre permet d'indiquer un pointeur à une variable contenant le nombre d'octets actuellement lue. | ||
pBytesAvail | Ce paramètre permet d'indiquer un pointeur à un tampon de 4 octets. La structure a la signification suivante : | ||
Bits | Description | ||
0 à 15 | Ces bits permettent d'indiquer le nombre d'octets dans le message courant. | ||
16 à 31 | Ces bits permettent d'indiquer le nombre d'octets dans le tuyau. | ||
pPipeState | Ce paramètre permet d'indiquer un pointeur à une valeur, représentant l'état d'un tuyau nommé : | ||
Valeur | Description | ||
1 | Cette valeur permet d'indiquer un (NP_STATE_DISCONNECTED) moyen déconnecté. | ||
2 | Cette valeur permet d'indiquer un (NP_STATE_LISTENING) moyen d'écoute. | ||
3 | Cette valeur permet d'indiquer un (NP_STATE_CONNECTED) moyen connecté. | ||
4 | Cette valeur permet d'indiquer un (NP_STATE_CLOSING) moyen fermé. |
Retour
Valeur | Constante | Description |
---|---|---|
0 | NO_ERROR | Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
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. |
Description
Cette fonction permet d'examiner le contenu et l'état d'un tuyau, sans changé le tuyau dans n'importe quel chemin.
Exemple
Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :
- #define INCL_DOSERRORS
- #define INCL_DOSNMPIPES
- #include "os2.h"
- #include "stdio.h"
-
- void main(void) {
- HPIPE Handle;
- UCHAR Buffer[800];
- ULONG BufferLen;
- ULONG BytesRead;
- struct _AVAILDATA BytesAvail;
- ULONG PipeState;
- switch(DosPeekNPipe( Handle, Buffer, 800, &BytesRead, &BytesAvail, &PipeState)) {
- case NO_ERROR: printf("Tout va bien !");break;
- case ERROR_BAD_PIPE: printf("Erreur : Une erreur de mauvais tuyau s'est produite.");break;
- case ERROR_PIPE_BUSY: printf("Erreur : Une erreur de tuyau occupé s'est produite.");break;
- case ERROR_PIPE_NOT_CONNECTED: printf("Erreur : Une erreur de tuyau non connecté s'est produite.");break;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosConnectNPipe
Langage de programmation - C pour OS/2 - DosCreateNPipe
Langage de programmation - C pour OS/2 - DosDisConnectNPipe
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010