/* * objsel.h Object picker interfaces * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef __OBJSEL_H_ #define __OBJSEL_H_ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifdef __cplusplus extern "C" { #endif /* Selection list clipboard format */ #define CFSTR_DSOP_DS_SELECTION_LIST TEXT( "CFSTR_DSOP_DS_SELECTION_LIST" ) /* Scope types */ #define DSOP_SCOPE_TYPE_TARGET_COMPUTER 0x00000001L #define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 0x00000002L #define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN 0x00000004L #define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 0x00000008L #define DSOP_SCOPE_TYPE_GLOBAL_CATALOG 0x00000010L #define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN 0x00000020L #define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN 0x00000040L #define DSOP_SCOPE_TYPE_WORKGROUP 0x00000080L #define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE 0x00000100L #define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE 0x00000200L /* Scope flags */ #define DSOP_SCOPE_FLAG_STARTING_SCOPE 0x00000001L #define DSOP_SCOPE_FLAG_WANT_PROVIDER_WINNT 0x00000002L #define DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP 0x00000004L #define DSOP_SCOPE_FLAG_WANT_PROVIDER_GC 0x00000008L #define DSOP_SCOPE_FLAG_WANT_SID_PATH 0x00000010L #define DSOP_SCOPE_FLAG_WANT_DOWNLEVEL_BUILTIN_PATH 0x00000020L #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS 0x00000040L #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_GROUPS 0x00000080L #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_COMPUTERS 0x00000100L #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_CONTACTS 0x00000200L #define DSOP_SCOPE_FLAG_DEFAULT_FILTER_SERVICE_ACCOUNTS 0x00000400L /* Filter flags */ #define DSOP_FILTER_INCLUDE_ADVANCED_VIEW 0x00000001L #define DSOP_FILTER_USERS 0x00000002L #define DSOP_FILTER_BUILTIN_GROUPS 0x00000004L #define DSOP_FILTER_WELL_KNOWN_PRINCIPALS 0x00000008L #define DSOP_FILTER_UNIVERSAL_GROUPS_DL 0x00000010L #define DSOP_FILTER_UNIVERSAL_GROUPS_SE 0x00000020L #define DSOP_FILTER_GLOBAL_GROUPS_DL 0x00000040L #define DSOP_FILTER_GLOBAL_GROUPS_SE 0x00000080L #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL 0x00000100L #define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE 0x00000200L #define DSOP_FILTER_CONTACTS 0x00000400L #define DSOP_FILTER_COMPUTERS 0x00000800L #define DSOP_FILTER_SERVICE_ACCOUNT 0x00001000L /* Downlevel filter flags */ #define DSOP_DOWNLEVEL_FILTER_USERS 0x80000001L #define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS 0x80000002L #define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS 0x80000004L #define DSOP_DOWNLEVEL_FILTER_COMPUTERS 0x80000008L #define DSOP_DOWNLEVEL_FILTER_WORLD 0x80000010L #define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER 0x80000020L #define DSOP_DOWNLEVEL_FILTER_ANONYMOUS 0x80000040L #define DSOP_DOWNLEVEL_FILTER_BATCH 0x80000080L #define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER 0x80000100L #define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP 0x80000200L #define DSOP_DOWNLEVEL_FILTER_DIALUP 0x80000400L #define DSOP_DOWNLEVEL_FILTER_INTERACTIVE 0x80000800L #define DSOP_DOWNLEVEL_FILTER_NETWORK 0x80001000L #define DSOP_DOWNLEVEL_FILTER_SERVICE 0x80002000L #define DSOP_DOWNLEVEL_FILTER_SYSTEM 0x80004000L #define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS 0x80008000L #define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER 0x80010000L #define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS 0x80020000L #define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE 0x80040000L #define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE 0x80080000L #define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON 0x80100000L #define DSOP_DOWNLEVEL_FILTER_INTERNET_USER 0x80200000L #define DSOP_DOWNLEVEL_FILTER_OWNER_RIGHTS 0x80400000L #define DSOP_DOWNLEVEL_FILTER_SERVICES 0x80800000L #define DSOP_DOWNLEVEL_FILTER_LOCAL_LOGON 0x81000000L #define DSOP_DOWNLEVEL_FILTER_THIS_ORG_CERT 0x82000000L #define DSOP_DOWNLEVEL_FILTER_IIS_APP_POOL 0x84000000L /* Initialization flags */ #define DSOP_FLAG_MULTISELECT 0x00000001L #define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 0x00000002L /* Uplevel filter flags */ typedef struct _DSOP_UPLEVEL_FILTER_FLAGS { ULONG flBothModes; ULONG flMixedModeOnly; ULONG flNativeModeOnly; } DSOP_UPLEVEL_FILTER_FLAGS; /* Filter flags */ typedef struct _DSOP_FILTER_FLAGS { DSOP_UPLEVEL_FILTER_FLAGS Uplevel; ULONG flDownlevel; } DSOP_FILTER_FLAGS; /* Scope initialization information */ typedef struct _DSOP_SCOPE_INIT_INFO { ULONG cbSize; ULONG flType; ULONG flScope; DSOP_FILTER_FLAGS FilterFlags; PCWSTR pwzDcName; PCWSTR pwzADsPath; HRESULT hr; } DSOP_SCOPE_INIT_INFO; typedef DSOP_SCOPE_INIT_INFO *PDSOP_SCOPE_INIT_INFO; typedef const DSOP_SCOPE_INIT_INFO *PCDSOP_SCOPE_INIT_INFO; /* Initialization information */ typedef struct _DSOP_INIT_INFO { ULONG cbSize; PCWSTR pwzTargetComputer; ULONG cDsScopeInfos; PDSOP_SCOPE_INIT_INFO aDsScopeInfos; ULONG flOptions; ULONG cAttributesToFetch; PCWSTR *apwzAttributeNames; } DSOP_INIT_INFO; typedef DSOP_INIT_INFO *PDSOP_INIT_INFO; typedef const DSOP_INIT_INFO *PCDSOP_INIT_INFO; /* Selection */ typedef struct _DS_SELECTION { PWSTR pwzName; PWSTR pwzADsPath; PWSTR pwzClass; PWSTR pwzUPN; VARIANT *pvarFetchedAttributes; ULONG flScopeType; } DS_SELECTION; typedef DS_SELECTION *PDS_SELECTION; /* Selection list */ typedef struct _DS_SELECTION_LIST { ULONG cItems; ULONG cFetchedAttributes; DS_SELECTION aDsSelection[ANYSIZE_ARRAY]; } DS_SELECTION_LIST; typedef DS_SELECTION_LIST *PDS_SELECTION_LIST; /* GUIDs */ EXTERN_C const IID IID_IDsObjectPicker = { 0x0C87E64E, 0x3B7A, 0x11D2, { 0xB9, 0xE0, 0x00, 0xC0, 0x4F, 0xD8, 0xDB, 0xF7 } }; EXTERN_C const IID IID_IDsObjectPickerCredentials = { 0xE2D3EC9B, 0xD041, 0x445A, { 0x8F, 0x16, 0x47, 0x48, 0xDE, 0x8F, 0xB1, 0xCF } }; EXTERN_C const CLSID CLSID_DsObjectPicker = { 0x17D6CCD8, 0x3B7B, 0x11D2, { 0xB9, 0xE0, 0x00, 0xC0, 0x4F, 0xD8, 0xDB, 0xF7 } }; /* IDsObjectPicker interface */ #undef INTERFACE #define INTERFACE IDsObjectPicker DECLARE_INTERFACE_( IDsObjectPicker, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDsObjectPicker methods */ STDMETHOD( Initialize )( THIS_ DSOP_INIT_INFO ) PURE; STDMETHOD( InvokeDialog )( THIS_ HWND, IDataObject ** ) PURE; }; /* IDsObjectPickerCredentials interface */ #undef INTERFACE #define INTERFACE IDsObjectPickerCredentials DECLARE_INTERFACE_( IDsObjectPickerCredentials, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDsObjectPickerCredentials methods */ STDMETHOD( SetCredentials )( THIS_ LPCWSTR, LPCWSTR ) PURE; }; #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __OBJSEL_H_ */