You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
813 lines
26 KiB
813 lines
26 KiB
|
|
/*************************************************************************
|
|
*
|
|
* icaapi.idl
|
|
*
|
|
* DCE RPC IDL file for ICA API's (WinStations)
|
|
*
|
|
* Copyright Microsoft Corporation. 1998
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*************************************************************************/
|
|
|
|
//
|
|
//
|
|
// NOTE: All WINSTATION API data structures are declared as variable sized
|
|
// character buffers to RPC with the "size_is()" modifier. We do not
|
|
// break out each structure in IDL since we do not need to handle
|
|
// big and little endian conversion issues. IE: Clients will be
|
|
// Windows NT, and servers will be WinFrame based on Windows NT.
|
|
//
|
|
// If we need to support big endian clients for the client side of the
|
|
// API's, then the proper IDL break out must be done for each structure,
|
|
// with its discriminant, which is the information type ENUM.
|
|
// (could use user marshall for tricky ones)
|
|
//
|
|
|
|
//
|
|
// An RPC context_handle maintains state on the server for an open
|
|
// connection from a given client. This allows the server to store
|
|
// state information about the client.
|
|
// IE: authentication information, etc.
|
|
//
|
|
// The RPC runtime implements a keep alive mechanism, and calls
|
|
// a server run down routine when the connection goes away.
|
|
//
|
|
|
|
typedef [context_handle] void *SERVER_HANDLE;
|
|
|
|
|
|
//
|
|
// The number uuid was generated by UUIDGEN, and
|
|
// is unique across time and space. This number should
|
|
// never change for this service.
|
|
//
|
|
|
|
[
|
|
uuid(5ca4a760-ebb1-11cf-8611-00a0245420ed),
|
|
version(1.0),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
|
|
//
|
|
// This is our service "program"
|
|
//
|
|
|
|
interface IcaApi
|
|
{
|
|
|
|
//
|
|
// Note: Because of header file include problems, the NT headers
|
|
// can not be brought in since the auto generate RPC header
|
|
// includes windows headers first. So we avoid any definitions
|
|
// in winsta.h and use generic, sized types. Our winsta.dll
|
|
// client stub handles the actual winstation typing.
|
|
//
|
|
|
|
import "import.idl";
|
|
|
|
//
|
|
// Return the RPC context handle for the open server
|
|
//
|
|
|
|
BOOLEAN
|
|
RpcWinStationOpenServer(
|
|
[in] handle_t hBinding,
|
|
[out] DWORD *pResult,
|
|
[out] SERVER_HANDLE *phServer
|
|
);
|
|
|
|
//
|
|
// Close the context handle
|
|
//
|
|
|
|
BOOLEAN
|
|
RpcWinStationCloseServer(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
//
|
|
// Ping the server for testing. Could be used for
|
|
// keep alive in WinFrame clusters.
|
|
//
|
|
|
|
BOOLEAN
|
|
RpcIcaServerPing(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
//
|
|
// WinStationEnumerate
|
|
//
|
|
// Note use of size_is() for variable length buffer handling
|
|
//
|
|
|
|
BOOLEAN
|
|
RpcWinStationEnumerate(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out] PULONG pEntries,
|
|
[in,out,unique,size_is(*pByteCount)] PCHAR pLogonId,
|
|
[in,out] PULONG pByteCount,
|
|
[in,out] PULONG pIndex
|
|
);
|
|
|
|
//
|
|
// The RPC function differs from the prototype in winsta.h
|
|
// since it handles a changing size for WINSTATIONNAMEW
|
|
//
|
|
BOOLEAN
|
|
RpcWinStationRename(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(NameOldSize)] PWCHAR pWinStationNameOld,
|
|
[in] DWORD NameOldSize,
|
|
[in,size_is(NameNewSize)] PWCHAR pWinStationNameNew,
|
|
[in] DWORD NameNewSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationQueryInformation(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] DWORD WinStationInformationClass,
|
|
[in,out,unique,size_is(WinStationInformationLength)] PCHAR pWinStationInformation,
|
|
[in] DWORD WinStationInformationLength,
|
|
[out] DWORD *pReturnLength
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationSetInformation(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] DWORD WinStationInformationClass,
|
|
[in,out,unique,size_is(WinStationInformationLength)] PCHAR pWinStationInformation,
|
|
[in] DWORD WinStationInformationLength
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationSendMessage(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in,size_is(TitleLength)] PWCHAR pTitle,
|
|
[in] DWORD TitleLength,
|
|
[in,size_is(MessageLength)] PWCHAR pMessage,
|
|
[in] DWORD MessageLength,
|
|
[in] DWORD Style,
|
|
[in] DWORD Timeout,
|
|
[out] DWORD *pRespsonse,
|
|
[in] BOOLEAN DoNotWait
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcLogonIdFromWinStationName(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(NameSize)] PWCHAR pWinStationName,
|
|
[in] DWORD NameSize,
|
|
[out] DWORD *pLogonId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNameFromLogonId(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LoginId,
|
|
[in,out,size_is(NameSize)] PWCHAR pWinStationName,
|
|
[in] DWORD NameSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationConnect(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ConnectLogonId,
|
|
[in] DWORD TargetLogonId,
|
|
[in,size_is(PasswordSize)] PWCHAR pPassword,
|
|
[in] DWORD PasswordSize,
|
|
[in] BOOLEAN Wait
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationVirtualOpen(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] DWORD Pid,
|
|
[in,size_is(NameSize)] PCHAR pVirtualName,
|
|
[in] DWORD NameSize,
|
|
[out] ULONG_PTR *pHandle
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationBeepOpen(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] DWORD Pid,
|
|
[out] ULONG_PTR *pHandle
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationDisconnect(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] BOOLEAN bWait
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationReset(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] BOOLEAN bWait
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationShutdownSystem(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ShutdownFlags
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationWaitSystemEvent(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD EventMask,
|
|
[out] DWORD *pEventFlags
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationShadow(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in,unique,size_is(NameSize)] PWCHAR pTargetServerName,
|
|
[in] DWORD NameSize,
|
|
[in] DWORD TargetLogonId,
|
|
[in] BYTE HotKeyVk,
|
|
[in] USHORT HotkeyModifiers
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationShadowTargetSetup(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationShadowTarget(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in,size_is(ConfigSize)] PBYTE pConfig,
|
|
[in] DWORD ConfigSize,
|
|
[in,size_is(AddressSize)] PBYTE pAddress,
|
|
[in] DWORD AddressSize,
|
|
[in,size_is(ModuleDataSize)] PBYTE pModuleData,
|
|
[in] DWORD ModuleDataSize,
|
|
[in,size_is(ThinwireDataSize)] PBYTE pThinwireData,
|
|
[in] DWORD ThinwireDataSize,
|
|
[in,size_is(ClientNameSize)] PBYTE pClientName,
|
|
[in] DWORD ClientNameSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGenerateLicense(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(StringSize)] PWCHAR pSerialNumberString,
|
|
[in] DWORD StringSize,
|
|
[out,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationInstallLicense(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationEnumerateLicenses(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out] DWORD *pIndex,
|
|
[in,out] DWORD *pEntries,
|
|
[out,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize,
|
|
[in,out] DWORD *pByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationActivateLicense(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize,
|
|
[in,size_is(StringSize)] PWCHAR pActivationCode,
|
|
[in] DWORD StringSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationRemoveLicense(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationQueryLicense(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out,size_is(ByteCount)] PCHAR pLicenseCounts,
|
|
[in] DWORD ByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationSetPoolCount(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out,size_is(LicenseSize)] PCHAR pLicense,
|
|
[in] DWORD LicenseSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationQueryUpdateRequired(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out] DWORD *pUpdateFlag
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationCallback(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in,size_is(PhoneNumberSize)] PWCHAR pPhoneNumber,
|
|
[in] DWORD PhoneNumberSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationBreakPoint(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] BOOLEAN KernelFlag
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationReadRegistry(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationWaitForConnect(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ClientProcessId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNotifyLogon(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ClientProcessId,
|
|
[in] BOOLEAN fUserIsAdmin,
|
|
[in] DWORD UserToken,
|
|
[in,size_is(DomainSize)] PWCHAR pDomain,
|
|
[in] DWORD DomainSize,
|
|
[in,size_is(UserNameSize)] PWCHAR pUserName,
|
|
[in] DWORD UserNameSize,
|
|
[in,size_is(PasswordSize)] PWCHAR pPassword,
|
|
[in] DWORD PasswordSize,
|
|
[in] UCHAR Seed,
|
|
[in,size_is(ConfigSize)] PCHAR pUserConfig,
|
|
[in] DWORD ConfigSize,
|
|
[out] BOOLEAN *pfIsRedirected
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNotifyLogoff(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ClientProcessId,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
BOOLEAN
|
|
OldRpcWinStationEnumerateProcesses(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out,size_is(ByteCount)] PBYTE pProcessBuffer,
|
|
[in] DWORD ByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationAnnoyancePopup(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonIdld
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationEnumerateProcesses(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out,size_is(ByteCount)] PBYTE pProcessBuffer,
|
|
[in] DWORD ByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationTerminateProcess(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ProcessId,
|
|
[in] DWORD ExitCode
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcServerNWLogonSetAdmin(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(ServerNameSize)] PWCHAR pServerName,
|
|
[in] DWORD ServerNameSize,
|
|
[in,out,unique,size_is(ByteCount)] PCHAR pNWLogon,
|
|
[in] DWORD ByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcServerNWLogonQueryAdmin(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,size_is(ServerNameSize)] PWCHAR pServerName,
|
|
[in] DWORD ServerNameSize,
|
|
[in,out,unique,size_is(ByteCount)] PCHAR pNWLogon,
|
|
[in] DWORD ByteCount
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationCheckForApplicationName(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in,out,size_is(UserNameSize)] PWCHAR pUserName,
|
|
[in] DWORD UserNameSize,
|
|
[in,out,size_is(DomainSize)] PWCHAR pDomain,
|
|
[in] DWORD DomainSize,
|
|
[in,out,size_is(*pPasswordSize)] PWCHAR pPassword,
|
|
[in,out] DWORD *pPasswordSize,
|
|
[in] DWORD MaxPasswordSize,
|
|
[in,out] PCHAR pSeed,
|
|
[out] PBOOLEAN pfPublished,
|
|
[out] PBOOLEAN pfAnonymous
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetApplicationInfo(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[out] PBOOLEAN pfPublished,
|
|
[out] PBOOLEAN pfAnonymous
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNtsdDebug(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] LONG ProcessId,
|
|
[in] ULONG DbgProcessId,
|
|
[in] ULONG DbgThreadId,
|
|
[in] DWORD_PTR AttachCompletionRoutine
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetAllProcesses(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] ULONG Level,
|
|
[in, out] ULONG *pNumberOfProcesses,
|
|
[out, size_is(,*pNumberOfProcesses)]
|
|
PTS_ALL_PROCESSES_INFO *ppTsAllProcessesInfo
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetProcessSid(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in] DWORD dwUniqueProcessId,
|
|
[in] LARGE_INTEGER ProcessStartTime,
|
|
[out] LONG *pResult,
|
|
[in,out,unique,size_is(dwSidSize)]
|
|
PBYTE pProcessUserSid,
|
|
[in] DWORD dwSidSize,
|
|
[in,out] DWORD *pdwSizeNeeded
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetTermSrvCountersValue(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD dwEntries,
|
|
[in,out, size_is(dwEntries)] PTS_COUNTER pCounter
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationReInitializeSecurity(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
LONG
|
|
RpcWinStationBroadcastSystemMessage(
|
|
[in ] SERVER_HANDLE hServer,
|
|
[in] ULONG sessionID,
|
|
[in] ULONG timeOut,
|
|
[in] DWORD dwFlags,
|
|
[in,out,ptr] DWORD *lpdwRecipients,
|
|
[in] ULONG uiMessage,
|
|
[in] UINT_PTR wParam,
|
|
[in] LONG_PTR lParam,
|
|
[in,size_is(bufferSize)] PBYTE pBuffer,
|
|
[in] ULONG bufferSize,
|
|
[in] BOOLEAN fBufferHasValidData,
|
|
[out] LONG *pResponse
|
|
);
|
|
|
|
LONG
|
|
RpcWinStationSendWindowMessage(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in] ULONG sessionID,
|
|
[in] ULONG timeOut,
|
|
[in] ULONG hWnd,
|
|
[in] ULONG Msg,
|
|
[in] UINT_PTR wParam,
|
|
[in] LONG_PTR lParam,
|
|
[in,size_is(bufferSize)] PBYTE pBuffer,
|
|
[in] ULONG bufferSize,
|
|
[in] BOOLEAN fBufferHasValidData,
|
|
[out] LONG *pResponse
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNotifyNewSession(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcServerGetInternetConnectorStatus(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out] PBOOLEAN pfEnabled
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcServerSetInternetConnectorStatus(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] BOOLEAN fEnabled
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcServerQueryInetConnectorInformation(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in,out,unique,size_is(WinStationInformationLength)] PCHAR pWinStationInformation,
|
|
[in] DWORD WinStationInformationLength,
|
|
[out] DWORD *pReturnLength
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetLanAdapterName(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD PdNameSize,
|
|
[in,size_is(PdNameSize)] PWCHAR pPdName,
|
|
[in] ULONG LanAdapter,
|
|
[out] ULONG *pLength,
|
|
[out, size_is(,*pLength)] PWCHAR *ppLanAdapter
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationUpdateUserConfig(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD ClientProcessId,
|
|
[in] DWORD UserToken,
|
|
[out] DWORD *pResult
|
|
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationQueryLogonCredentials(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in] ULONG LogonId,
|
|
[out,size_is(,*pcbCredentials)] PCHAR *ppCredentials,
|
|
[in,out] ULONG *pcbCredentials
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationRegisterConsoleNotification(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] ULONG SessionId,
|
|
[in] ULONG_PTR hWnd,
|
|
[in] DWORD dwFlags,
|
|
[in] DWORD dwMask
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationUnRegisterConsoleNotification(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] ULONG SessionId,
|
|
[in] ULONG hWnd
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationUpdateSettings(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD SettingsClass,
|
|
[in] DWORD SettingsParameters
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationShadowStop(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] BOOLEAN bWait
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationCloseServerEx(
|
|
[in, out] SERVER_HANDLE *phServer,
|
|
[out] DWORD *pResult
|
|
);
|
|
|
|
|
|
BOOLEAN
|
|
RpcWinStationIsHelpAssistantSession(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD* pResult,
|
|
[in] ULONG SessionId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetMachinePolicy(
|
|
[in] SERVER_HANDLE hServer,
|
|
[in,out,size_is(bufferSize)] PBYTE pPolicy,
|
|
[in] ULONG bufferSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationUpdateClientCachedCredentials(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] ULONG_PTR ClientProcessId,
|
|
[in,size_is(DomainSize)] PWCHAR pDomain,
|
|
[in] DWORD DomainSize,
|
|
[in,size_is(UserNameSize)] PWCHAR pUserName,
|
|
[in] DWORD UserNameSize,
|
|
[in] BOOLEAN fSmartCardLogon
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationFUSCanRemoteUserDisconnect(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD TargetLogonId,
|
|
[in] DWORD ClientLogonId,
|
|
[in] ULONG_PTR ClientProcessId,
|
|
[in,size_is(DomainSize)] PWCHAR pDomain,
|
|
[in] DWORD DomainSize,
|
|
[in,size_is(UserNameSize)] PWCHAR pUserName,
|
|
[in] DWORD UserNameSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationCheckLoopBack(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD TargetLogonId,
|
|
[in,size_is(NameSize)] PWCHAR pTargetServerName,
|
|
[in] DWORD NameSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcConnectCallback(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD TimeOut,
|
|
[in] ULONG AddressType,
|
|
[in,size_is(AddressSize)] PBYTE pAddress,
|
|
[in] ULONG AddressSize
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationNotifyDisconnectPipe(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] ULONG_PTR ClientProcessId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationSessionInitialized(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] ULONG_PTR ClientProcessId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcRemoteAssistancePrepareSystemRestore(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD* pResult
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationGetAllProcesses_NT6(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] ULONG Level,
|
|
[in, out] ULONG *pNumberOfProcesses,
|
|
[out, size_is(,*pNumberOfProcesses)]
|
|
PTS_ALL_PROCESSES_INFO_NT6 *ppTsAllProcessesInfo
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationRegisterNotificationEvent(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[out] ULONG_PTR *pNotificationId,
|
|
[in] ULONG_PTR EventHandle,
|
|
[in] DWORD dwFlags,
|
|
[in] DWORD dwMask,
|
|
[in] ULONG SessionId,
|
|
[in] ULONG ProcessId
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationUnRegisterNotificationEvent(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] ULONG_PTR NotificationId,
|
|
[in] ULONG SessionId
|
|
);
|
|
|
|
//
|
|
// Do autoreconnection policy in an atomic operation.
|
|
// Return status indicates if an autoreconnection took
|
|
// place.
|
|
//
|
|
BOOLEAN
|
|
RpcWinStationAutoReconnect(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD LogonId,
|
|
[in] DWORD flags
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationCheckAccess(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in] DWORD ClientLogonId,
|
|
[in] DWORD UserToken,
|
|
[in] ULONG LogonId,
|
|
[in] ULONG AccessMask
|
|
);
|
|
|
|
BOOLEAN
|
|
RpcWinStationOpenSessionDirectory(
|
|
[in] SERVER_HANDLE hServer,
|
|
[out] DWORD *pResult,
|
|
[in, string, max_is(64)] PWCHAR pszServerName
|
|
);
|
|
}
|