Reactos
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
11typedef struct IRAPIStream
12{
13 struct IRAPIStreamVtbl * lpVtbl;
14} IRAPIStream;
15
16typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
17
18typedef enum tagRAPISTREAMFLAG
19{
20 STREAM_TIMEOUT_READ
21} RAPISTREAMFLAG;
22
23struct IRAPIStreamVtbl
24{
25 HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
26 HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
27};
28
29typedef HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream *);
30
31typedef struct _RAPIINIT
32{
33 DWORD cbSize;
34 HANDLE heRapiInit;
35 HRESULT hrRapiInit;
36} RAPIINIT;
37
38STDAPI CeRapiInit (void);
39STDAPI CeRapiInitEx (RAPIINIT*);
40STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
41 BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
42STDAPI CeRapiUninit (void);
43
44STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
45STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
46STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
47STDAPI_(DWORD) CeGetLastError (void);
48STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
49STDAPI_(BOOL) CeCloseHandle (HANDLE);
50
51#endif /* _RAPI_H */