source: trunk/src/kernel32/hmnpipe.h@ 4606

Last change on this file since 4606 was 3819, checked in by sandervl, 25 years ago

PD: added handlemanager support for named & unnamed pipes

File size: 3.1 KB
Line 
1/* $Id: hmnpipe.h,v 1.1 2000-07-12 18:21:44 sandervl Exp $ */
2/*
3 * Project Odin Software License can be found in LICENSE.TXT
4 *
5 * Win32 Named Pipes device access class
6 *
7 * Copyright 2000 Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
8 *
9 */
10
11#ifndef _HM_NPIPE_H_
12#define _HM_NPIPE_H_
13
14class HMDeviceNamedPipeClass : public HMDeviceFileClass
15{
16 public:
17 HMDeviceNamedPipeClass(LPCSTR lpDeviceName) : HMDeviceFileClass(lpDeviceName) {}
18
19 virtual BOOL PeekNamedPipe(PHMHANDLEDATA pHMHandleData,
20 LPVOID lpvBuffer,
21 DWORD cbBuffer,
22 LPDWORD lpcbRead,
23 LPDWORD lpcbAvail,
24 LPDWORD lpcbMessage);
25
26 virtual DWORD CreateNamedPipe(PHMHANDLEDATA pHMHandleData, LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
27 DWORD nMaxInstances, DWORD nOutBufferSize,
28 DWORD nInBufferSize, DWORD nDefaultTimeOut,
29 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
30
31 virtual BOOL ConnectNamedPipe(PHMHANDLEDATA pHMHandleData, LPOVERLAPPED lpOverlapped);
32
33 virtual BOOL DisconnectNamedPipe(PHMHANDLEDATA pHMHandleData);
34
35 virtual BOOL GetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
36 LPDWORD lpState,
37 LPDWORD lpCurInstances,
38 LPDWORD lpMaxCollectionCount,
39 LPDWORD lpCollectDataTimeout,
40 LPTSTR lpUserName,
41 DWORD nMaxUserNameSize);
42
43 virtual BOOL GetNamedPipeInfo(PHMHANDLEDATA pHMHandleData,
44 LPDWORD lpFlags,
45 LPDWORD lpOutBufferSize,
46 LPDWORD lpInBufferSize,
47 LPDWORD lpMaxInstances);
48
49
50 virtual DWORD TransactNamedPipe(PHMHANDLEDATA pHMHandleData,
51 LPVOID lpvWriteBuf,
52 DWORD cbWriteBuf,
53 LPVOID lpvReadBuf,
54 DWORD cbReadBuf,
55 LPDWORD lpcbRead,
56 LPOVERLAPPED lpo);
57
58 virtual BOOL SetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
59 LPDWORD lpdwMode,
60 LPDWORD lpcbMaxCollect,
61 LPDWORD lpdwCollectDataTimeout);
62
63 virtual BOOL GetOverlappedResult (PHMHANDLEDATA pHMHandleData,
64 LPOVERLAPPED lpOverlapped,
65 LPDWORD arg3,
66 BOOL arg4);
67
68 virtual BOOL CreatePipe(PHMHANDLEDATA pHMHandleDataRead,
69 PHMHANDLEDATA pHMHandleDataWrite,
70 LPSECURITY_ATTRIBUTES lpsa,
71 DWORD cbPipe);
72
73
74};
75
76
77#endif // _HM_NPIPE_H_
Note: See TracBrowser for help on using the repository browser.