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