288 lines
4.5 KiB
C
288 lines
4.5 KiB
C
|
#include "termsrvpch.h"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
#include <winsta.h>
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
_WinStationNotifyLogoff(
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
HANDLE
|
||
|
WINAPI
|
||
|
WinStationOpenServerW(
|
||
|
LPWSTR pServerName
|
||
|
)
|
||
|
{
|
||
|
return INVALID_HANDLE_VALUE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationCloseServer(
|
||
|
HANDLE hServer
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationConnectW(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
ULONG TargetLogonId,
|
||
|
PWCHAR pPassword,
|
||
|
BOOLEAN bWait
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationGetProcessSid(
|
||
|
HANDLE hServer,
|
||
|
DWORD ProcessId,
|
||
|
FILETIME ProcessStartTime,
|
||
|
PBYTE pProcessUserSid,
|
||
|
DWORD *pdwSidSize
|
||
|
)
|
||
|
{
|
||
|
*pdwSidSize = 0; // an OUT parameter even on failure
|
||
|
SetLastError(ERROR_PROC_NOT_FOUND); // callers expect LastError to be set
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationQueryInformationA(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
WINSTATIONINFOCLASS WinStationInformationClass,
|
||
|
PVOID pWinStationInformation,
|
||
|
ULONG WinStationInformationLength,
|
||
|
PULONG pReturnLength
|
||
|
)
|
||
|
{
|
||
|
SetLastError(ERROR_PROC_NOT_FOUND);
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationQueryInformationW(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
WINSTATIONINFOCLASS WinStationInformationClass,
|
||
|
PVOID pWinStationInformation,
|
||
|
ULONG WinStationInformationLength,
|
||
|
PULONG pReturnLength
|
||
|
)
|
||
|
{
|
||
|
SetLastError(ERROR_PROC_NOT_FOUND);
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
|
||
|
static
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
WinStationRegisterConsoleNotification(
|
||
|
HANDLE hServer,
|
||
|
HWND hWnd,
|
||
|
DWORD dwFlags
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
BOOLEAN WINAPI
|
||
|
WinStationSendMessageW(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
LPWSTR pTitle,
|
||
|
ULONG TitleLength,
|
||
|
LPWSTR pMessage,
|
||
|
ULONG MessageLength,
|
||
|
ULONG Style,
|
||
|
ULONG Timeout,
|
||
|
PULONG pResponse,
|
||
|
BOOLEAN DoNotWait
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationSetInformationW(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
WINSTATIONINFOCLASS WinStationInformationClass,
|
||
|
PVOID pWinStationInformation,
|
||
|
ULONG WinStationInformationLength
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationShadow(
|
||
|
HANDLE hServer,
|
||
|
PWSTR pTargetServerName,
|
||
|
ULONG TargetLogonId,
|
||
|
BYTE HotkeyVk,
|
||
|
USHORT HotkeyModifiers
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
static
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
WinStationUnRegisterConsoleNotification(
|
||
|
HANDLE hServer,
|
||
|
HWND hWnd
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
|
||
|
static
|
||
|
NTSTATUS
|
||
|
WINAPI
|
||
|
_WinStationShadowTarget(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId,
|
||
|
PWINSTATIONCONFIG2 pConfig,
|
||
|
PICA_STACK_ADDRESS pAddress,
|
||
|
PVOID pModuleData,
|
||
|
ULONG ModuleDataLength,
|
||
|
PVOID pThinwireData,
|
||
|
ULONG ThinwireDataLength,
|
||
|
PVOID pClientName,
|
||
|
ULONG ClientNameLength
|
||
|
)
|
||
|
{
|
||
|
return STATUS_PROCEDURE_NOT_FOUND;
|
||
|
}
|
||
|
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
_WinStationShadowTargetSetup(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationFreeMemory(
|
||
|
PVOID pBuffer
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationEnumerateW(
|
||
|
HANDLE hServer,
|
||
|
PLOGONIDW *ppLogonId,
|
||
|
PULONG pEntries
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationEnumerate_IndexedW(
|
||
|
HANDLE hServer,
|
||
|
PULONG pEntries,
|
||
|
PLOGONIDW pLogonId,
|
||
|
PULONG pByteCount,
|
||
|
PULONG pIndex
|
||
|
)
|
||
|
{
|
||
|
SetLastError(ERROR_PROC_NOT_FOUND);
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WINAPI
|
||
|
WinStationGetTermSrvCountersValue(
|
||
|
HANDLE hServer,
|
||
|
ULONG dwEntries,
|
||
|
PVOID pCounter
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
static
|
||
|
BOOLEAN
|
||
|
WinStationIsHelpAssistantSession(
|
||
|
HANDLE hServer,
|
||
|
ULONG LogonId
|
||
|
)
|
||
|
{
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// !! WARNING !! The entries below must be in alphabetical order, and are CASE SENSITIVE (eg lower case comes last!)
|
||
|
//
|
||
|
DEFINE_PROCNAME_ENTRIES(winsta)
|
||
|
{
|
||
|
DLPENTRY(WinStationCloseServer)
|
||
|
DLPENTRY(WinStationConnectW)
|
||
|
DLPENTRY(WinStationEnumerateW)
|
||
|
DLPENTRY(WinStationEnumerate_IndexedW)
|
||
|
DLPENTRY(WinStationFreeMemory)
|
||
|
DLPENTRY(WinStationGetProcessSid)
|
||
|
DLPENTRY(WinStationGetTermSrvCountersValue)
|
||
|
DLPENTRY(WinStationIsHelpAssistantSession)
|
||
|
DLPENTRY(WinStationOpenServerW)
|
||
|
DLPENTRY(WinStationQueryInformationA)
|
||
|
DLPENTRY(WinStationQueryInformationW)
|
||
|
DLPENTRY(WinStationRegisterConsoleNotification)
|
||
|
DLPENTRY(WinStationSendMessageW)
|
||
|
DLPENTRY(WinStationSetInformationW)
|
||
|
DLPENTRY(WinStationShadow)
|
||
|
DLPENTRY(WinStationUnRegisterConsoleNotification)
|
||
|
DLPENTRY(_WinStationNotifyLogoff)
|
||
|
DLPENTRY(_WinStationShadowTarget)
|
||
|
DLPENTRY(_WinStationShadowTargetSetup)
|
||
|
};
|
||
|
|
||
|
DEFINE_PROCNAME_MAP(winsta)
|