📄 wtsapi32.h
字号:
typedef enum _WTS_VIRTUAL_CLASS {
WTSVirtualClientData, // Virtual channel client module data
// (C2H data)
} WTS_VIRTUAL_CLASS;
/*=====================================================================
== Windows Terminal Server public APIs
=====================================================================*/
BOOL
WINAPI
WTSEnumerateServersW(
IN LPWSTR pDomainName,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_SERVER_INFOW * ppServerInfo,
OUT DWORD * pCount
);
BOOL
WINAPI
WTSEnumerateServersA(
IN LPSTR pDomainName,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_SERVER_INFOA * ppServerInfo,
OUT DWORD * pCount
);
#ifdef UNICODE
#define WTSEnumerateServers WTSEnumerateServersW
#else
#define WTSEnumerateServers WTSEnumerateServersA
#endif
/*------------------------------------------------*/
HANDLE
WINAPI
WTSOpenServerW(
IN LPWSTR pServerName
);
HANDLE
WINAPI
WTSOpenServerA(
IN LPSTR pServerName
);
#ifdef UNICODE
#define WTSOpenServer WTSOpenServerW
#else
#define WTSOpenServer WTSOpenServerA
#endif
/*------------------------------------------------*/
VOID
WINAPI
WTSCloseServer(
IN HANDLE hServer
);
/*------------------------------------------------*/
BOOL
WINAPI
WTSEnumerateSessionsW(
IN HANDLE hServer,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_SESSION_INFOW * ppSessionInfo,
OUT DWORD * pCount
);
BOOL
WINAPI
WTSEnumerateSessionsA(
IN HANDLE hServer,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_SESSION_INFOA * ppSessionInfo,
OUT DWORD * pCount
);
#ifdef UNICODE
#define WTSEnumerateSessions WTSEnumerateSessionsW
#else
#define WTSEnumerateSessions WTSEnumerateSessionsA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSEnumerateProcessesW(
IN HANDLE hServer,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_PROCESS_INFOW * ppProcessInfo,
OUT DWORD * pCount
);
BOOL
WINAPI
WTSEnumerateProcessesA(
IN HANDLE hServer,
IN DWORD Reserved,
IN DWORD Version,
OUT PWTS_PROCESS_INFOA * ppProcessInfo,
OUT DWORD * pCount
);
#ifdef UNICODE
#define WTSEnumerateProcesses WTSEnumerateProcessesW
#else
#define WTSEnumerateProcesses WTSEnumerateProcessesA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSTerminateProcess(
IN HANDLE hServer,
IN DWORD ProcessId,
IN DWORD ExitCode
);
/*------------------------------------------------*/
BOOL
WINAPI
WTSQuerySessionInformationW(
IN HANDLE hServer,
IN DWORD SessionId,
IN WTS_INFO_CLASS WTSInfoClass,
OUT LPWSTR * ppBuffer,
OUT DWORD * pBytesReturned
);
BOOL
WINAPI
WTSQuerySessionInformationA(
IN HANDLE hServer,
IN DWORD SessionId,
IN WTS_INFO_CLASS WTSInfoClass,
OUT LPSTR * ppBuffer,
OUT DWORD * pBytesReturned
);
#ifdef UNICODE
#define WTSQuerySessionInformation WTSQuerySessionInformationW
#else
#define WTSQuerySessionInformation WTSQuerySessionInformationA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSQueryUserConfigW(
IN LPWSTR pServerName,
IN LPWSTR pUserName,
IN WTS_CONFIG_CLASS WTSConfigClass,
OUT LPWSTR * ppBuffer,
OUT DWORD * pBytesReturned
);
BOOL
WINAPI
WTSQueryUserConfigA(
IN LPSTR pServerName,
IN LPSTR pUserName,
IN WTS_CONFIG_CLASS WTSConfigClass,
OUT LPSTR * ppBuffer,
OUT DWORD * pBytesReturned
);
#ifdef UNICODE
#define WTSQueryUserConfig WTSQueryUserConfigW
#else
#define WTSQueryUserConfig WTSQueryUserConfigA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSSetUserConfigW(
IN LPWSTR pServerName,
IN LPWSTR pUserName,
IN WTS_CONFIG_CLASS WTSConfigClass,
IN LPWSTR pBuffer,
IN DWORD DataLength
);
BOOL
WINAPI
WTSSetUserConfigA(
IN LPSTR pServerName,
IN LPSTR pUserName,
IN WTS_CONFIG_CLASS WTSConfigClass,
IN LPSTR pBuffer,
IN DWORD DataLength
);
#ifdef UNICODE
#define WTSSetUserConfig WTSSetUserConfigW
#else
#define WTSSetUserConfig WTSSetUserConfigA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSSendMessageW(
IN HANDLE hServer,
IN DWORD SessionId,
IN LPWSTR pTitle,
IN DWORD TitleLength,
IN LPWSTR pMessage,
IN DWORD MessageLength,
IN DWORD Style,
IN DWORD Timeout,
OUT DWORD * pResponse,
IN BOOL bWait
);
BOOL
WINAPI
WTSSendMessageA(
IN HANDLE hServer,
IN DWORD SessionId,
IN LPSTR pTitle,
IN DWORD TitleLength,
IN LPSTR pMessage,
IN DWORD MessageLength,
IN DWORD Style,
IN DWORD Timeout,
OUT DWORD * pResponse,
IN BOOL bWait
);
#ifdef UNICODE
#define WTSSendMessage WTSSendMessageW
#else
#define WTSSendMessage WTSSendMessageA
#endif
/*------------------------------------------------*/
BOOL
WINAPI
WTSDisconnectSession(
IN HANDLE hServer,
IN DWORD SessionId,
IN BOOL bWait
);
/*------------------------------------------------*/
BOOL
WINAPI
WTSLogoffSession(
IN HANDLE hServer,
IN DWORD SessionId,
IN BOOL bWait
);
/*------------------------------------------------*/
BOOL
WINAPI
WTSShutdownSystem(
IN HANDLE hServer,
IN DWORD ShutdownFlag
);
/*------------------------------------------------*/
BOOL
WINAPI
WTSWaitSystemEvent(
IN HANDLE hServer,
IN DWORD EventMask,
OUT DWORD * pEventFlags
);
/*------------------------------------------------*/
HANDLE
WINAPI
WTSVirtualChannelOpen(
IN HANDLE hServer,
IN DWORD SessionId,
IN LPSTR pVirtualName /* ascii name */
);
BOOL
WINAPI
WTSVirtualChannelClose(
IN HANDLE hChannelHandle
);
BOOL
WINAPI
WTSVirtualChannelRead(
IN HANDLE hChannelHandle,
IN ULONG TimeOut,
OUT PCHAR Buffer,
IN ULONG BufferSize,
OUT PULONG pBytesRead
);
BOOL
WINAPI
WTSVirtualChannelWrite(
IN HANDLE hChannelHandle,
IN PCHAR Buffer,
IN ULONG Length,
OUT PULONG pBytesWritten
);
BOOL
WINAPI
WTSVirtualChannelPurgeInput(
IN HANDLE hChannelHandle
);
BOOL
WINAPI
WTSVirtualChannelPurgeOutput(
IN HANDLE hChannelHandle
);
BOOL
WINAPI
WTSVirtualChannelQuery(
IN HANDLE hChannelHandle,
IN WTS_VIRTUAL_CLASS,
OUT PVOID *ppBuffer,
OUT DWORD *pBytesReturned
);
/*------------------------------------------------*/
VOID
WINAPI
WTSFreeMemory(
IN PVOID pMemory
);
#ifdef __cplusplus
}
#endif
#pragma option pop /*P_O_Pop*/
#endif /* !_INC_WTSAPI */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -