Jump to content

DosWaitNmPipe: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
{{Legacy
|RepFunc=
|Remarks=This page list the older version of the function for reference.
}}
This call waits for the availability of a named pipe instance.
This call waits for the availability of a named pipe instance.


Line 10: Line 6:
==Parameters==
==Parameters==
;FileName (PSZ) - input : Address of the ASCIIZ name of the pipe to be opened. Pipes are name \PIPE\FileName.
;FileName (PSZ) - input : Address of the ASCIIZ name of the pipe to be opened. Pipes are name \PIPE\FileName.
; TimeOut (ULONG) - input : Maximum time in milliseconds to wait for the named pipe to become available. When a zero value is used, the DosMakeNmPipe specified default value is used. When a minus one value is used, an indefinite wait is entered.
; TimeOut (ULONG) - input : Maximum time in milliseconds to wait for the named pipe to become available. When a zero value is used, the [[DosMakeNmPipe]] specified default value is used. When a minus one value is used, an indefinite wait is entered.


==Return Code==
==Return Code==
rc (USHORT) - return
;rc (USHORT) - return:Return code descriptions are:
Return code descriptions are:
* 0 NO_ERROR
* 0         NO_ERROR
* 2 ERROR_FILE_NOT_FOUND
* 2         ERROR_FILE_NOT_FOUND
* 95 ERROR_INTERRUPT
* 95         ERROR_INTERRUPT
*231 ERROR_PIPE_BUSY
* 231       ERROR_PIPE_BUSY


==Remarks==
==Remarks==
Line 27: Line 22:
When a pipe instance becomes available, it is given to the process whose thread has the highest priority. The priority of a thread may be changed with [[DosSetPrty]].
When a pipe instance becomes available, it is given to the process whose thread has the highest priority. The priority of a thread may be changed with [[DosSetPrty]].


==Example Code==
==Bindings==
===C Binding===
===C===
<PRE>
<PRE>
#define INCL_DOSNMPIPES
#define INCL_DOSNMPIPES
Line 34: Line 29:
USHORT  rc = DosWaitNmPipe(FileName, TimeOut);
USHORT  rc = DosWaitNmPipe(FileName, TimeOut);


PSZ             FileName;      /* Pipe name */
PSZ     FileName;      /* Pipe name */
ULONG           TimeOut;      /* Maximum wait time */
ULONG   TimeOut;      /* Maximum wait time */


USHORT           rc;            /* return code */
USHORT rc;            /* return code */
</PRE>
</PRE>


Line 51: Line 46:
Returns WORD
Returns WORD
</PRE>
</PRE>
==Related Functions==
==Related Functions==
*  
* [[DosMakeNmPipe]]


[[Category:Dos]]
[[Category:Dos]]

Revision as of 14:18, 24 May 2019

This call waits for the availability of a named pipe instance.

Syntax

DosWaitNmPipe (FileName, TimeOut)

Parameters

FileName (PSZ) - input
Address of the ASCIIZ name of the pipe to be opened. Pipes are name \PIPE\FileName.
TimeOut (ULONG) - input
Maximum time in milliseconds to wait for the named pipe to become available. When a zero value is used, the DosMakeNmPipe specified default value is used. When a minus one value is used, an indefinite wait is entered.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 NO_ERROR
  • 2 ERROR_FILE_NOT_FOUND
  • 95 ERROR_INTERRUPT
  • 231 ERROR_PIPE_BUSY

Remarks

This call should be used only when ERROR_PIPE_BUSY is returned from a DosOpen call.

DosWaitNmPipe allows an application to wait for a server on a named pipe for which all instances are currently busy. The call waits up to TimeOut milliseconds (or a default time if TimeOut is zero).

When a pipe instance becomes available, it is given to the process whose thread has the highest priority. The priority of a thread may be changed with DosSetPrty.

Bindings

C

#define INCL_DOSNMPIPES

USHORT  rc = DosWaitNmPipe(FileName, TimeOut);

PSZ     FileName;      /* Pipe name */
ULONG   TimeOut;       /* Maximum wait time */

USHORT  rc;            /* return code */

MASM Binding

EXTRN  DosWaitNmPipe:FAR
INCL_DOSNMPIPES     EQU 1

PUSH@  ASCIIZ  FileName      ;Pipe name
PUSH   DWORD   TimeOut       ;Maximum wait time
CALL   DosWaitNmPipe

Returns WORD

Related Functions