Diff

Not logged in

Differences From Artifact [f5377fbd24e425cd]:

To Artifact [83d09d08acc17a2f]:


7 7 * by Stewart Gordon * 8 8 * * 9 9 * Placed into public domain * 10 10 \***********************************************************************/ 11 11 module win32.rapi; 12 12 13 13 /* Comment from MinGW 14 - NOTE: This strictly does not belong in the Win32 API since it's 15 - really part of Platform SDK. 14 + NOTE: This strictly does not belong in the Win32 API since it's 15 + really part of Platform SDK. 16 16 */ 17 17 18 18 private import win32.winbase, win32.windef; 19 19 20 -struct IRAPIStream { 21 - IRAPIStreamVtbl* lpVtbl; 22 -} 20 +extern (Windows): 23 21 24 -enum RAPISTREAMFLAG { 25 - STREAM_TIMEOUT_READ 22 +enum RAPISTREAMFLAG 23 +{ 24 + STREAM_TIMEOUT_READ 26 25 } 27 26 28 -extern (Windows) { 29 - alias HRESULT function(IRAPIStream*, RAPISTREAMFLAG, DWORD) _SetRapiStat; 30 - alias HRESULT function(IRAPIStream*, RAPISTREAMFLAG, DWORD*) _GetRapiStat; 27 +interface IRAPIStream 28 +{ 29 + HRESULT SetRapiStat(RAPISTREAMFLAG, DWORD); 30 + HRESULT GetRapiStat(RAPISTREAMFLAG, DWORD*); 31 31 } 32 32 33 -struct IRAPIStreamVtbl { 34 - _SetRapiStat SetRapiStat; 35 - _GetRapiStat GetRapiStat; 33 +alias HRESULT function(DWORD, BYTE, DWORD, BYTE, IRAPIStream) RAPIEXT; 34 + 35 +struct RAPIINIT 36 +{ 37 + DWORD cbSize = this.sizeof; 38 + HANDLE heRapiInit; 39 + HRESULT hrRapiInit; 36 40 } 37 41 38 -// FIXME: what's this? 39 -//typedef HRESULT(STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream*); 40 - 41 -struct RAPIINIT { 42 - DWORD cbSize = this.sizeof; 43 - HANDLE heRapiInit; 44 - HRESULT hrRapiInit; 45 -} 46 - 47 -extern (Windows) { 48 - HRESULT CeRapiInit(); 49 - HRESULT CeRapiInitEx(RAPIINIT*); 50 - BOOL CeCreateProcess(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, 51 - LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, 52 - LPPROCESS_INFORMATION); 53 - HRESULT CeRapiUninit(); 54 - BOOL CeWriteFile(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); 55 - HANDLE CeCreateFile(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, 56 - DWORD, HANDLE); 57 - BOOL CeCreateDirectory(LPCWSTR, LPSECURITY_ATTRIBUTES); 58 - DWORD CeGetLastError(); 59 - BOOL CeGetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); 60 - BOOL CeCloseHandle(HANDLE); 61 -} 42 +HRESULT CeRapiInit(); 43 +HRESULT CeRapiInitEx(RAPIINIT*); 44 +BOOL CeCreateProcess(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, 45 + LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, 46 + LPPROCESS_INFORMATION); 47 +HRESULT CeRapiUninit(); 48 +BOOL CeWriteFile(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); 49 +HANDLE CeCreateFile(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, 50 + DWORD, HANDLE); 51 +BOOL CeCreateDirectory(LPCWSTR, LPSECURITY_ATTRIBUTES); 52 +DWORD CeGetLastError(); 53 +BOOL CeGetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); 54 +BOOL CeCloseHandle(HANDLE);