21#define WIN32_NO_STATUS
24#include "wine/winternl.h"
32#define GetCurrentProcessToken() ((HANDLE)~(ULONG_PTR)3)
40 FIXME(
"Stub %p\n", hServer);
107 ppProcessInfo, pCount);
109 if (!ppProcessInfo || !pCount)
return FALSE;
112 *ppProcessInfo =
NULL;
183 *ppProcessInfo = processInfo;
193 memcpy(
name, spi->ProcessName.Buffer, spi->ProcessName.Length );
194 name[ spi->ProcessName.Length/
sizeof(
WCHAR) ] = 0;
253 ppSessionInfo, pCount);
255 if (!ppSessionInfo || !pCount)
return FALSE;
258 *ppSessionInfo =
NULL;
270 ppSessionInfo, pCount);
272 if (!ppSessionInfo || !pCount)
return FALSE;
275 *ppSessionInfo =
NULL;
314 FIXME(
"(%p, 0x%x, %d): stub\n", hserver, session_id, bwait);
371 const size_t wcsErrorCode = -1;
374 DWORD bytesReturned = 0;
392 switch (WTSInfoClass)
405 if (
len != wcsErrorCode)
408 ansiBuffer = heap_alloc_zero(
len);
433 FIXME(
"Stub %p 0x%08x %d %p %p\n", hServer,
SessionId, WTSInfoClass,
457#if (NTDDI_VERSION >= NTDDI_WS08)
467 switch (WTSInfoClass)
536#if (NTDDI_VERSION >= NTDDI_WS08)
559 FIXME(
"Stub %p 0x%08x %d %p %p\n", hServer,
SessionId, WTSInfoClass,
565 FIXME(
"Stub %p 0x%08x %d %p %p\n", hServer,
SessionId, WTSInfoClass,
590 FIXME(
"%u %p semi-stub!\n", session_id,
token);
609 ppBuffer, pBytesReturned);
619 ppBuffer, pBytesReturned);
649 FIXME(
"Stub %p 0x%08x (%s) %d (%s) %d 0x%08x %d %p %d\n", hServer,
SessionId,
debugstr_a(pTitle), TitleLength,
debugstr_a(pMessage), MessageLength,
Style,
Timeout, pResponse, bWait);
659 FIXME(
"Stub %p 0x%08x (%s) %d (%s) %d 0x%08x %d %p %d\n", hServer,
SessionId,
debugstr_w(pTitle), TitleLength,
debugstr_w(pMessage), MessageLength,
Style,
Timeout, pResponse, bWait);
686 FIXME(
"Stub %p 0x%08x\n", hServer,ShutdownFlag);
695 FIXME(
"Stub (%s) %d %d %d\n",
debugstr_a(pTargetServerName), TargetLogonId, HotkeyVk, HotkeyModifiers);
704 FIXME(
"Stub (%s) %d %d %d\n",
debugstr_w(pTargetServerName), TargetLogonId, HotkeyVk, HotkeyModifiers);
750 FIXME(
"Stub %p\n", hChannelHandle);
777 FIXME(
"Stub %p\n", hChannelHandle);
786 FIXME(
"Stub %p\n", hChannelHandle);
796 FIXME(
"Stub %p %d %p %p\n", hChannelHandle, WtsVirtualClass, ppBuffer, pBytesReturned);
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
BOOL WINAPI GetUserNameW(LPWSTR lpszName, LPDWORD lpSize)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define GetCurrentProcess()
#define ERROR_NOT_SUPPORTED
#define HeapFree(x, y, z)
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
@ SystemProcessInformation
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLenum GLuint GLenum GLsizei const GLchar * buf
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
size_t __cdecl wcstombs(_Out_writes_opt_z_(_MaxCount) char *_Dest, _In_z_ const wchar_t *_Source, _In_ size_t _MaxCount)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
#define memcpy(s1, s2, n)
#define GetCurrentProcessToken()
_In_ ULONG _In_ ULONG _In_ ULONG Length
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID LogonId
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
#define STATUS_INFO_LENGTH_MISMATCH
static rfbScreenInfoPtr server
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
DWORD WINAPI GetLastError(void)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_Reserved_ PVOID Reserved
#define ERROR_INVALID_USER_BUFFER
_Must_inspect_result_ _In_ ULONG Flags
void WINAPI WTSFreeMemory(PVOID pMemory)
BOOL WINAPI WTSStartRemoteControlSessionA(LPSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers)
BOOL WINAPI WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOA *ppProcessInfo, DWORD *pCount)
BOOL WINAPI WTSConnectSessionW(ULONG LogonId, ULONG TargetLogonId, PWSTR pPassword, BOOL bWait)
BOOL WINAPI WTSRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd, DWORD dwFlags)
BOOL WINAPI WTSQuerySessionInformationW(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPWSTR *Buffer, DWORD *BytesReturned)
void WINAPI WTSCloseServer(HANDLE hServer)
BOOL WINAPI WTSEnumerateServersW(LPWSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOW *ppServerInfo, DWORD *pCount)
BOOL WINAPI WTSStopRemoteControlSession(ULONG LogonId)
HANDLE WINAPI WTSVirtualChannelOpen(HANDLE hServer, DWORD SessionId, LPSTR pVirtualName)
HANDLE WINAPI WTSOpenServerExA(char *server_name)
BOOL WINAPI WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOW *ppProcessInfo, DWORD *pCount)
BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOW *ppSessionInfo, DWORD *pCount)
BOOL WINAPI WTSEnumerateProcessesExW(HANDLE server, DWORD *level, DWORD session_id, WCHAR **info, DWORD *count)
BOOL WINAPI WTSFreeMemoryExA(WTS_TYPE_CLASS type, void *ptr, ULONG nmemb)
BOOL WINAPI WTSStartRemoteControlSessionW(LPWSTR pTargetServerName, ULONG TargetLogonId, BYTE HotkeyVk, USHORT HotkeyModifiers)
BOOL WINAPI WTSVirtualChannelClose(HANDLE hChannelHandle)
BOOL WINAPI WTSEnableChildSessions(BOOL enable)
BOOL WINAPI WTSVirtualChannelPurgeOutput(HANDLE hChannelHandle)
HANDLE WINAPI WTSVirtualChannelOpenEx(DWORD SessionId, LPSTR pVirtualName, DWORD flags)
BOOL WINAPI WTSQueryUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR *ppBuffer, DWORD *pBytesReturned)
BOOL WINAPI WTSSendMessageW(HANDLE hServer, DWORD SessionId, LPWSTR pTitle, DWORD TitleLength, LPWSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait)
BOOL WINAPI WTSEnumerateSessionsExW(HANDLE server, DWORD *level, DWORD filter, WTS_SESSION_INFO_1W *info, DWORD *count)
BOOL WINAPI WTSSetUserConfigA(LPSTR pServerName, LPSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPSTR pBuffer, DWORD DataLength)
BOOL WINAPI WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CLASS WtsVirtualClass, PVOID *ppBuffer, DWORD *pBytesReturned)
BOOL WINAPI WTSSendMessageA(HANDLE hServer, DWORD SessionId, LPSTR pTitle, DWORD TitleLength, LPSTR pMessage, DWORD MessageLength, DWORD Style, DWORD Timeout, DWORD *pResponse, BOOL bWait)
BOOL WINAPI WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_SESSION_INFOA *ppSessionInfo, DWORD *pCount)
BOOL WINAPI WTSQueryUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR *ppBuffer, DWORD *pBytesReturned)
BOOL WINAPI WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass, LPSTR *Buffer, DWORD *BytesReturned)
BOOL WINAPI WTSVirtualChannelRead(HANDLE hChannelHandle, ULONG TimeOut, PCHAR Buffer, ULONG BufferSize, PULONG pBytesRead)
HANDLE WINAPI WTSOpenServerExW(WCHAR *server_name)
BOOL WINAPI WTSEnumerateServersA(LPSTR pDomainName, DWORD Reserved, DWORD Version, PWTS_SERVER_INFOA *ppServerInfo, DWORD *pCount)
BOOL WINAPI WTSFreeMemoryExW(WTS_TYPE_CLASS type, void *ptr, ULONG nmemb)
BOOL WINAPI WTSEnumerateProcessesExA(HANDLE server, DWORD *level, DWORD session_id, char **info, DWORD *count)
BOOL WINAPI WTSTerminateProcess(HANDLE hServer, DWORD ProcessId, DWORD ExitCode)
BOOL WINAPI WTSSetUserConfigW(LPWSTR pServerName, LPWSTR pUserName, WTS_CONFIG_CLASS WTSConfigClass, LPWSTR pBuffer, DWORD DataLength)
BOOL WINAPI WTSUnRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd)
BOOL WINAPI WTSVirtualChannelPurgeInput(HANDLE hChannelHandle)
HANDLE WINAPI WTSOpenServerA(LPSTR pServerName)
BOOL WINAPI WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer, ULONG Length, PULONG pBytesWritten)
BOOL WINAPI WTSWaitSystemEvent(HANDLE hServer, DWORD Mask, DWORD *Flags)
BOOL WINAPI WTSEnumerateSessionsExA(HANDLE server, DWORD *level, DWORD filter, WTS_SESSION_INFO_1A *info, DWORD *count)
BOOL WINAPI WTSShutdownSystem(HANDLE hServer, DWORD ShutdownFlag)
BOOL WINAPI WTSConnectSessionA(ULONG LogonId, ULONG TargetLogonId, PSTR pPassword, BOOL bWait)
HANDLE WINAPI WTSOpenServerW(LPWSTR pServerName)
BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd)
BOOL WINAPI WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)
BOOL WINAPI WTSQueryUserToken(ULONG session_id, PHANDLE token)
BOOL WINAPI WTSLogoffSession(HANDLE hserver, DWORD session_id, BOOL bwait)
BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags)
enum _WTS_VIRTUAL_CLASS WTS_VIRTUAL_CLASS
enum tagWTS_INFO_CLASS WTS_INFO_CLASS
#define WTS_CURRENT_SERVER_HANDLE
enum _WTS_CONFIG_CLASS WTS_CONFIG_CLASS
enum _WTS_TYPE_CLASS WTS_TYPE_CLASS
struct _WTS_PROCESS_INFOW WTS_PROCESS_INFOW
#define DUPLICATE_SAME_ACCESS