1
0
mirror of https://github.com/UzixLS/KernelEx.git synced 2025-07-19 07:21:20 +03:00

import KernelEx-4.5-Final

This commit is contained in:
UzixLS
2018-11-03 16:23:17 +03:00
parent 309977e788
commit 7571e3c60d
125 changed files with 11876 additions and 9943 deletions

View File

@ -33,9 +33,9 @@
#ifndef GRADIENT_FILL_RECT_H
#define GRADIENT_FILL_RECT_H 0x00
#define GRADIENT_FILL_RECT_V 0x01
#define GRADIENT_FILL_TRIANGLE 0x02
#define GRADIENT_FILL_OP_FLAG 0xff
#define GRADIENT_FILL_RECT_V 0x01
#define GRADIENT_FILL_TRIANGLE 0x02
#define GRADIENT_FILL_OP_FLAG 0xff
#endif
#ifndef AC_SRC_ALPHA
@ -44,23 +44,23 @@
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
if (fdwReason == DLL_PROCESS_ATTACH)
DisableThreadLibraryCalls(hinstDLL);
return TRUE;
return TRUE;
}
BOOL WINAPI AlphaBlend_NEW( HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of upper-left corner
int nYOriginDest, // y-coord of upper-left corner
int nWidthDest, // destination width
int nHeightDest, // destination height
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of upper-left corner
int nYOriginSrc, // y-coord of upper-left corner
int nWidthSrc, // source width
int nHeightSrc, // source height
BLENDFUNCTION blendFunction // alpha-blending function
int nXOriginDest, // x-coord of upper-left corner
int nYOriginDest, // y-coord of upper-left corner
int nWidthDest, // destination width
int nHeightDest, // destination height
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of upper-left corner
int nYOriginSrc, // y-coord of upper-left corner
int nWidthSrc, // source width
int nHeightSrc, // source height
BLENDFUNCTION blendFunction // alpha-blending function
)
{
unsigned int srcalpha, dstalpha;
@ -160,10 +160,10 @@ BOOL WINAPI GradientFill_NEW( HDC hdc, TRIVERTEX *vert_array, ULONG nvert,
unsigned int i;
if ( !hdc || !vert_array || ! grad_array )
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
switch(mode)
{
@ -275,7 +275,7 @@ BOOL WINAPI GradientFill_NEW( HDC hdc, TRIVERTEX *vert_array, ULONG nvert,
int b2 = (v2->Blue * y2 + v-> Blue * (dy2 - y2)) / dy2;
int x;
if (x1 < x2)
if (x1 < x2)
{
int dx = x2 - x1;
for (x = 0; x < dx; x++)
@ -307,19 +307,19 @@ BOOL WINAPI GradientFill_NEW( HDC hdc, TRIVERTEX *vert_array, ULONG nvert,
* GdiTransparentBlt [GDI32.@]
*/
BOOL WINAPI TransparentBlt_NEW( HDC hdcDest, int xDest, int yDest, int widthDest, int heightDest,
HDC hdcSrc, int xSrc, int ySrc, int widthSrc, int heightSrc,
UINT crTransparent )
HDC hdcSrc, int xSrc, int ySrc, int widthSrc, int heightSrc,
UINT crTransparent )
{
BOOL ret = FALSE;
HDC hdcWork;
HBITMAP bmpWork;
HGDIOBJ oldWork;
HDC hdcMask = NULL;
HBITMAP bmpMask = NULL;
HBITMAP oldMask = NULL;
COLORREF oldBackground;
COLORREF oldForeground;
int oldStretchMode;
BOOL ret = FALSE;
HDC hdcWork;
HBITMAP bmpWork;
HGDIOBJ oldWork;
HDC hdcMask = NULL;
HBITMAP bmpMask = NULL;
HBITMAP oldMask = NULL;
COLORREF oldBackground;
COLORREF oldForeground;
int oldStretchMode;
if ( !hdcDest || !hdcSrc )
{
@ -327,56 +327,56 @@ BOOL WINAPI TransparentBlt_NEW( HDC hdcDest, int xDest, int yDest, int widthDest
return FALSE;
}
if(widthDest < 0 || heightDest < 0 || widthSrc < 0 || heightSrc < 0) {
return FALSE;
}
if(widthDest < 0 || heightDest < 0 || widthSrc < 0 || heightSrc < 0) {
return FALSE;
}
oldBackground = SetBkColor(hdcDest, RGB(255,255,255));
oldForeground = SetTextColor(hdcDest, RGB(0,0,0));
oldBackground = SetBkColor(hdcDest, RGB(255,255,255));
oldForeground = SetTextColor(hdcDest, RGB(0,0,0));
/* Stretch bitmap */
oldStretchMode = GetStretchBltMode(hdcSrc);
if(oldStretchMode == BLACKONWHITE || oldStretchMode == WHITEONBLACK)
SetStretchBltMode(hdcSrc, COLORONCOLOR);
hdcWork = CreateCompatibleDC(hdcDest);
bmpWork = CreateCompatibleBitmap(hdcDest, widthDest, heightDest);
oldWork = SelectObject(hdcWork, bmpWork);
if(!StretchBlt(hdcWork, 0, 0, widthDest, heightDest, hdcSrc, xSrc, ySrc, widthSrc, heightSrc, SRCCOPY)) goto error;
SetBkColor(hdcWork, crTransparent);
/* Stretch bitmap */
oldStretchMode = GetStretchBltMode(hdcSrc);
if(oldStretchMode == BLACKONWHITE || oldStretchMode == WHITEONBLACK)
SetStretchBltMode(hdcSrc, COLORONCOLOR);
hdcWork = CreateCompatibleDC(hdcDest);
bmpWork = CreateCompatibleBitmap(hdcDest, widthDest, heightDest);
oldWork = SelectObject(hdcWork, bmpWork);
if(!StretchBlt(hdcWork, 0, 0, widthDest, heightDest, hdcSrc, xSrc, ySrc, widthSrc, heightSrc, SRCCOPY)) goto error;
SetBkColor(hdcWork, crTransparent);
/* Create mask */
hdcMask = CreateCompatibleDC(hdcDest);
bmpMask = CreateCompatibleBitmap(hdcMask, widthDest, heightDest);
oldMask = SelectObject(hdcMask, bmpMask);
if(!BitBlt(hdcMask, 0, 0, widthDest, heightDest, hdcWork, 0, 0, SRCCOPY)) goto error;
/* Create mask */
hdcMask = CreateCompatibleDC(hdcDest);
bmpMask = CreateCompatibleBitmap(hdcMask, widthDest, heightDest);
oldMask = SelectObject(hdcMask, bmpMask);
if(!BitBlt(hdcMask, 0, 0, widthDest, heightDest, hdcWork, 0, 0, SRCCOPY)) goto error;
/* Replace transparent color with black */
SetBkColor(hdcWork, RGB(0,0,0));
SetTextColor(hdcWork, RGB(255,255,255));
if(!BitBlt(hdcWork, 0, 0, widthDest, heightDest, hdcMask, 0, 0, SRCAND)) goto error;
/* Replace transparent color with black */
SetBkColor(hdcWork, RGB(0,0,0));
SetTextColor(hdcWork, RGB(255,255,255));
if(!BitBlt(hdcWork, 0, 0, widthDest, heightDest, hdcMask, 0, 0, SRCAND)) goto error;
/* Replace non-transparent area on destination with black */
if(!BitBlt(hdcDest, xDest, yDest, widthDest, heightDest, hdcMask, 0, 0, SRCAND)) goto error;
/* Replace non-transparent area on destination with black */
if(!BitBlt(hdcDest, xDest, yDest, widthDest, heightDest, hdcMask, 0, 0, SRCAND)) goto error;
/* Draw the image */
if(!BitBlt(hdcDest, xDest, yDest, widthDest, heightDest, hdcWork, 0, 0, SRCPAINT)) goto error;
/* Draw the image */
if(!BitBlt(hdcDest, xDest, yDest, widthDest, heightDest, hdcWork, 0, 0, SRCPAINT)) goto error;
ret = TRUE;
ret = TRUE;
error:
SetStretchBltMode(hdcSrc, oldStretchMode);
SetBkColor(hdcDest, oldBackground);
SetTextColor(hdcDest, oldForeground);
if(hdcWork) {
SelectObject(hdcWork, oldWork);
DeleteDC(hdcWork);
}
if(bmpWork) DeleteObject(bmpWork);
if(hdcMask) {
SelectObject(hdcMask, oldMask);
DeleteDC(hdcMask);
}
if(bmpMask) DeleteObject(bmpMask);
return ret;
SetStretchBltMode(hdcSrc, oldStretchMode);
SetBkColor(hdcDest, oldBackground);
SetTextColor(hdcDest, oldForeground);
if(hdcWork) {
SelectObject(hdcWork, oldWork);
DeleteDC(hdcWork);
}
if(bmpWork) DeleteObject(bmpWork);
if(hdcMask) {
SelectObject(hdcMask, oldMask);
DeleteDC(hdcMask);
}
if(bmpMask) DeleteObject(bmpMask);
return ret;
}
void WINAPI vSetDdrawflag()

View File

@ -24,12 +24,12 @@
int WINAPI CommonUnimpStub(void);
#ifdef __GNUC__
#define UNIMPL_FUNC(name,params) \
__asm__( ".text\n" \
".globl _" #name "@0\n" \
"_" #name "_new@0:\n\t" \
"xor %eax, %eax\n\t" \
"movb $" #params ", %cl\n\t" \
#define UNIMPL_FUNC(name,params) \
__asm__( ".text\n" \
".globl _" #name "@0\n" \
"_" #name "_new@0:\n\t" \
"xor %eax, %eax\n\t" \
"movb $" #params ", %cl\n\t" \
"jmp _CommonUnimpStub@0\n\t" \
)
#else
@ -44,24 +44,25 @@ int WINAPI CommonUnimpStub(void);
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osv);
if (osv.dwMajorVersion < 5)
return FALSE;
DisableThreadLibraryCalls(hinstDLL);
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
}
DisableThreadLibraryCalls(hinstDLL);
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
}
return TRUE;
return TRUE;
}
UNIMPL_FUNC(PdhGetDllVersion, 1);

View File

@ -41,54 +41,54 @@
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
TRACE("%p %d %p\n", hinstDLL, fdwReason, lpvReserved);
TRACE("%p %d %p\n", hinstDLL, fdwReason, lpvReserved);
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinstDLL);
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinstDLL);
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
BOOL WINAPI CreateEnvironmentBlock( LPVOID* lpEnvironment,
HANDLE hToken, BOOL bInherit )
{
FIXME("%p %p %d\n", lpEnvironment, hToken, bInherit );
return FALSE;
FIXME("%p %p %d\n", lpEnvironment, hToken, bInherit );
return FALSE;
}
BOOL WINAPI DestroyEnvironmentBlock( LPVOID lpEnvironment )
{
FIXME("%p\n", lpEnvironment);
FIXME("%p\n", lpEnvironment);
return FALSE;
}
BOOL WINAPI ExpandEnvironmentStringsForUserA( HANDLE hToken, LPCSTR lpSrc,
LPSTR lpDest, DWORD dwSize )
{
BOOL ret;
BOOL ret;
TRACE("%p %s %p %d\n", hToken, debugstr_a(lpSrc), lpDest, dwSize);
TRACE("%p %s %p %d\n", hToken, debugstr_a(lpSrc), lpDest, dwSize);
ret = ExpandEnvironmentStringsA( lpSrc, lpDest, dwSize );
TRACE("<- %s\n", debugstr_a(lpDest));
return ret;
ret = ExpandEnvironmentStringsA( lpSrc, lpDest, dwSize );
TRACE("<- %s\n", debugstr_a(lpDest));
return ret;
}
BOOL WINAPI ExpandEnvironmentStringsForUserW( HANDLE hToken, LPCWSTR lpSrc,
LPWSTR lpDest, DWORD dwSize )
{
BOOL ret;
BOOL ret;
TRACE("%p %s %p %d\n", hToken, debugstr_w(lpSrc), lpDest, dwSize);
TRACE("%p %s %p %d\n", hToken, debugstr_w(lpSrc), lpDest, dwSize);
ret = ExpandEnvironmentStringsW( lpSrc, lpDest, dwSize );
TRACE("<- %s\n", debugstr_w(lpDest));
return ret;
ret = ExpandEnvironmentStringsW( lpSrc, lpDest, dwSize );
TRACE("<- %s\n", debugstr_w(lpDest));
return ret;
}
static int getsubdirpath(int nFolder, LPSTR lpBuffer, LPSTR lpSubDir)
@ -154,49 +154,49 @@ int WINAPI GetAllUsersProfileDirectoryW( LPWSTR lpProfileDir, LPDWORD lpcchSize
int WINAPI GetProfilesDirectoryA( LPSTR lpProfilesDir, LPDWORD lpcchSize )
{
return GetSpecialSubdirPathA(CSIDL_APPDATA,"..\\..",lpProfilesDir,lpcchSize);
return GetSpecialSubdirPathA(CSIDL_APPDATA,"..\\..",lpProfilesDir,lpcchSize);
}
int WINAPI GetProfilesDirectoryW( LPWSTR lpProfilesDir, LPDWORD lpcchSize )
{
return GetSpecialSubdirPathW(CSIDL_APPDATA,"..\\..",lpProfilesDir,lpcchSize);
return GetSpecialSubdirPathW(CSIDL_APPDATA,"..\\..",lpProfilesDir,lpcchSize);
}
BOOL WINAPI GetProfileType( DWORD *pdwFlags )
{
FIXME("%p\n", pdwFlags );
*pdwFlags = 0;
return TRUE;
FIXME("%p\n", pdwFlags );
*pdwFlags = 0;
return TRUE;
}
BOOL WINAPI LoadUserProfileA( HANDLE hToken, LPPROFILEINFOA lpProfileInfo )
{
FIXME("%p %p\n", hToken, lpProfileInfo );
lpProfileInfo->hProfile = HKEY_CURRENT_USER;
return TRUE;
FIXME("%p %p\n", hToken, lpProfileInfo );
lpProfileInfo->hProfile = HKEY_CURRENT_USER;
return TRUE;
}
BOOL WINAPI LoadUserProfileW( HANDLE hToken, LPPROFILEINFOW lpProfileInfo )
{
FIXME("%p %p\n", hToken, lpProfileInfo );
lpProfileInfo->hProfile = HKEY_CURRENT_USER;
return TRUE;
FIXME("%p %p\n", hToken, lpProfileInfo );
lpProfileInfo->hProfile = HKEY_CURRENT_USER;
return TRUE;
}
BOOL WINAPI RegisterGPNotification( HANDLE event, BOOL machine )
{
FIXME("%p %d\n", event, machine );
return TRUE;
FIXME("%p %d\n", event, machine );
return TRUE;
}
BOOL WINAPI UnregisterGPNotification( HANDLE event )
{
FIXME("%p\n", event );
return TRUE;
FIXME("%p\n", event );
return TRUE;
}
BOOL WINAPI UnloadUserProfile( HANDLE hToken, HANDLE hProfile )
{
FIXME("(%p, %p): stub\n", hToken, hProfile);
return FALSE;
FIXME("(%p, %p): stub\n", hToken, hProfile);
return FALSE;
}

View File

@ -36,14 +36,14 @@
*/
BOOL WINAPI GetThemeSysBool(HTHEME hTheme, int iBoolID)
{
SetLastError(0);
if(iBoolID == TMT_FLATMENUS) {
return FALSE;
}
else {
SetLastError(STG_E_INVALIDPARAMETER);
}
return FALSE;
SetLastError(0);
if(iBoolID == TMT_FLATMENUS) {
return FALSE;
}
else {
SetLastError(STG_E_INVALIDPARAMETER);
}
return FALSE;
}
/***********************************************************************
@ -52,8 +52,8 @@ BOOL WINAPI GetThemeSysBool(HTHEME hTheme, int iBoolID)
*/
COLORREF WINAPI GetThemeSysColor(HTHEME hTheme, int iColorID)
{
SetLastError(0);
return GetSysColor(iColorID - TMT_FIRSTCOLOR);
SetLastError(0);
return GetSysColor(iColorID - TMT_FIRSTCOLOR);
}
/***********************************************************************
@ -62,7 +62,7 @@ COLORREF WINAPI GetThemeSysColor(HTHEME hTheme, int iColorID)
*/
HBRUSH WINAPI GetThemeSysColorBrush(HTHEME hTheme, int iColorID)
{
return CreateSolidBrush(GetThemeSysColor(hTheme, iColorID));
return CreateSolidBrush(GetThemeSysColor(hTheme, iColorID));
}
/***********************************************************************
@ -71,29 +71,29 @@ HBRUSH WINAPI GetThemeSysColorBrush(HTHEME hTheme, int iColorID)
*/
HRESULT WINAPI GetThemeSysFont(HTHEME hTheme, int iFontID, LOGFONTW *plf)
{
HRESULT hr = S_OK;
HRESULT hr = S_OK;
if(iFontID == TMT_ICONTITLEFONT) {
if(!SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(LOGFONTW), &plf, 0))
return HRESULT_FROM_WIN32(GetLastError());
}
else {
NONCLIENTMETRICSW ncm;
LOGFONTW *font = NULL;
ncm.cbSize = sizeof(NONCLIENTMETRICSW);
if(!SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), &ncm, 0))
return HRESULT_FROM_WIN32(GetLastError());
switch(iFontID) {
case TMT_CAPTIONFONT: font = &ncm.lfCaptionFont; break;
case TMT_SMALLCAPTIONFONT: font = &ncm.lfSmCaptionFont; break;
case TMT_MENUFONT: font = &ncm.lfMenuFont; break;
case TMT_STATUSFONT: font = &ncm.lfStatusFont; break;
case TMT_MSGBOXFONT: font = &ncm.lfMessageFont; break;
}
if(font) *plf = *font;
else hr = STG_E_INVALIDPARAMETER;
}
return hr;
if(iFontID == TMT_ICONTITLEFONT) {
if(!SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(LOGFONTW), &plf, 0))
return HRESULT_FROM_WIN32(GetLastError());
}
else {
NONCLIENTMETRICSW ncm;
LOGFONTW *font = NULL;
ncm.cbSize = sizeof(NONCLIENTMETRICSW);
if(!SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICSW), &ncm, 0))
return HRESULT_FROM_WIN32(GetLastError());
switch(iFontID) {
case TMT_CAPTIONFONT: font = &ncm.lfCaptionFont; break;
case TMT_SMALLCAPTIONFONT: font = &ncm.lfSmCaptionFont; break;
case TMT_MENUFONT: font = &ncm.lfMenuFont; break;
case TMT_STATUSFONT: font = &ncm.lfStatusFont; break;
case TMT_MSGBOXFONT: font = &ncm.lfMessageFont; break;
}
if(font) *plf = *font;
else hr = STG_E_INVALIDPARAMETER;
}
return hr;
}
/***********************************************************************
@ -102,7 +102,7 @@ HRESULT WINAPI GetThemeSysFont(HTHEME hTheme, int iFontID, LOGFONTW *plf)
*/
HRESULT WINAPI GetThemeSysInt(HTHEME hTheme, int iIntID, int *piValue)
{
return E_HANDLE;
return E_HANDLE;
}
/***********************************************************************
@ -111,7 +111,7 @@ HRESULT WINAPI GetThemeSysInt(HTHEME hTheme, int iIntID, int *piValue)
*/
int WINAPI GetThemeSysSize(HTHEME hTheme, int iSizeID)
{
return GetSystemMetrics(iSizeID);
return GetSystemMetrics(iSizeID);
}
/***********************************************************************
@ -121,5 +121,5 @@ int WINAPI GetThemeSysSize(HTHEME hTheme, int iSizeID)
HRESULT WINAPI GetThemeSysString(HTHEME hTheme, int iStringID,
LPWSTR pszStringBuff, int cchMaxStringChars)
{
return E_HANDLE;
return E_HANDLE;
}

View File

@ -32,7 +32,7 @@
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, BOOL bLoadStatic)
{
if (fdwReason == DLL_PROCESS_ATTACH)
if (fdwReason == DLL_PROCESS_ATTACH)
{
if (!bLoadStatic)
{
@ -44,7 +44,7 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, BOOL bLoadStatic)
}
DisableThreadLibraryCalls(hinstDLL);
}
return TRUE;
return TRUE;
}
UNIMPL_FUNC(CloseThemeData, 1, _E_NOTIMPL);

View File

@ -69,35 +69,36 @@ static HMODULE WTSAPI32_hModule = 0;
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osv);
if (osv.dwMajorVersion < 5)
return FALSE;
DisableThreadLibraryCalls(hinstDLL);
WTSAPI32_hModule = hinstDLL;
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
}
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osv);
if (osv.dwMajorVersion < 5)
return FALSE;
DisableThreadLibraryCalls(hinstDLL);
WTSAPI32_hModule = hinstDLL;
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
}
return TRUE;
}
return TRUE;
}
/************************************************************
* WTSCloseServer (WTSAPI32.@)
*/
void WINAPI WTSCloseServer(HANDLE hServer)
{
FIXME("Stub %p\n", hServer);
FIXME("Stub %p\n", hServer);
}
/************************************************************
@ -105,110 +106,110 @@ void WINAPI WTSCloseServer(HANDLE hServer)
*/
BOOL WINAPI WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)
{
FIXME("Stub %p 0x%08lx %d\n", hServer, SessionId, bWait);
return TRUE;
FIXME("Stub %p 0x%08lx %d\n", hServer, SessionId, bWait);
return TRUE;
}
/************************************************************
* WTSEnumerateProcessesA (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Version,
PWTS_PROCESS_INFOA* ppProcessInfo, DWORD* pCount)
PWTS_PROCESS_INFOA* ppProcessInfo, DWORD* pCount)
{
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppProcessInfo, pCount);
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppProcessInfo, pCount);
if (!ppProcessInfo || !pCount) return FALSE;
if (!ppProcessInfo || !pCount) return FALSE;
*pCount = 0;
*ppProcessInfo = NULL;
*pCount = 0;
*ppProcessInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
* WTSEnumerateProcessesW (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Version,
PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount)
PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount)
{
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppProcessInfo, pCount);
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppProcessInfo, pCount);
if (!ppProcessInfo || !pCount) return FALSE;
if (!ppProcessInfo || !pCount) return FALSE;
*pCount = 0;
*ppProcessInfo = NULL;
*pCount = 0;
*ppProcessInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
* WTSEnumerateServersA (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Version,
PWTS_SERVER_INFOA* ppServerInfo, DWORD* pCount)
PWTS_SERVER_INFOA* ppServerInfo, DWORD* pCount)
{
FIXME("Stub %s 0x%08lx 0x%08lx %p %p\n", debugstr_a(pDomainName), Reserved, Version,
ppServerInfo, pCount);
FIXME("Stub %s 0x%08lx 0x%08lx %p %p\n", debugstr_a(pDomainName), Reserved, Version,
ppServerInfo, pCount);
if (!ppServerInfo || !pCount) return FALSE;
if (!ppServerInfo || !pCount) return FALSE;
*pCount = 0;
*ppServerInfo = NULL;
*pCount = 0;
*ppServerInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
* WTSEnumerateServersW (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD Version,
PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount)
PWTS_SERVER_INFOW* ppServerInfo, DWORD* pCount)
{
FIXME("Stub %s 0x%08lx 0x%08lx %p %p\n", debugstr_w(pDomainName), Reserved, Version,
ppServerInfo, pCount);
FIXME("Stub %s 0x%08lx 0x%08lx %p %p\n", debugstr_w(pDomainName), Reserved, Version,
ppServerInfo, pCount);
if (!ppServerInfo || !pCount) return FALSE;
if (!ppServerInfo || !pCount) return FALSE;
*pCount = 0;
*ppServerInfo = NULL;
*pCount = 0;
*ppServerInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
* WTSEnumerateEnumerateSessionsA (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version,
PWTS_SESSION_INFOA* ppSessionInfo, DWORD* pCount)
PWTS_SESSION_INFOA* ppSessionInfo, DWORD* pCount)
{
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppSessionInfo, pCount);
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppSessionInfo, pCount);
if (!ppSessionInfo || !pCount) return FALSE;
if (!ppSessionInfo || !pCount) return FALSE;
*pCount = 0;
*ppSessionInfo = NULL;
*pCount = 0;
*ppSessionInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
* WTSEnumerateEnumerateSessionsW (WTSAPI32.@)
*/
BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version,
PWTS_SESSION_INFOW* ppSessionInfo, DWORD* pCount)
PWTS_SESSION_INFOW* ppSessionInfo, DWORD* pCount)
{
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppSessionInfo, pCount);
FIXME("Stub %p 0x%08lx 0x%08lx %p %p\n", hServer, Reserved, Version,
ppSessionInfo, pCount);
if (!ppSessionInfo || !pCount) return FALSE;
if (!ppSessionInfo || !pCount) return FALSE;
*pCount = 0;
*ppSessionInfo = NULL;
*pCount = 0;
*ppSessionInfo = NULL;
return TRUE;
return TRUE;
}
/************************************************************
@ -216,8 +217,8 @@ BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version,
*/
void WINAPI WTSFreeMemory(PVOID pMemory)
{
FIXME("Stub %p\n", pMemory);
return;
FIXME("Stub %p\n", pMemory);
return;
}
/************************************************************
@ -225,9 +226,9 @@ void WINAPI WTSFreeMemory(PVOID pMemory)
*/
HANDLE WINAPI WTSOpenServerA(LPSTR pServerName)
{
FIXME("(%s) stub\n", debugstr_a(pServerName));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
FIXME("(%s) stub\n", debugstr_a(pServerName));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/************************************************************
@ -235,64 +236,72 @@ HANDLE WINAPI WTSOpenServerA(LPSTR pServerName)
*/
HANDLE WINAPI WTSOpenServerW(LPWSTR pServerName)
{
FIXME("(%s) stub\n", debugstr_w(pServerName));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
FIXME("(%s) stub\n", debugstr_w(pServerName));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/************************************************************
* WTSQuerySessionInformationA (WTSAPI32.@)
*/
BOOL WINAPI WTSQuerySessionInformationA(
HANDLE hServer,
DWORD SessionId,
WTS_INFO_CLASS WTSInfoClass,
LPSTR* Buffer,
DWORD* BytesReturned)
HANDLE hServer,
DWORD SessionId,
WTS_INFO_CLASS WTSInfoClass,
LPSTR* Buffer,
DWORD* BytesReturned)
{
/* FIXME: Forward request to winsta.dll::WinStationQueryInformationA */
FIXME("Stub %p 0x%08lx %d %p %p\n", hServer, SessionId, WTSInfoClass,
Buffer, BytesReturned);
/* FIXME: Forward request to winsta.dll::WinStationQueryInformationA */
FIXME("Stub %p 0x%08lx %d %p %p\n", hServer, SessionId, WTSInfoClass,
Buffer, BytesReturned);
return FALSE;
return FALSE;
}
/************************************************************
* WTSQuerySessionInformationW (WTSAPI32.@)
*/
BOOL WINAPI WTSQuerySessionInformationW(
HANDLE hServer,
DWORD SessionId,
WTS_INFO_CLASS WTSInfoClass,
LPWSTR* Buffer,
DWORD* BytesReturned)
HANDLE hServer,
DWORD SessionId,
WTS_INFO_CLASS WTSInfoClass,
LPWSTR* Buffer,
DWORD* BytesReturned)
{
/* FIXME: Forward request to winsta.dll::WinStationQueryInformationW */
FIXME("Stub %p 0x%08lx %d %p %p\n", hServer, SessionId, WTSInfoClass,
Buffer, BytesReturned);
/* FIXME: Forward request to winsta.dll::WinStationQueryInformationW */
FIXME("Stub %p 0x%08lx %d %p %p\n", hServer, SessionId, WTSInfoClass,
Buffer, BytesReturned);
return FALSE;
return FALSE;
}
/************************************************************
* WTSQueryUserConfigA (WTSAPI32.@)
*/
BOOL WINAPI WTSQueryUserConfigA(LPSTR pServerName, LPSTR pUserName,
WTS_CONFIG_CLASS WTSConfigClass, LPSTR* ppBuffer, DWORD* pBytesReturned)
BOOL WINAPI WTSQueryUserConfigA(
LPSTR pServerName,
LPSTR pUserName,
WTS_CONFIG_CLASS WTSConfigClass,
LPSTR* ppBuffer,
DWORD* pBytesReturned)
{
FIXME("Stub %s %s 0x%08lx %p %p\n", debugstr_a(pServerName), debugstr_a(pUserName),
WTSConfigClass, ppBuffer, pBytesReturned);
WTSConfigClass, ppBuffer, pBytesReturned);
return FALSE;
}
/************************************************************
* WTSQueryUserConfigW (WTSAPI32.@)
*/
BOOL WINAPI WTSQueryUserConfigW(LPWSTR pServerName, LPWSTR pUserName,
WTS_CONFIG_CLASS WTSConfigClass, LPWSTR* ppBuffer, DWORD* pBytesReturned)
BOOL WINAPI WTSQueryUserConfigW(
LPWSTR pServerName,
LPWSTR pUserName,
WTS_CONFIG_CLASS WTSConfigClass,
LPWSTR* ppBuffer,
DWORD* pBytesReturned)
{
FIXME("Stub %s %s 0x%08lx %p %p\n", debugstr_w(pServerName), debugstr_w(pUserName),
WTSConfigClass, ppBuffer, pBytesReturned);
WTSConfigClass, ppBuffer, pBytesReturned);
return FALSE;
}
@ -320,8 +329,8 @@ BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags)
BOOL WINAPI WTSTerminateProcess(HANDLE hServer, DWORD ProcessId, DWORD ExitCode)
{
FIXME("Stub %p 0x%08x 0x%08x\n", hServer, ProcessId, ExitCode);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/************************************************************
@ -338,7 +347,7 @@ BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd)
*/
BOOL WINAPI WTSWaitSystemEvent(HANDLE hServer, DWORD Mask, DWORD* Flags)
{
/* FIXME: Forward request to winsta.dll::WinStationWaitSystemEvent */
FIXME("Stub %p 0x%08lx %p\n", hServer, Mask, Flags);
return FALSE;
/* FIXME: Forward request to winsta.dll::WinStationWaitSystemEvent */
FIXME("Stub %p 0x%08lx %p\n", hServer, Mask, Flags);
return FALSE;
}

View File

@ -28,74 +28,74 @@ extern "C" {
typedef enum tagWTS_INFO_CLASS
{
WTSInitialProgram,
WTSApplicationName,
WTSWorkingDirectory,
WTSOEMId,
WTSSessionId,
WTSUserName,
WTSWinStationName,
WTSDomainName,
WTSConnectState,
WTSClientBuildNumber,
WTSClientName,
WTSClientDirectory,
WTSClientProductId,
WTSClientHardwareId,
WTSClientAddress,
WTSClientDisplay,
WTSClientProtocolType,
WTSInitialProgram,
WTSApplicationName,
WTSWorkingDirectory,
WTSOEMId,
WTSSessionId,
WTSUserName,
WTSWinStationName,
WTSDomainName,
WTSConnectState,
WTSClientBuildNumber,
WTSClientName,
WTSClientDirectory,
WTSClientProductId,
WTSClientHardwareId,
WTSClientAddress,
WTSClientDisplay,
WTSClientProtocolType,
} WTS_INFO_CLASS;
typedef enum _WTS_CONNECTSTATE_CLASS
{
WTSActive,
WTSConnected,
WTSConnectQuery,
WTSShadow,
WTSDisconnected,
WTSIdle,
WTSListen,
WTSReset,
WTSDown,
WTSInit
WTSActive,
WTSConnected,
WTSConnectQuery,
WTSShadow,
WTSDisconnected,
WTSIdle,
WTSListen,
WTSReset,
WTSDown,
WTSInit
} WTS_CONNECTSTATE_CLASS;
typedef enum _WTS_CONFIG_CLASS
{
WTSUserConfigInitialProgram,
WTSUserConfigWorkingDirectory,
WTSUserConfigInheritInitialProgram,
WTSUserConfigAllowLogonTerminalServer,
WTSUserConfigTimeoutSettingsConnections,
WTSUserConfigTimeoutSettingsDisconnections,
WTSUserConfigTimeoutSettingsIdle,
WTSUserConfigDeviceClientDrives,
WTSUserConfigDeviceClientPrinters,
WTSUserConfigDeviceClientDefaultPrinter,
WTSUserConfigBrokenTimeoutSettings,
WTSUserConfigModemCallbackSettings,
WTSUserConfigModemCallbackPhoneNumber,
WTSUserConfigShadowSettings,
WTSUserConfigTerminalServerProfilePath,
WTSUserConfigTerminalServerHomeDirectory,
WTSUserConfigfTerminalServerRemoteHomeDir
WTSUserConfigInitialProgram,
WTSUserConfigWorkingDirectory,
WTSUserConfigInheritInitialProgram,
WTSUserConfigAllowLogonTerminalServer,
WTSUserConfigTimeoutSettingsConnections,
WTSUserConfigTimeoutSettingsDisconnections,
WTSUserConfigTimeoutSettingsIdle,
WTSUserConfigDeviceClientDrives,
WTSUserConfigDeviceClientPrinters,
WTSUserConfigDeviceClientDefaultPrinter,
WTSUserConfigBrokenTimeoutSettings,
WTSUserConfigModemCallbackSettings,
WTSUserConfigModemCallbackPhoneNumber,
WTSUserConfigShadowSettings,
WTSUserConfigTerminalServerProfilePath,
WTSUserConfigTerminalServerHomeDirectory,
WTSUserConfigfTerminalServerRemoteHomeDir
} WTS_CONFIG_CLASS;
typedef struct _WTS_PROCESS_INFOA
{
DWORD SessionId;
DWORD ProcessId;
LPSTR pProcessName;
PSID pUserSid;
DWORD SessionId;
DWORD ProcessId;
LPSTR pProcessName;
PSID pUserSid;
} WTS_PROCESS_INFOA, *PWTS_PROCESS_INFOA;
typedef struct _WTS_PROCESS_INFOW
{
DWORD SessionId;
DWORD ProcessId;
LPWSTR pProcessName;
PSID pUserSid;
DWORD SessionId;
DWORD ProcessId;
LPWSTR pProcessName;
PSID pUserSid;
} WTS_PROCESS_INFOW, *PWTS_PROCESS_INFOW;
DECL_WINELIB_TYPE_AW(WTS_PROCESS_INFO)
@ -103,16 +103,16 @@ DECL_WINELIB_TYPE_AW(PWTS_PROCESS_INFO)
typedef struct _WTS_SESSION_INFOA
{
DWORD SessionId;
LPSTR pWinStationName;
WTS_CONNECTSTATE_CLASS State;
DWORD SessionId;
LPSTR pWinStationName;
WTS_CONNECTSTATE_CLASS State;
} WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
typedef struct _WTS_SESSION_INFOW
{
DWORD SessionId;
LPWSTR pWinStationName;
WTS_CONNECTSTATE_CLASS State;
DWORD SessionId;
LPWSTR pWinStationName;
WTS_CONNECTSTATE_CLASS State;
} WTS_SESSION_INFOW, *PWTS_SESSION_INFOW;
DECL_WINELIB_TYPE_AW(WTS_SESSION_INFO)
@ -120,12 +120,12 @@ DECL_WINELIB_TYPE_AW(PWTS_SESSION_INFO)
typedef struct _WTS_SERVER_INFOA
{
LPSTR pServerName;
LPSTR pServerName;
} WTS_SERVER_INFOA, *PWTS_SERVER_INFOA;
typedef struct _WTS_SERVER_INFOW
{
LPWSTR pServerName;
LPWSTR pServerName;
} WTS_SERVER_INFOW, *PWTS_SERVER_INFOW;
DECL_WINELIB_TYPE_AW(WTS_SERVER_INFO)