Windows2003-3790/termsrv/rdpwsx/rdpex/tsrvvc.h
2020-09-30 16:53:55 +02:00

84 lines
2.1 KiB
C

//---------------------------------------------------------------------------
//
// File: TSrvVC.h
//
// Contents: TSrvVC public include file
//
// Copyright: (c) 1998, Microsoft Corporation.
// All Rights Reserved.
// Information Contained Herein is Proprietary
// and Confidential.
//
//---------------------------------------------------------------------------
//
// Registry details for VC Addins subkey
//
#define TSRV_VC_KEY REG_CONTROL_TSERVER L"\\" L"Addins"
#define TSRV_VC_ADDIN_SUBKEY_LEN 100
#define TSRV_VC_NAME L"Name"
#define TSRV_VC_TYPE L"Type"
#define TSRV_VC_SHADOW L"RemoteControlPersistent"
// Length of TSRV_VC_ADDIN.Name
#define TSRV_VC_ADDIN_NAMELEN 100
// Values for TSRV_VC_ADDIN.Type
#define TSRV_VC_TYPE_KERNEL_SYSTEM 0
#define TSRV_VC_TYPE_KERNEL_SESSION 1
#define TSRV_VC_TYPE_USER_SYSTEM 2
#define TSRV_VC_TYPE_USER_SESSION 3
//
// TSRV_VC_ADDIN - information about a Virtual Channel addin
//
typedef struct tagTSRV_VC_ADDIN
{
UINT_PTR AddinContext;
DWORD Type;
HANDLE hDevice;
BOOL bShadowPersistent;
TCHAR Name[TSRV_VC_ADDIN_NAMELEN];
} TSRV_VC_ADDIN, * PTSRV_VC_ADDIN;
BOOL
TSrvInitVC(VOID);
VOID
TSrvTermVC(VOID);
VOID
TSrvReleaseVCAddins(PWSX_CONTEXT pWsxContext);
// Values for TSrvVcNotifyVC Event parameter
#define TSRV_VC_SESSION_CONNECT 1
#define TSRV_VC_SESSION_DISCONNECT 2
#define TSRV_VC_SESSION_SHADOW_START 3
#define TSRV_VC_SESSION_SHADOW_END 4
VOID
TSrvNotifyVC(PWSX_CONTEXT pWsxContext, ULONG Event);
VOID
TSrvNotifyVC_0(PWSX_CONTEXT pWsxContext, ULONG Event);
VOID
TSrvNotifyVC_3(PWSX_CONTEXT pWsxContext, ULONG Event);
BOOL
TSrvOpenAndSetEvent(LPCTSTR szEventName, BOOL bPerSessionEvent);
HANDLE
OpenPerSessionEvent(DWORD dwDesiredAccess, BOOL bInheritHandle,
LPCTSTR szEventName);
LPVOID
TSrvAllocVCContext(UINT extraBytes, OUT UINT * numAddins);
LONG
TSrvReadVCAddins(VOID);
VOID
TSrvGotAddinChangedEvent(void);
BOOL
TSrvSetAddinChangeNotification(void);