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

Last change on this file since 7360 was 7293, checked in by sandervl, 24 years ago

CreateFile for named pipes fix

File size: 3.5 KB
Line 
1/* $Id: hmnpipe.h,v 1.3 2001-11-07 15:35:37 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);
18
19 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength) ;
20
21 virtual BOOL PeekNamedPipe(PHMHANDLEDATA pHMHandleData,
22 LPVOID lpvBuffer,
23 DWORD cbBuffer,
24 LPDWORD lpcbRead,
25 LPDWORD lpcbAvail,
26 LPDWORD lpcbMessage);
27
28 virtual DWORD CreateNamedPipe(PHMHANDLEDATA pHMHandleData, LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
29 DWORD nMaxInstances, DWORD nOutBufferSize,
30 DWORD nInBufferSize, DWORD nDefaultTimeOut,
31 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
32
33 /* this is a handler method for calls to CreateFile() */
34 virtual DWORD CreateFile (LPCSTR lpFileName,
35 PHMHANDLEDATA pHMHandleData,
36 PVOID lpSecurityAttributes,
37 PHMHANDLEDATA pHMHandleDataTemplate);
38
39 /* this is a handler method for calls to CloseHandle() */
40 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
41
42 virtual BOOL ConnectNamedPipe(PHMHANDLEDATA pHMHandleData, LPOVERLAPPED lpOverlapped);
43
44 virtual BOOL DisconnectNamedPipe(PHMHANDLEDATA pHMHandleData);
45
46 virtual BOOL GetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
47 LPDWORD lpState,
48 LPDWORD lpCurInstances,
49 LPDWORD lpMaxCollectionCount,
50 LPDWORD lpCollectDataTimeout,
51 LPTSTR lpUserName,
52 DWORD nMaxUserNameSize);
53
54 virtual BOOL GetNamedPipeInfo(PHMHANDLEDATA pHMHandleData,
55 LPDWORD lpFlags,
56 LPDWORD lpOutBufferSize,
57 LPDWORD lpInBufferSize,
58 LPDWORD lpMaxInstances);
59
60
61 virtual DWORD TransactNamedPipe(PHMHANDLEDATA pHMHandleData,
62 LPVOID lpvWriteBuf,
63 DWORD cbWriteBuf,
64 LPVOID lpvReadBuf,
65 DWORD cbReadBuf,
66 LPDWORD lpcbRead,
67 LPOVERLAPPED lpo);
68
69 virtual BOOL SetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
70 LPDWORD lpdwMode,
71 LPDWORD lpcbMaxCollect,
72 LPDWORD lpdwCollectDataTimeout);
73
74 virtual BOOL GetOverlappedResult (PHMHANDLEDATA pHMHandleData,
75 LPOVERLAPPED lpOverlapped,
76 LPDWORD arg3,
77 BOOL arg4);
78
79 virtual BOOL CreatePipe(PHMHANDLEDATA pHMHandleDataRead,
80 PHMHANDLEDATA pHMHandleDataWrite,
81 LPSECURITY_ATTRIBUTES lpsa,
82 DWORD cbPipe);
83
84
85};
86
87
88#endif // _HM_NPIPE_H_
Note: See TracBrowser for help on using the repository browser.