Ignore:
Timestamp:
Jul 12, 2000, 8:21:45 PM (25 years ago)
Author:
sandervl
Message:

PD: added handlemanager support for named & unnamed pipes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/npipe.cpp

    r3768 r3819  
    1 /* $Id: npipe.cpp,v 1.8 2000-06-28 21:05:56 phaller Exp $ */
     1/* $Id: npipe.cpp,v 1.9 2000-07-12 18:21:44 sandervl Exp $ */
    22/*
    33 * Win32 Named pipes API
     
    1515#include <heapstring.h>
    1616#include <options.h>
     17#include <HandleManager.h>
    1718#include "debugtools.h"
    1819#include "oslibdos.h"
     20
    1921
    2022#define DBG_LOCALLOG    DBG_npipe
     
    3234                                 LPDWORD,lpcbMessage)
    3335{
    34   return(OSLibDosPeekNamedPipe(hPipe,lpvBuffer,cbBuffer,lpcbRead,lpcbAvail,lpcbMessage));
     36  return (HMPeekNamedPipe(hPipe,lpvBuffer,cbBuffer,lpcbRead,lpcbAvail,lpcbMessage));
    3537}
    3638//******************************************************************************
     
    4345              DWORD,                cbPipe)
    4446{
    45   // @@@PH Note: HandleManager support is missing!
    46  
    47   if(!OSLibDosCreatePipe(phRead,
    48                           phWrite,
    49                           lpsa,
    50                           cbPipe))
    51     return TRUE;
    52   else
    53     return(FALSE);
     47  return (HMCreatePipe(phRead,phWrite,lpsa,cbPipe));
    5448}
    5549
     
    6054                                     DWORD, nMaxInstances, DWORD, nOutBufferSize,
    6155                                     DWORD, nInBufferSize, DWORD, nDefaultTimeOut,
    62                                      void*, lpSecurityAttributes)
    63 
    64 {
    65   HANDLE hPipe;
    66 
    67   hPipe = OSLibDosCreateNamedPipe(lpName,
    68                                   dwOpenMode,
    69                                   dwPipeMode,
    70                                   nMaxInstances,
    71                                   nOutBufferSize,
    72                                   nInBufferSize,
    73                                   nDefaultTimeOut,
    74                                   lpSecurityAttributes);
    75 
    76   return hPipe;
     56                                     LPSECURITY_ATTRIBUTES, lpSecurityAttributes)
     57
     58{
     59  return (HMCreateNamedPipe(lpName,
     60                            dwOpenMode,
     61                            dwPipeMode,
     62                            nMaxInstances,
     63                            nOutBufferSize,
     64                            nInBufferSize,
     65                            nDefaultTimeOut,
     66                            lpSecurityAttributes));
    7767
    7868}
     
    8272                                     DWORD, nMaxInstances, DWORD, nOutBufferSize,
    8373                                     DWORD, nInBufferSize, DWORD, nDefaultTimeOut,
    84                                      void *,lpSecurityAttributes)
     74                                     LPSECURITY_ATTRIBUTES,lpSecurityAttributes)
    8575{
    8676  char *asciiname;
     
    8979  asciiname  = UnicodeToAsciiString((LPWSTR)lpName);
    9080
    91   hPipe=OSLibDosCreateNamedPipe(asciiname,
    92                            dwOpenMode,
    93                            dwPipeMode,
    94                            nMaxInstances,
    95                            nOutBufferSize,
    96                            nInBufferSize,
    97                            nDefaultTimeOut,
    98                            lpSecurityAttributes);
     81  hPipe=HMCreateNamedPipe(asciiname,
     82                          dwOpenMode,
     83                          dwPipeMode,
     84                          nMaxInstances,
     85                          nOutBufferSize,
     86                          nInBufferSize,
     87                          nDefaultTimeOut,
     88                          lpSecurityAttributes);
    9989
    10090  FreeAsciiString(asciiname);
     
    123113 * Author    : Przemyslaw Dobrowolski [Sun, 2000/01/02 12:48]
    124114 *****************************************************************************/
    125 
    126115ODINFUNCTION2(BOOL,ConnectNamedPipe,HANDLE,hNamedPipe, LPOVERLAPPED,lpOverlapped)
    127116{
    128   return (OSLibDosConnectNamedPipe(hNamedPipe,lpOverlapped));
     117  return (HMConnectNamedPipe(hNamedPipe,lpOverlapped));
    129118}
    130119
     
    238227  return(rc);
    239228}
     229
    240230/*****************************************************************************
    241231 * Name      : BOOL WIN32API DisconnectNamedPipe
     
    254244ODINFUNCTION1(BOOL,DisconnectNamedPipe,HANDLE,hNamedPipe)
    255245{
    256   return (OSLibDosDisconnectNamedPipe(hNamedPipe));
     246  return (HMDisconnectNamedPipe(hNamedPipe));
    257247}
    258248
     
    285275                                          DWORD   nMaxUserNameSize)
    286276{
    287   dprintf(("KERNEL32: GetNamedPipeHandleStateA(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh,%08xh) not implemented (yet)\n",
    288            hNamedPipe,
    289            lpState,
    290            lpCurInstances,
    291            lpMaxCollectionCount,
    292            lpCollectDataTimeout,
    293            lpUserName,
    294            nMaxUserNameSize));
    295 
    296   return (FALSE);
     277  // Not implemented but waiting to implementation in hmnpipe.cpp
     278  return ( HMGetNamedPipeHandleState( hNamedPipe,
     279                                       lpState,
     280                                       lpCurInstances,
     281                                       lpMaxCollectionCount,
     282                                       lpCollectDataTimeout,
     283                                       lpUserName,
     284                                       nMaxUserNameSize));
    297285}
    298286
     
    326314                                          DWORD   nMaxUserNameSize)
    327315{
    328   dprintf(("KERNEL32: GetNamedPipeHandleStateW(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh,%08xh) not implemented\n",
    329            hNamedPipe,
    330            lpState,
    331            lpCurInstances,
    332            lpMaxCollectionCount,
    333            lpCollectDataTimeout,
    334            lpUserName,
    335            nMaxUserNameSize));
    336 
    337   return (FALSE);
     316  char *asciiname;
     317  BOOL rc;
     318
     319  asciiname  = UnicodeToAsciiString((LPWSTR)lpUserName);
     320
     321  // Not implemented but waiting to implementation in hmnpipe.cpp
     322  rc= HMGetNamedPipeHandleState( hNamedPipe,
     323                                  lpState,
     324                                  lpCurInstances,
     325                                  lpMaxCollectionCount,
     326                                  lpCollectDataTimeout,
     327                                  asciiname,
     328                                  nMaxUserNameSize);
     329
     330
     331  FreeAsciiString(asciiname);
     332
     333  return (rc);
    338334}
    339335
     
    361357                                  LPDWORD lpMaxInstances)
    362358{
    363   dprintf(("KERNEL32: GetNamedPipeInfo(%08xh,%08xh,%08xh,%08xh,%08xh) not implemented\n",
    364            hNamedPipe,
    365            lpFlags,
    366            lpOutBufferSize,
    367            lpInBufferSize,
    368            lpMaxInstances));
    369 
    370   return (FALSE);
     359  // Not implemented but waiting to implementation in hmnpipe.cpp
     360  return ( HMGetNamedPipeInfo( hNamedPipe,
     361                               lpFlags,
     362                               lpOutBufferSize,
     363                               lpInBufferSize,
     364                               lpMaxInstances));
     365
    371366}
    372367
     
    395390                                      LPDWORD lpdwCollectDataTimeout)
    396391{
    397   dprintf(("KERNEL32: SetNamedPipeHandleState(%08xh,%08xh,%08xh,%08xh) not implemented.\n",
    398            hNamedPipe,
    399            lpdwMode,
    400            lpcbMaxCollect,
    401            lpdwCollectDataTimeout));
    402 
    403   return (FALSE);
     392  // Not implemented but waiting to implementation in hmnpipe.cpp
     393  return ( HMSetNamedPipeHandleState( hNamedPipe,
     394                               lpdwMode,
     395                               lpcbMaxCollect,
     396                               lpdwCollectDataTimeout));
    404397}
    405398
     
    432425                                      LPOVERLAPPED,lpo)
    433426{
    434   return(OSLibDosTransactNamedPipe( hNamedPipe,
    435                                     lpvWriteBuf,
    436                                     cbWriteBuf,
    437                                     lpvReadBuf,
    438                                     cbReadBuf,
    439                                     lpcbRead,
    440                                     lpo));
    441 
     427  return(HMTransactNamedPipe( hNamedPipe,
     428                              lpvWriteBuf,
     429                              cbWriteBuf,
     430                              lpvReadBuf,
     431                              cbReadBuf,
     432                              lpcbRead,
     433                              lpo));
    442434}
    443435
Note: See TracChangeset for help on using the changeset viewer.