SysPipeWindowsOpen (FUN)

FUNCTION SysPipeWindowsOpen : RTS_IEC_HANDLE

Open a named pipe Implementation internal: If overlapped, then also create event for overlapped mode. The function returns a handle to a SysPipeWindows instance that can be used to access the named pipe. If the CreateNamedPipe function was not successfully called on the server prior to this operation, a pipe will not exist and SysPipeWindowsOpen will fail with ERR_NO_OBJECT (0x10) in pResult. Implementation internal: A SysPipeWindows instance holds

  • a handle to the pipe file

  • an instance of the OVERLAPPED structure with a handle to an event for overlapped mode

InOut:

Scope

Name

Type

Comment

Return

SysPipeWindowsOpen

RTS_IEC_HANDLE

Input

pszName

STRING

Pipe name

dwAccessMode

DWORD

Access mode - SysPipe_Interfaces.SYSPIPE_OPEN_READ - SysPipe_Interfaces.SYSPIPE_OPEN_WRITE - SysPipe_Interfaces.SYSPIPE_OPEN_READ OR SysPipe_Interfaces.SYSPIPE_OPEN_WRITE

xOverlapped

BOOL

TRUE: Overlapped mode (asynchronous). FALSE: Synchronous mode. See: https://docs.microsoft.com/en-us/windows/win32/ipc/named-pipe-open-modes

pResult

POINTER TO RTS_IEC_RESULT

Error code:
  • ERR_OK: Success

  • ERR_PARAMETER: If one of the parameters is invalid (szName = NULL).

  • ERR_END_OF_OBJECT: Pipe doesn’t exist because the CreateNamedPipe function was not successfully called on the server prior to this operation.

  • ERR_DUPLICATE: Named pipe object already exists. A valid handle to this object is returned here.

  • ERR_OUT_OF_LIMITS: There is at least one active pipe instance but there are no available listener pipes on the server, which means all pipe instances are currently connected.

  • ERR_FAILED: Any other error (see log)