xref: /reactos/sdk/include/psdk/rapi.h (revision 8a978a17)
1 /* rapi.h - main header file for the RAPI API
2 
3         NOTE: This strictly does not belong in the Win32 API since it's
4         really part of Platform SDK.
5 
6 */
7 
8 #ifndef _RAPI_H
9 #define _RAPI_H
10 
11 typedef struct IRAPIStream
12 {
13   struct IRAPIStreamVtbl * lpVtbl;
14 } IRAPIStream;
15 
16 typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
17 
18 typedef enum tagRAPISTREAMFLAG
19 {
20   STREAM_TIMEOUT_READ
21 } RAPISTREAMFLAG;
22 
23 struct IRAPIStreamVtbl
24 {
25   HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
26   HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
27 };
28 
29 typedef  HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream	*);
30 
31 typedef struct _RAPIINIT
32 {
33   DWORD cbSize;
34   HANDLE heRapiInit;
35   HRESULT hrRapiInit;
36 } RAPIINIT;
37 
38 STDAPI CeRapiInit (void);
39 STDAPI CeRapiInitEx (RAPIINIT*);
40 STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
41 			       BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
42 STDAPI CeRapiUninit (void);
43 
44 STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
45 STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
46 STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
47 STDAPI_(DWORD) CeGetLastError (void);
48 STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
49 STDAPI_(BOOL) CeCloseHandle (HANDLE);
50 
51 #endif /* _RAPI_H */
52