Leaked source code of windows server 2003
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.

627 lines
22 KiB

  1. /******************************************************************
  2. Copyright (C) 2000 Microsoft Corp.
  3. Winstation.H -- WMI provider class definition
  4. Generated by Microsoft WBEM Code Generation Engine
  5. Description:
  6. *******************************************************************/
  7. // Property set identification
  8. //============================
  9. #ifndef _Winstation_H_
  10. #define _Winstation_H_
  11. #include "resource.h"
  12. #include "Terminal.h"
  13. #include <winsta.h>
  14. #include <regapi.h>
  15. #include "smartptr.h"
  16. #define BIT_FENABLETERMINAL 0x0000000000000001
  17. #define BIT_TERMINALNAME 0x0000000000000002
  18. #define BIT_TERMINALPROTOCOL 0x0000000000000004
  19. #define BIT_TRANSPORT 0x0000000000000008
  20. #define BIT_COMMENT 0x0000000000000010
  21. #define BIT_WINDOWSAUTHENTICATION 0x0000000000000020
  22. #define BIT_ENCRYPTIONLEVEL 0x0000000000000040
  23. #define BIT_CLIENTLOGONINFOPOLICY 0x0000000000000080
  24. #define BIT_PROMPTFORPASSWORD 0x0000000000000100
  25. #define BIT_USERNAME 0x0000000000000200
  26. #define BIT_DOMAIN 0x0000000000000400
  27. #define BIT_ACTIVESESSIONPOLICY 0x0000000000001000
  28. #define BIT_DISCONNECTEDSESSIONPOLICY 0x0000000000002000
  29. #define BIT_IDLESESSIONPOLICY 0x0000000000004000
  30. #define BIT_ACTIVESESSIONLIMIT 0x0000000000008000
  31. #define BIT_DISCONNECTEDSESSIONLIMIT 0x0000000000010000
  32. #define BIT_IDLESESSIONLIMIT 0x0000000000020000
  33. #define BIT_BROKENCONNECTIONPOLICY 0x0000000000040000
  34. #define BIT_BROKENCONNECTIONACTION 0x0000000000080000
  35. #define BIT_RECONNECTIONPOLICY 0x0000000000100000
  36. #define BIT_INITIALPROGRAMPOLICY 0x0000000000200000
  37. #define BIT_INITIALPROGRAMPATH 0x0000000000400000
  38. #define BIT_STARTIN 0x0000000000800000
  39. #define BIT_CLIENTWALLPAPER 0x0000000001000000
  40. #define BIT_REMOTECONTROLPOLICY 0x0000000002000000
  41. #define BIT_LEVELOFCONTROL 0x0000000004000000
  42. #define BIT_CONNECTIONPOLICY 0x0000000008000000
  43. #define BIT_CONNECTCLIENTDRIVESATLOGON 0x0000000010000000
  44. #define BIT_CONNECTPRINTERATLOGON 0x0000000020000000
  45. #define BIT_DEFAULTTOCLIENTPRINTER 0x0000000040000000
  46. #define BIT_WINDOWSPRINTERMAPPING 0x0000000080000000
  47. #define BIT_LPTPORTMAPPING 0x0000000100000000
  48. #define BIT_COMPORTMAPPING 0x0000000200000000
  49. #define BIT_DRIVEMAPPING 0x0000000400000000
  50. #define BIT_AUDIOMAPPING 0x0000000800000000
  51. #define BIT_CLIPBOARDMAPPING 0x0000001000000000
  52. #define BIT_NETWORKADAPTERID 0x0000002000000000
  53. #define BIT_MAXIMUMCONNECTIONS 0x0000004000000000
  54. #define BIT_ACCOUNTNAME 0x0000008000000000
  55. #define BIT_SID 0x0000010000000000
  56. #define BIT_PERMISSIONSALLOWED 0x0000020000000000
  57. #define BIT_PERMISSIONSDENIED 0x0000040000000000
  58. #define BIT_AUDITSUCCESS 0x0000080000000000
  59. #define BIT_AUDITFAIL 0x0000100000000000
  60. #define BIT_COLORDEPTHPOLICY 0x0000200000000000
  61. #define BIT_COLORDEPTH 0x0000400000000000
  62. #define BIT_DESCRIPTION 0x0000800000000000
  63. #define BIT_ALL_PROP 0xffffffffffffffff
  64. #define BIT_ALL_PROPS 0xffffffff
  65. #define TS_PATH TEXT("SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations")
  66. #define PROVIDER_NAME_Win32_WIN32_TERMINAL_Prov L"Win32_Terminal"
  67. #define PROVIDER_NAME_Win32_WIN32_TSGENERALSETTING_Prov L"Win32_TSGeneralSetting"
  68. #define PROVIDER_NAME_Win32_WIN32_TSLOGONSETTING_Prov L"Win32_TSLogonSetting"
  69. #define PROVIDER_NAME_Win32_WIN32_TSSESSIONSETTING_Prov L"Win32_TSSessionSetting"
  70. #define PROVIDER_NAME_Win32_WIN32_TSENVIRONMENTSETTING_Prov L"Win32_TSEnvironmentSetting"
  71. #define PROVIDER_NAME_Win32_WIN32_TSREMOTECONTROLSETTING_Prov L"Win32_TSRemoteControlSetting"
  72. #define PROVIDER_NAME_Win32_WIN32_TSCLIENTSETTING_Prov L"Win32_TSClientSetting"
  73. #define PROVIDER_NAME_Win32_WIN32_TSNETWORKADAPTERSETTING_Prov L"Win32_TSNetworkAdapterSetting"
  74. #define PROVIDER_NAME_Win32_WIN32_TSPERMISSIONSSETTING_Prov L"Win32_TSPermissionsSetting"
  75. #define PROVIDER_NAME_Win32_WIN32_TSNETWORKADAPTERLISTSETTING_Prov L"Win32_TSNetworkAdapterListSetting"
  76. #define PROVIDER_NAME_Win32_WIN32_TSACCOUNT_Prov L"Win32_TSAccount"
  77. #define PROVIDER_NAME_Win32_WIN32_TERMINALSERVICETOSETTING_Prov L"Win32_TerminalServiceToSetting"
  78. #define PROVIDER_NAME_Win32_WIN32_TERMINALTERMINALSETTING_Prov L"Win32_TerminalTerminalSetting"
  79. #define PROVIDER_NAME_Win32_WIN32_TSSESSIONDIRECTORYSETTING_Prov L"Win32_TSSessionDirectorySetting"
  80. #define SIZE_OF_BUFFER( x ) sizeof( x ) / sizeof( TCHAR )
  81. #define WINSTATIONNAME_LENGTH 32
  82. #define WINSTATIONCOMMENT_LENGTH 60
  83. #define APPSERVERNAME_LENGTH 17
  84. #define USERNAME_LENGTH 20
  85. #define PASSWORD_LENTH 14
  86. class CWin32_Terminal : public Provider
  87. {
  88. public:
  89. // Constructor/destructor
  90. //=======================
  91. CWin32_Terminal(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  92. virtual ~CWin32_Terminal();
  93. protected:
  94. // Reading Functions
  95. //============================
  96. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  97. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query );
  98. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  99. // Writing Functions
  100. //============================
  101. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  102. virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L);
  103. // Other Functions
  104. virtual HRESULT ExecMethod(const CInstance& Instance,
  105. const BSTR bstrMethodName,
  106. CInstance *pInParams,
  107. CInstance *pOutParams,
  108. long lFlags = 0L );
  109. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  110. private:
  111. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  112. TCHAR m_szEnableTerminal[ 64 ] ;
  113. TCHAR m_szNewTerminalName[ 64 ] ;
  114. TCHAR m_szTerminalName[ 64 ];
  115. TCHAR m_szEnable[ 64 ];
  116. TCHAR m_szRename[ 64 ];
  117. TCHAR m_szDelete[ 64 ];
  118. } ;
  119. class CWin32_TSGeneralSetting : public Provider
  120. {
  121. public:
  122. // Constructor/destructor
  123. //=======================
  124. CWin32_TSGeneralSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  125. virtual ~CWin32_TSGeneralSetting();
  126. protected:
  127. // Reading Functions
  128. //============================
  129. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  130. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query );
  131. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  132. // Writing Functions
  133. //============================
  134. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  135. virtual HRESULT ExecMethod(const CInstance& Instance,
  136. const BSTR bstrMethodName,
  137. CInstance *pInParams,
  138. CInstance *pOutParams,
  139. long lFlags = 0L );
  140. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  141. private:
  142. POLICY_TS_MACHINE m_gpPolicy;
  143. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  144. TCHAR m_szTerminalProtocol[ 64 ];
  145. TCHAR m_szTransport[ 64 ];
  146. TCHAR m_szComment[ 64 ];
  147. TCHAR m_szWindowsAuthentication[ 64 ];
  148. TCHAR m_szEncryptionLevel[ 64 ];
  149. TCHAR m_szTerminalName[ 64 ];
  150. TCHAR m_szSetEncryptionLevel[ 64 ];
  151. } ;
  152. class CWin32_TSLogonSetting : public Provider
  153. {
  154. public:
  155. // Constructor/destructor
  156. //=======================
  157. CWin32_TSLogonSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  158. virtual ~CWin32_TSLogonSetting();
  159. protected:
  160. // Reading Functions
  161. //============================
  162. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  163. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query );
  164. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  165. // Writing Functions
  166. //============================
  167. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  168. // Other Functions
  169. virtual HRESULT ExecMethod(const CInstance& Instance,
  170. const BSTR bstrMethodName,
  171. CInstance *pInParams,
  172. CInstance *pOutParams,
  173. long lFlags = 0L );
  174. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  175. private:
  176. POLICY_TS_MACHINE m_gpPolicy;
  177. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  178. TCHAR m_szClientLogonInfoPolicy[ 64 ];
  179. TCHAR m_szPromptForPassword[ 64 ];
  180. TCHAR m_szUserName[ 64 ];
  181. TCHAR m_szDomain[ 64 ];
  182. TCHAR m_szPassword[ 64 ];
  183. TCHAR m_szTerminalName[ 64 ];
  184. TCHAR m_szExplicitLogon[ 64 ];
  185. TCHAR m_szSetPromptForPassword[ 64 ];
  186. } ;
  187. //-------------------------------------------
  188. class CWin32_TSSessionSetting : public Provider
  189. {
  190. public:
  191. // Constructor/destructor
  192. //=======================
  193. CWin32_TSSessionSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  194. virtual ~CWin32_TSSessionSetting();
  195. protected:
  196. // Reading Functions
  197. //============================
  198. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  199. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  200. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  201. // Writing Functions
  202. //============================
  203. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  204. // Other Functions
  205. virtual HRESULT ExecMethod(const CInstance& Instance,
  206. const BSTR bstrMethodName,
  207. CInstance *pInParams,
  208. CInstance *pOutParams,
  209. long lFlags = 0L );
  210. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  211. private:
  212. POLICY_TS_MACHINE m_gpPolicy;
  213. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  214. TCHAR m_szTimeLimitPolicy[ 64 ];
  215. TCHAR m_szActiveSessionLimit[ 64 ];
  216. TCHAR m_szDisconnectedSessionLimit[ 64 ];
  217. TCHAR m_szIdleSessionLimit[ 64 ];
  218. TCHAR m_szBrokenConnectionPolicy[ 64 ];
  219. TCHAR m_szBrokenConnectionAction[ 64 ];
  220. TCHAR m_szReconnectionPolicy[ 64 ];
  221. TCHAR m_szSessionLimitType[ 64 ];
  222. TCHAR m_szValueLimit[ 64 ];
  223. TCHAR m_szTerminalName[ 64 ];
  224. TCHAR m_szTimeLimit[ 64 ];
  225. TCHAR m_szBrokenConnection[ 64 ];
  226. } ;
  227. //----------------------------------------------
  228. class CWin32_TSEnvironmentSetting : public Provider
  229. {
  230. public:
  231. // Constructor/destructor
  232. //=======================
  233. CWin32_TSEnvironmentSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  234. virtual ~CWin32_TSEnvironmentSetting();
  235. protected:
  236. // Reading Functions
  237. //============================
  238. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  239. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  240. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  241. // Writing Functions
  242. //============================
  243. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  244. // Other Functions
  245. virtual HRESULT ExecMethod(const CInstance& Instance,
  246. const BSTR bstrMethodName,
  247. CInstance *pInParams,
  248. CInstance *pOutParams,
  249. long lFlags = 0L );
  250. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  251. private:
  252. POLICY_TS_MACHINE m_gpPolicy;
  253. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  254. TCHAR m_szInitialProgramPolicy[ 64 ];
  255. TCHAR m_szInitialProgramPath[ 64 ];
  256. TCHAR m_szStartIn[ 64 ];
  257. TCHAR m_szClientWallPaper[ 64 ];
  258. TCHAR m_szTerminalName[ 64 ];
  259. TCHAR m_szInitialProgram[ 64 ];
  260. TCHAR m_szSetClientWallPaper[ 64 ];
  261. } ;
  262. //-----------------------------------------------------
  263. class CWin32_TSRemoteControlSetting : public Provider
  264. {
  265. public:
  266. // Constructor/destructor
  267. //=======================
  268. CWin32_TSRemoteControlSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  269. virtual ~CWin32_TSRemoteControlSetting();
  270. protected:
  271. // Reading Functions
  272. //============================
  273. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  274. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  275. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  276. // Writing Functions
  277. //============================
  278. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  279. // Other Functions
  280. virtual HRESULT ExecMethod(const CInstance& Instance,
  281. const BSTR bstrMethodName,
  282. CInstance *pInParams,
  283. CInstance *pOutParams,
  284. long lFlags = 0L );
  285. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  286. private:
  287. POLICY_TS_MACHINE m_gpPolicy;
  288. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  289. TCHAR m_szRemoteControlPolicy[ 64 ];
  290. TCHAR m_szLevelOfControl[ 64 ];
  291. TCHAR m_szTerminalName[ 64 ];
  292. TCHAR m_szRemoteControl[ 64 ];
  293. } ;
  294. //-----------------------------------------------------
  295. class CWin32_TSClientSetting : public Provider
  296. {
  297. public:
  298. // Constructor/destructor
  299. //=======================
  300. CWin32_TSClientSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  301. virtual ~CWin32_TSClientSetting();
  302. protected:
  303. // Reading Functions
  304. //============================
  305. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  306. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  307. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  308. // Writing Functions
  309. //============================
  310. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  311. // Other Functions
  312. virtual HRESULT ExecMethod(const CInstance& Instance,
  313. const BSTR bstrMethodName,
  314. CInstance *pInParams,
  315. CInstance *pOutParams,
  316. long lFlags = 0L );
  317. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS );
  318. private:
  319. POLICY_TS_MACHINE m_gpPolicy;
  320. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  321. TCHAR m_szConnectionPolicy [ 64 ];
  322. TCHAR m_szConnectClientDrivesAtLogon[ 64 ];
  323. TCHAR m_szConnectPrinterAtLogon[ 64 ];
  324. TCHAR m_szDefaultToClientPrinter[ 64 ];
  325. TCHAR m_szWindowsPrinterMapping[ 64 ];
  326. TCHAR m_szLPTPortMapping[ 64 ];
  327. TCHAR m_szCOMPortMapping[ 64 ];
  328. TCHAR m_szDriveMapping[ 64 ];
  329. TCHAR m_szAudioMapping[ 64 ];
  330. TCHAR m_szClipboardMapping[ 64 ];
  331. TCHAR m_szTerminalName[ 64 ];
  332. TCHAR m_szPropertyName[ 64 ];
  333. TCHAR m_szValue[ 64 ];
  334. TCHAR m_szConnectionSettings[ 64 ];
  335. TCHAR m_szSetClientProperty[ 64 ];
  336. TCHAR m_szColorDepth[ 64 ];
  337. TCHAR m_szColorDepthPolicy[ 64 ];
  338. TCHAR m_szSetColorDepth[ 64 ];
  339. TCHAR m_szSetColorDepthPolicy[ 64 ];
  340. } ;
  341. //-----------------------------------------------------
  342. class CWin32_TSNetworkAdapterSetting : public Provider
  343. {
  344. public:
  345. // Constructor/destructor
  346. //=======================
  347. CWin32_TSNetworkAdapterSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  348. virtual ~CWin32_TSNetworkAdapterSetting();
  349. protected:
  350. // Reading Functions
  351. //============================
  352. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  353. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  354. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  355. // Writing Functions
  356. //============================
  357. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  358. // Other Functions
  359. virtual HRESULT ExecMethod(const CInstance& Instance,
  360. const BSTR bstrMethodName,
  361. CInstance *pInParams,
  362. CInstance *pOutParams,
  363. long lFlags = 0L );
  364. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  365. private:
  366. POLICY_TS_MACHINE m_gpPolicy;
  367. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  368. TCHAR m_szNetworkAdapterName[ 64 ];
  369. TCHAR m_szNetworkAdapterID[ 64 ];
  370. TCHAR m_szNetworkAdapterIP[ 64 ];
  371. TCHAR m_szMaximumConnections[ 64 ];
  372. TCHAR m_szTerminalName[ 64 ];
  373. TCHAR m_szSelectAllNetworkAdapters[ 64 ];
  374. TCHAR m_szSelectNetworkAdapterIP[ 64 ];
  375. } ;
  376. //-------------------------------
  377. class CWin32_TSPermissionsSetting : public Provider
  378. {
  379. public:
  380. // Constructor/destructor
  381. //=======================
  382. CWin32_TSPermissionsSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  383. virtual ~CWin32_TSPermissionsSetting();
  384. protected:
  385. // Reading Functions
  386. //============================
  387. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  388. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query);
  389. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  390. // Writing Functions
  391. //============================
  392. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  393. // Other Functions
  394. virtual HRESULT ExecMethod(const CInstance& Instance,
  395. const BSTR bstrMethodName,
  396. CInstance *pInParams,
  397. CInstance *pOutParams,
  398. long lFlags = 0L );
  399. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PWS pWS);
  400. private:
  401. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  402. const WCHAR* m_pszPermissionPreSet;
  403. TCHAR m_szTerminalName[ 64 ];
  404. TCHAR m_szAccountName[ 64 ];
  405. TCHAR m_szPermissionPreSet[ 64 ];
  406. TCHAR m_szPermissionMask[ 64 ];
  407. TCHAR m_szSID[ 64 ];
  408. TCHAR m_szAddAccount[ 64 ];
  409. TCHAR m_szRestoreDefaults[ 64 ];
  410. } ;
  411. //=-------------------
  412. class CWin32_TSNetworkAdapterListSetting : public Provider
  413. {
  414. private:
  415. TCHAR m_szNetworkAdapterID[ 64 ];
  416. TCHAR m_szNetworkAdapterIP[ 64 ];
  417. TCHAR m_szDescription[ 64 ];
  418. protected:
  419. public:
  420. CWin32_TSNetworkAdapterListSetting (const CHString& setName, LPCTSTR pszNameSpace =NULL);
  421. ~CWin32_TSNetworkAdapterListSetting ();
  422. virtual HRESULT EnumerateInstances (MethodContext* pMethodContext, long lFlags = 0L);
  423. virtual HRESULT GetObject ( CInstance* pInstance, long lFlags, CFrameworkQuery &Query );
  424. // HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties, PTCHAR pdName, PTCHAR wdName, PTCHAR pGuid, PTCHAR DisplayName);
  425. // virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L);
  426. };
  427. //=---------------------
  428. class CWin32_TSAccount : public Provider
  429. {
  430. protected:
  431. public:
  432. CWin32_TSAccount (LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  433. ~CWin32_TSAccount ();
  434. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  435. virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query );
  436. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  437. // Writing Functions
  438. //============================
  439. // Other Functions
  440. virtual HRESULT ExecMethod(const CInstance& Instance,
  441. const BSTR bstrMethodName,
  442. CInstance *pInParams,
  443. CInstance *pOutParams,
  444. long lFlags = 0L );
  445. HRESULT LoadPropertyValues( CInstance *pInstance, ULONGLONG ulRequiredProperties,
  446. PWS pWS, PUSERPERMLIST pUserList, PUSERPERMLIST pUserAuditList);
  447. private:
  448. BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString);
  449. POLICY_TS_MACHINE m_gpPolicy;
  450. TCHAR m_szPermissionPreSet[ 64 ];
  451. TCHAR m_szTerminalName[ 64 ];
  452. TCHAR m_szAccountName[ 64 ];
  453. TCHAR m_szPermissionMask[ 64 ];
  454. TCHAR m_szPermissionsAllowed[ 64 ];
  455. TCHAR m_szPermissionsDenied[ 64 ];
  456. TCHAR m_szAuditSuccess[ 64 ];
  457. TCHAR m_szAuditFail[ 64 ];
  458. TCHAR m_szAllow[ 64 ];
  459. TCHAR m_szSuccess[ 64 ];
  460. TCHAR m_szSID[ 64 ];
  461. TCHAR m_szDelete[ 64 ];
  462. TCHAR m_szModifyPermissions[ 64 ];
  463. TCHAR m_szModifyAuditPermissions[ 64 ];
  464. };
  465. #endif