DosQNmPipeInfo: Difference between revisions
Appearance
mNo edit summary |
mNo edit summary |
||
Line 18: | Line 18: | ||
==Return Code== | ==Return Code== | ||
;rc (USHORT) - return:Return code descriptions are: | ;rc (USHORT) - return:Return code descriptions are: | ||
* 0 | *0 NO_ERROR | ||
* 111 ERROR_BUFFER_OVERFLOW | *111 ERROR_BUFFER_OVERFLOW | ||
* 124 ERROR_INVALID_LEVEL | *124 ERROR_INVALID_LEVEL | ||
* 230 ERROR_BAD_PIPE | *230 ERROR_BAD_PIPE | ||
==Remarks== | ==Remarks== | ||
Line 31: | Line 31: | ||
===C=== | ===C=== | ||
<PRE> | <PRE> | ||
typedef struct npi_data1 { | typedef struct npi_data1 { /* PipeInfo data block (returned, level 1) */ | ||
USHORT npi_obuflen; | USHORT npi_obuflen; /* length of outgoing I/O buffer */ | ||
USHORT npi_ibuflen; | USHORT npi_ibuflen; /* length of incoming I/O buffer */ | ||
UCHAR npi_maxicnt; | UCHAR npi_maxicnt; /* maximum number of instances */ | ||
UCHAR npi_curicnt; | UCHAR npi_curicnt; /* current number of instances */ | ||
UCHAR npi_namlen; | UCHAR npi_namlen; /* length of pipe name */ | ||
CHAR npi_name[1]; | CHAR npi_name[1]; /* start of name */ | ||
}; /* npi_data1 */ | }; /* npi_data1 */ | ||
Line 66: | Line 66: | ||
</PRE> | </PRE> | ||
[[Category:Dos16]] | |||
[[Category: |
Latest revision as of 06:19, 26 January 2020
This call returns information for a named pipe.
Syntax
DosQNmPipeInfo (Handle, InfoLevel, InfoBuf, InfoBufSize)
Parameters
- Handle (HPIPE) - input
- Handle of the named pipe that is returned by DosMakeNmPipe or DosOpen.
- InfoLevel (USHORT) - input
- Level of the required pipe information. Only level 1 file information is supported.
- InfoBuf (PBYTE) - output
- Address of the storage area that returns the requested level of named pipe information. For InfoLevel = 1, file information is returned in the following format:
- outbufsize (USHORT): Actual size of buffer for outgoing I/O.
- inbufsize (USHORT) : Actual size of buffer for ingoing I/O.
- maxnuminstances (UCHAR) : Maximum allowed number of pipe instances.
- numinstances (UCHAR) : Current number of pipe instances.
- namelength (UCHAR) : Length of pipe name.
- pipename (CHAR) : Name of pipe (including \\ComputerName, if remote).
- InfoBufSize (USHORT) - input
- Length of InfoBuf.
Return Code
- rc (USHORT) - return
- Return code descriptions are:
- 0 NO_ERROR
- 111 ERROR_BUFFER_OVERFLOW
- 124 ERROR_INVALID_LEVEL
- 230 ERROR_BAD_PIPE
Remarks
DosQNmPipeInfo returns all the information that fits in InfoBuf.
For level 1 information, if the length of the name of the pipe is greater than 255 bytes, then a length of zero is returned in the length field. The full ASCIIZ name will still be returned in this case.
Bindings
C
typedef struct npi_data1 { /* PipeInfo data block (returned, level 1) */ USHORT npi_obuflen; /* length of outgoing I/O buffer */ USHORT npi_ibuflen; /* length of incoming I/O buffer */ UCHAR npi_maxicnt; /* maximum number of instances */ UCHAR npi_curicnt; /* current number of instances */ UCHAR npi_namlen; /* length of pipe name */ CHAR npi_name[1]; /* start of name */ }; /* npi_data1 */ #define INCL_DOSNMPIPES USHORT rc = DosQNmPipeInfo(Handle, InfoLevel, InfoBuf, InfoBufSize); HPIPE Handle; /* Pipe handle */ USHORT InfoLevel; /* Pipe data required */ PBYTE InfoBuf; /* Pipe data buffer */ USHORT InfoBufSize; /* Pipe data buffer size */ USHORT rc; /* return code */
MASM
EXTRN DosQNmPipeInfo:FAR INCL_DOSNMPIPES EQU 1 PUSH WORD Handle ;Pipe handle PUSH WORD InfoLevel ;Pipe data required PUSH@ OTHER InfoBuf ;Pipe data buffer PUSH WORD InfoBufSize ;Pipe data buffer size CALL DosQNmPipeInfo Returns WORD