Artifact 83d09d08acc17a2f310df7ac89f3b9a5df643f8e
- File
src/win32/rapi.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
/***********************************************************************\ * rapi.d * * * * Windows API header module * * * * Translated from MinGW Windows headers * * by Stewart Gordon * * * * Placed into public domain * \***********************************************************************/ module win32.rapi; /* Comment from MinGW NOTE: This strictly does not belong in the Win32 API since it's really part of Platform SDK. */ private import win32.winbase, win32.windef; extern (Windows): enum RAPISTREAMFLAG { STREAM_TIMEOUT_READ } interface IRAPIStream { HRESULT SetRapiStat(RAPISTREAMFLAG, DWORD); HRESULT GetRapiStat(RAPISTREAMFLAG, DWORD*); } alias HRESULT function(DWORD, BYTE, DWORD, BYTE, IRAPIStream) RAPIEXT; struct RAPIINIT { DWORD cbSize = this.sizeof; HANDLE heRapiInit; HRESULT hrRapiInit; } HRESULT CeRapiInit(); HRESULT CeRapiInitEx(RAPIINIT*); BOOL CeCreateProcess(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION); HRESULT CeRapiUninit(); BOOL CeWriteFile(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); HANDLE CeCreateFile(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); BOOL CeCreateDirectory(LPCWSTR, LPSECURITY_ATTRIBUTES); DWORD CeGetLastError(); BOOL CeGetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); BOOL CeCloseHandle(HANDLE);