mingw-5.1.4/win32/include/objsel.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 /*
       
     2  * objsel.h - Active Directory
       
     3  *
       
     4  * THIS SOFTWARE IS NOT COPYRIGHTED
       
     5  *
       
     6  * This source code is offered for use in the public domain.  You may use,
       
     7  * modify or distribute it freely.
       
     8  *
       
     9  * This code is distributed in the hope that it will be useful but
       
    10  * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
       
    11  * DISCLAIMED.  This includes but is not limited to warranties of
       
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       
    13  *
       
    14  */
       
    15 #ifndef _OBJSEL_H
       
    16 #define _OBJSEL_H
       
    17 #if __GNUC__ >= 3
       
    18 #pragma GCC system_header
       
    19 #endif
       
    20 
       
    21 #ifdef __cplusplus
       
    22 extern "C" {
       
    23 #endif
       
    24 
       
    25 /*--- Active Directory Reference - Active Directory Structures - Object Picker Dialog Box Structures */
       
    26 #if (_WIN32_WINNT >= 0x0500)
       
    27 typedef struct _DS_SELECTION {
       
    28 	PWSTR pwzName;
       
    29 	PWSTR pwzADsPath;
       
    30 	PWSTR pwzClass;
       
    31 	PWSTR pwzUPN;
       
    32 	VARIANT *pvarFetchedAttributes;
       
    33 	ULONG flScopeType;
       
    34 } DS_SELECTION,*PDS_SELECTION;
       
    35 typedef struct _DS_SELECTION_LIST {
       
    36 	ULONG cItems;
       
    37 	ULONG cFetchedAttributes;
       
    38 	DS_SELECTION aDsSelection[ANYSIZE_ARRAY];
       
    39 } DS_SELECTION_LIST,*PDS_SELECTION_LIST;
       
    40 
       
    41 typedef struct _DSOP_UPLEVEL_FILTER_FLAGS {
       
    42 	ULONG flBothModes;
       
    43 	ULONG flMixedModeOnly;
       
    44 	ULONG flNativeModeOnly;
       
    45 } DSOP_UPLEVEL_FILTER_FLAGS;
       
    46 #define DSOP_FILTER_INCLUDE_ADVANCED_VIEW 0x00000001
       
    47 #define DSOP_FILTER_USERS 0x00000002
       
    48 #define DSOP_FILTER_BUILTIN_GROUPS 0x00000004
       
    49 #define DSOP_FILTER_WELL_KNOWN_PRINCIPALS 0x00000008
       
    50 #define DSOP_FILTER_UNIVERSAL_GROUPS_DL 0x00000010
       
    51 #define DSOP_FILTER_UNIVERSAL_GROUPS_SE 0x00000020
       
    52 #define DSOP_FILTER_GLOBAL_GROUPS_DL 0x00000040
       
    53 #define DSOP_FILTER_GLOBAL_GROUPS_SE 0x00000080
       
    54 #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL 0x00000100
       
    55 #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE 0x00000200
       
    56 #define DSOP_FILTER_CONTACTS 0x00000400
       
    57 #define DSOP_FILTER_COMPUTERS 0x00000800
       
    58 typedef struct _DSOP_FILTER_FLAGS {
       
    59 	DSOP_UPLEVEL_FILTER_FLAGS Uplevel;
       
    60 	ULONG flDownlevel;
       
    61 } DSOP_FILTER_FLAGS;
       
    62 #define DSOP_DOWNLEVEL_FILTER_USERS 0x80000001
       
    63 #define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS 0x80000002
       
    64 #define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS 0x80000004
       
    65 #define DSOP_DOWNLEVEL_FILTER_COMPUTERS 0x80000008
       
    66 #define DSOP_DOWNLEVEL_FILTER_WORLD 0x80000010
       
    67 #define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER 0x80000020
       
    68 #define DSOP_DOWNLEVEL_FILTER_ANONYMOUS 0x80000040
       
    69 #define DSOP_DOWNLEVEL_FILTER_BATCH 0x80000080
       
    70 #define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER 0x80000100
       
    71 #define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP 0x80000200
       
    72 #define DSOP_DOWNLEVEL_FILTER_DIALUP 0x80000400
       
    73 #define DSOP_DOWNLEVEL_FILTER_INTERACTIVE 0x80000800
       
    74 #define DSOP_DOWNLEVEL_FILTER_NETWORK 0x80001000
       
    75 #define DSOP_DOWNLEVEL_FILTER_SERVICE 0x80002000
       
    76 #define DSOP_DOWNLEVEL_FILTER_SYSTEM 0x80004000
       
    77 #define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS 0x80008000
       
    78 #define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER 0x80010000
       
    79 #define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS 0x80020000
       
    80 #define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE 0x80040000
       
    81 #define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE 0x80080000
       
    82 #define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON 0x80100000
       
    83 typedef struct _DSOP_SCOPE_INIT_INFO {
       
    84 	ULONG cbSize;
       
    85 	ULONG flType;
       
    86 	ULONG flScope;
       
    87 	DSOP_FILTER_FLAGS FilterFlags;
       
    88 	PCWSTR pwzDcName;
       
    89 	PCWSTR pwzADsPath;
       
    90 	HRESULT hr;
       
    91 } DSOP_SCOPE_INIT_INFO,*PDSOP_SCOPE_INIT_INFO,*PCDSOP_SCOPE_INIT_INFO;
       
    92 #define DSOP_SCOPE_TYPE_TARGET_COMPUTER 0x00000001
       
    93 #define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 0x00000002
       
    94 #define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN 0x00000004
       
    95 #define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 0x00000008
       
    96 #define DSOP_SCOPE_TYPE_GLOBAL_CATALOG 0x00000010
       
    97 #define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN 0x00000020
       
    98 #define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN 0x00000040
       
    99 #define DSOP_SCOPE_TYPE_WORKGROUP 0x00000080
       
   100 #define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE 0x00000100
       
   101 #define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE 0x00000200
       
   102 typedef struct _DSOP_INIT_INFO {
       
   103 	ULONG cbSize;
       
   104 	PCWSTR pwzTargetComputer;
       
   105 	ULONG cDsScopeInfos;
       
   106 	PDSOP_SCOPE_INIT_INFO aDsScopeInfos;
       
   107 	ULONG flOptions;
       
   108 	ULONG cAttributesToFetch;
       
   109 	PCWSTR* apwzAttributeNames;
       
   110 } DSOP_INIT_INFO,*PDSOP_INIT_INFO;
       
   111 #define DSOP_FLAG_MULTISELECT 0x00000001
       
   112 #define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 0x00000002
       
   113 #endif /* (_WIN32_WINNT >= 0x0500) */
       
   114 
       
   115 #ifdef __cplusplus
       
   116 }
       
   117 #endif
       
   118 #endif