ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

objsel.h
Go to the documentation of this file.
00001 /*
00002  * objsel.h
00003  *
00004  * Object Picker Dialog
00005  *
00006  * THIS SOFTWARE IS NOT COPYRIGHTED
00007  *
00008  * This source code is offered for use in the public domain. You may
00009  * use, modify or distribute it freely.
00010  *
00011  * This code is distributed in the hope that it will be useful but
00012  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00013  * DISCLAIMED. This includes but is not limited to warranties of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00015  *
00016  */
00017 #ifndef __OBJSEL_H_
00018 #define __OBJSEL_H_
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024 DEFINE_GUID(CLSID_DsObjectPicker, 0x17d6ccd8, 0x3b7b, 0x11d2, 0x00b9, 0xe0,0x00,0xc0,0x4f,0xd8,0xdb,0xf7);
00025 DEFINE_GUID(IID_IDsObjectPicker, 0x0c87e64e, 0x3b7a, 0x11d2, 0x00b9, 0xe0,0x00,0xc0,0x4f,0xd8,0xdb,0xf7);
00026 
00027 #define CFSTR_DSOP_DS_SELECTION_LIST    TEXT("CFSTR_DSOP_DS_SELECTION_LIST")
00028 
00029 /* up-level scope filters in the DSOP_UPLEVEL_FILTER_FLAGS structure */
00030 #define DSOP_FILTER_INCLUDE_ADVANCED_VIEW       (0x1)
00031 #define DSOP_FILTER_USERS       (0x2)
00032 #define DSOP_FILTER_BUILTIN_GROUPS      (0x4)
00033 #define DSOP_FILTER_WELL_KNOWN_PRINCIPALS       (0x8)
00034 #define DSOP_FILTER_UNIVERSAL_GROUPS_DL (0x10)
00035 #define DSOP_FILTER_UNIVERSAL_GROUPS_SE (0x20)
00036 #define DSOP_FILTER_GLOBAL_GROUPS_DL    (0x40)
00037 #define DSOP_FILTER_GLOBAL_GROUPS_SE    (0x80)
00038 #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL      (0x100)
00039 #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE      (0x200)
00040 #define DSOP_FILTER_CONTACTS    (0x400)
00041 #define DSOP_FILTER_COMPUTERS   (0x800)
00042 
00043 typedef struct _DSOP_UPLEVEL_FILTER_FLAGS
00044 {
00045     ULONG flBothModes;
00046     ULONG flMixedModeOnly;
00047     ULONG flNativeModeOnly;
00048 } DSOP_UPLEVEL_FILTER_FLAGS, *PDSOP_UPLEVEL_FILTER_FLAGS;
00049 
00050 /* down-level scope filters in the DSOP_FILTER_FLAGS structure */
00051 #define DSOP_DOWNLEVEL_FILTER_USERS     (0x80000001)
00052 #define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS      (0x80000002)
00053 #define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS     (0x80000004)
00054 #define DSOP_DOWNLEVEL_FILTER_COMPUTERS (0x80000008)
00055 #define DSOP_DOWNLEVEL_FILTER_WORLD     (0x80000010)
00056 #define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER        (0x80000020)
00057 #define DSOP_DOWNLEVEL_FILTER_ANONYMOUS (0x80000040)
00058 #define DSOP_DOWNLEVEL_FILTER_BATCH     (0x80000080)
00059 #define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER     (0x80000100)
00060 #define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP     (0x80000200)
00061 #define DSOP_DOWNLEVEL_FILTER_DIALUP    (0x80000400)
00062 #define DSOP_DOWNLEVEL_FILTER_INTERACTIVE       (0x80000800)
00063 #define DSOP_DOWNLEVEL_FILTER_NETWORK   (0x80001000)
00064 #define DSOP_DOWNLEVEL_FILTER_SERVICE   (0x80002000)
00065 #define DSOP_DOWNLEVEL_FILTER_SYSTEM    (0x80004000)
00066 #define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS    (0x80008000)
00067 #define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER   (0x80010000)
00068 #define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS        (0x80020000)
00069 #define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE     (0x80040000)
00070 #define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE   (0x80080000)
00071 #define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON      (0x80100000)
00072 
00073 typedef struct _DSOP_FILTER_FLAGS
00074 {
00075     DSOP_UPLEVEL_FILTER_FLAGS Uplevel;
00076     ULONG flDownlevel;
00077 } DSOP_FILTER_FLAGS, *PDSOP_FILTER_FLAGS;
00078 
00079 /* ADsPath format flags in the DSOP_SCOPE_INIT_INFO structure */
00080 #define DSOP_SCOPE_FLAG_STARTING_SCOPE  (0x1)
00081 #define DSOP_SCOPE_FLAG_WANT_PROVIDER_WINNT     (0x2)
00082 #define DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP      (0x4)
00083 #define DSOP_SCOPE_FLAG_WANT_PROVIDER_GC        (0x8)
00084 #define DSOP_SCOPE_FLAG_WANT_SID_PATH   (0x10)
00085 #define DSOP_SCOPE_FLAG_WANT_DOWNLEVEL_BUILTIN_PATH     (0x20)
00086 #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS    (0x40)
00087 #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_GROUPS   (0x80)
00088 #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_COMPUTERS        (0x100)
00089 #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_CONTACTS (0x200)
00090 
00091 typedef struct _DSOP_SCOPE_INIT_INFO
00092 {
00093     ULONG cbSize;
00094     ULONG flType;
00095     ULONG flScope;
00096     DSOP_FILTER_FLAGS FilterFlags;
00097     PCWSTR pwzDcName;
00098     PCWSTR pwzADsPath;
00099     HRESULT hr;
00100 } DSOP_SCOPE_INIT_INFO, *PDSOP_SCOPE_INIT_INFO;
00101 typedef const DSOP_SCOPE_INIT_INFO *PCDSOP_SCOPE_INIT_INFO;
00102 
00103 /* object picker options in the DSOP_INIT_INFO structure */
00104 #define DSOP_FLAG_MULTISELECT   (0x1)
00105 #define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK (0x2)
00106 
00107 typedef struct _DSOP_INIT_INFO
00108 {
00109     ULONG cbSize;
00110     PCWSTR pwzTargetComputer;
00111     ULONG cDsScopeInfos;
00112     PDSOP_SCOPE_INIT_INFO aDsScopeInfos;
00113     ULONG flOptions;
00114     ULONG cAttributesToFetch;
00115     PCWSTR *apwzAttributeNames;
00116 } DSOP_INIT_INFO, *PDSOP_INIT_INFO;
00117 
00118 typedef const DSOP_INIT_INFO *PCDSOP_INIT_INFO;
00119 
00120 /* selection scope types in the DS_SELECTION structure */
00121 #define DSOP_SCOPE_TYPE_TARGET_COMPUTER (0x1)
00122 #define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN   (0x2)
00123 #define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN (0x4)
00124 #define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN       (0x8)
00125 #define DSOP_SCOPE_TYPE_GLOBAL_CATALOG  (0x10)
00126 #define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN (0x20)
00127 #define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN       (0x40)
00128 #define DSOP_SCOPE_TYPE_WORKGROUP       (0x80)
00129 #define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE      (0x100)
00130 #define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE    (0x200)
00131 
00132 typedef struct _DS_SELECTION
00133 {
00134     PWSTR pwzName;
00135     PWSTR pwzADsPath;
00136     PWSTR pwzClass;
00137     PWSTR pwzUPN;
00138     VARIANT *pvarFetchedAttributes;
00139     ULONG flScopeType;
00140 } DS_SELECTION, *PDS_SELECTION;
00141 
00142 typedef struct _DS_SELECTION_LIST
00143 {
00144     ULONG cItems;
00145     ULONG cFetchedAttributes;
00146     DS_SELECTION aDsSelection[ANYSIZE_ARRAY];
00147 } DS_SELECTION_LIST, *PDS_SELECTION_LIST;
00148 
00149 /*****************************************************************************
00150  * IDsObjectPicker interface
00151  */
00152 #define INTERFACE   IDsObjectPicker
00153 DECLARE_INTERFACE_(IDsObjectPicker,IUnknown)
00154 {
00155     /*** IUnknown methods ***/
00156     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00157     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00158     STDMETHOD_(ULONG,Release)(THIS) PURE;
00159     /*** IDsObjectPicker methods ***/
00160     STDMETHOD(Initialize)(THIS_ PDSOP_INIT_INFO pInitInfo) PURE;
00161     STDMETHOD(InvokeDialog)(THIS_ HWND hwndParent, IDataObject** ppdoSelections) PURE;
00162 };
00163 #undef INTERFACE
00164 
00165 
00166 #ifdef __cplusplus
00167 }
00168 #endif
00169 #endif /* __OBJSEL_H_ */

Generated on Sat May 26 2012 04:30:56 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.