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

Last change on this file since 7029 was 5587, checked in by sandervl, 24 years ago

added mailslot implemenation, named pipe fixes + FreeLibraryAndExitThread

File size: 3.5 KB
Line 
1/* $Id: hmnpipe.h,v 1.2 2001-04-26 13:22:46 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 /* this is a handler method for calls to CreateFile() */
32 virtual DWORD CreateFile (LPCSTR lpFileName,
33 PHMHANDLEDATA pHMHandleData,
34 PVOID lpSecurityAttributes,
35 PHMHANDLEDATA pHMHandleDataTemplate);
36
37 /* this is a handler method for calls to CloseHandle() */
38 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
39
40 virtual BOOL ConnectNamedPipe(PHMHANDLEDATA pHMHandleData, LPOVERLAPPED lpOverlapped);
41
42 virtual BOOL DisconnectNamedPipe(PHMHANDLEDATA pHMHandleData);
43
44 virtual BOOL GetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
45 LPDWORD lpState,
46 LPDWORD lpCurInstances,
47 LPDWORD lpMaxCollectionCount,
48 LPDWORD lpCollectDataTimeout,
49 LPTSTR lpUserName,
50 DWORD nMaxUserNameSize);
51
52 virtual BOOL GetNamedPipeInfo(PHMHANDLEDATA pHMHandleData,
53 LPDWORD lpFlags,
54 LPDWORD lpOutBufferSize,
55 LPDWORD lpInBufferSize,
56 LPDWORD lpMaxInstances);
57
58
59 virtual DWORD TransactNamedPipe(PHMHANDLEDATA pHMHandleData,
60 LPVOID lpvWriteBuf,
61 DWORD cbWriteBuf,
62 LPVOID lpvReadBuf,
63 DWORD cbReadBuf,
64 LPDWORD lpcbRead,
65 LPOVERLAPPED lpo);
66
67 virtual BOOL SetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
68 LPDWORD lpdwMode,
69 LPDWORD lpcbMaxCollect,
70 LPDWORD lpdwCollectDataTimeout);
71
72 virtual BOOL GetOverlappedResult (PHMHANDLEDATA pHMHandleData,
73 LPOVERLAPPED lpOverlapped,
74 LPDWORD arg3,
75 BOOL arg4);
76
77 virtual BOOL CreatePipe(PHMHANDLEDATA pHMHandleDataRead,
78 PHMHANDLEDATA pHMHandleDataWrite,
79 LPSECURITY_ATTRIBUTES lpsa,
80 DWORD cbPipe);
81
82
83};
84
85
86#endif // _HM_NPIPE_H_
Note: See TracBrowser for help on using the repository browser.