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