| /* rapi.h - main header file for the RAPI API |
| |
| NOTE: This strictly does not belong in the Win32 API since it's |
| really part of Platform SDK. |
| |
| */ |
| |
| #ifndef _RAPI_H |
| #define _RAPI_H |
| #if __GNUC__ >=3 |
| #pragma GCC system_header |
| #endif |
| |
| typedef struct IRAPIStream |
| { |
| struct IRAPIStreamVtbl * lpVtbl; |
| } IRAPIStream; |
| |
| typedef struct IRAPIStreamVtbl IRAPIStreamVtbl; |
| |
| typedef enum tagRAPISTREAMFLAG |
| { |
| STREAM_TIMEOUT_READ |
| } RAPISTREAMFLAG; |
| |
| struct IRAPIStreamVtbl |
| { |
| HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD); |
| HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *); |
| }; |
| |
| typedef HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream *); |
| |
| typedef struct _RAPIINIT |
| { |
| DWORD cbSize; |
| HANDLE heRapiInit; |
| HRESULT hrRapiInit; |
| } RAPIINIT; |
| |
| STDAPI CeRapiInit (void); |
| STDAPI CeRapiInitEx (RAPIINIT*); |
| STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, |
| BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION); |
| STDAPI CeRapiUninit (void); |
| |
| STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); |
| STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); |
| STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES); |
| STDAPI_(DWORD) CeGetLastError (void); |
| STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); |
| STDAPI_(BOOL) CeCloseHandle (HANDLE); |
| |
| #endif /* _RAPI_H */ |