source: Daodan/MinGW/include/rapi.h@ 1106

Last change on this file since 1106 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

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