Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / Application / NativeDirectoryServicesQueryAPIs.cs / 1 / NativeDirectoryServicesQueryAPIs.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: NativeDirectoryServicesQueryAPIs contains managed wrappers // for native calls related to Directory Services query APIs // and helper methods necessary to make use of them. // // // History: // 8/16/2005 - [....] created // //--------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; using System.Security; // for SecurityCritical attributes namespace MS.Internal.Documents { internal partial class PeoplePickerWrapper { ////// NativeDirectoryServices contains managed wrappers // for native calls related to Directory Services query APIs // and helper methods necessary to make use of them. /// internal static class UnsafeNativeMethods { ////// Managed interface definition for the Active Directory ICommonQuery interface /// defined in cmnquery.h as having the following method: /// /// HRESULT OpenQueryWindow( /// HWND hwdnParent, /// LPOPENQUERYWINDOW* pQueryWnd, /// IDataObject** ppDataObj /// ); /// See also: /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/icommonquery.asp /// and /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/icommonquery_openquerywindow.asp /// [Guid("ab50dec0-6f1d-11d0-a1c4-00aa00c16e65")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] [ComImport] [SecurityCritical] [SuppressUnmanagedCodeSecurity] // Blessed internal interface ICommonQuery { [PreserveSig] UInt32 OpenQueryWindow( [In] IntPtr hwndParent, [In] ref OpenQueryWindowParams pQueryWnd, [Out] out IDataObject ppDataObj ); } ////// Critical: We are suppressing unmanaged code on this interface. /// ////// Managed wrapper for the OPENQUERYWINDOW struct defined in /// cmnquery.h as: /// typedef struct { /// DWORD cbStruct; /// DWORD dwFlags; /// CLSID clsidHandler; /// LPVOID pHandlerParameters; /// CLSID clsidDefaultForm; /// IPersistQuery* pPersistQuery; /// union { /// void* pFormParameters; /// IPropertyBag* ppbFormParameters /// }; /// } OPENQUERYWINDOW; /// /// See also: /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/openquerywindow.asp /// [StructLayout(LayoutKind.Sequential)] internal struct OpenQueryWindowParams { public UInt32 cbStruct; public UInt32 dwFlags; public Guid clsidHandler; public IntPtr pHandlerParameters; public Guid clsidDefaultForm; public IntPtr pPersistQuery; // Originally an IPersistQuery (not an IntPtr), which we do not use. public IntPtr pFormParameters; // Originally a union in the COM definition; } // but because we do not use this field we leave this // as a single field to avoid 64-bit layout issues. ////// Managed wrapper for the DSQUERYINITPARAMS struct defined in /// dsquery.h as: /// typedef struct { /// DWORD cbStruct; /// DWORD dwFlags; /// LPWSTR pDefaultScope; /// LPWSTR pDefaultSaveLocation; /// LPWSTR pUserName; /// LPWSTR pPassword; /// LPWSTR pServer /// } DSQUERYINITPARAMS; /// /// See also: /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/dsqueryinitparams.asp /// [StructLayout(LayoutKind.Sequential)] internal struct QueryInitParams { public uint cbStruct; public uint dwFlags; [MarshalAs(UnmanagedType.LPWStr)] public String pDefaultScope; [MarshalAs(UnmanagedType.LPWStr)] public String pDefaultSaveLocation; [MarshalAs(UnmanagedType.LPWStr)] public String pUserName; [MarshalAs(UnmanagedType.LPWStr)] public String pPassword; [MarshalAs(UnmanagedType.LPWStr)] public String pServer; } ////// Managed wrapper for the DSOBJECT struct defined in /// dsclient.h as: /// typedef struct { /// DWORD dwFlags; /// DWORD dwProviderFlags; /// DWORD offsetName; /// DWORD offsetClass; /// } DSOBJECT; /// /// See also: /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/dsobject.asp /// [StructLayout(LayoutKind.Sequential)] internal struct DsObject { public UInt32 dwFlags; public UInt32 dwProviderFlags; public UInt32 offsetName; public UInt32 offsetClass; } ////// Managed wrapper for the DSOBJECTNAMES struct defined in /// dsclient.h as: /// typedef struct { /// CLSID clsidNamespace; /// UINT cItems; /// DSOBJECT aObjects[1]; /// } DSOBJECTNAMES; /// /// See also: /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/dsobjectnames.asp /// [StructLayout(LayoutKind.Sequential)] internal struct DsObjectNames { public Guid clsidNamespace; public UInt32 cItems; [MarshalAs(UnmanagedType.ByValArray)] public DsObject[] aObjects; } // CLSIDs for objects we're concerned with (from cmnquery.h and dsquery.h) internal static readonly Guid CLSID_CommonQuery = new Guid(0x83bc5ec0, 0x6f2a, 0x11d0, 0xa1, 0xc4, 0x00, 0xaa, 0x00, 0xc1, 0x6e, 0x65); internal static readonly Guid CLSID_DsQuery = new Guid(0x08a23e65e, 0x31c2, 0x11d0, 0x89, 0x1c, 0x00, 0xa0, 0x24, 0xab, 0x2d, 0xbb); internal static readonly Guid CLSID_DsFindPeople = new Guid(0x83ee3fe2, 0x57d9, 0x11d0, 0xb9, 0x32, 0x0, 0xa0, 0x24, 0xab, 0x2d, 0xbb); // CommonQuery parameters (from cmnquery.h) used in OpenQueryWindowParams to define the // state of the People Picker when invoked. internal static readonly uint OQWF_OKCANCEL = 0x00000001; // = 1 => Provide OK/Cancel buttons internal static readonly uint OQWF_DEFAULTFORM = 0x00000002; // = 1 => clsidDefaultQueryForm is valid internal static readonly uint OQWF_SINGLESELECT = 0x00000004; // = 1 => allow single selection only internal static readonly uint OQWF_REMOVEFORMS = 0x00000020; // = 1 => remove form picker from dialog internal static readonly uint OQWF_SHOWOPTIONAL = 0x00000080; // = 1 => list optional forms by default internal static readonly uint OQWF_HIDEMENUS = 0x00000400; // = 1 => no menu bar displayed // Clipboard formats (from winuser.h) internal static readonly String CFSTR_DSOBJECTNAMES = "DsObjectNames"; // Success/Failure codes internal static readonly uint S_OK = 0x00000000; internal static readonly uint S_FALSE = 0x00000001; internal static readonly uint E_FAIL = 0x80000008; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ISSmlParser.cs
- ExtendedPropertyCollection.cs
- RandomDelayQueuedSendsAsyncResult.cs
- BuilderInfo.cs
- WorkflowControlClient.cs
- EventMappingSettingsCollection.cs
- ReadOnlyDataSource.cs
- KeyPressEvent.cs
- DesignerFrame.cs
- IncrementalHitTester.cs
- CompositionAdorner.cs
- BeginEvent.cs
- TraceContextEventArgs.cs
- OrderedParallelQuery.cs
- Module.cs
- PropertyValueEditor.cs
- Constants.cs
- Timeline.cs
- XmlIlGenerator.cs
- listviewsubitemcollectioneditor.cs
- Region.cs
- ProtocolsConfigurationHandler.cs
- XPathNavigatorKeyComparer.cs
- ProfileServiceManager.cs
- DataControlFieldsEditor.cs
- SoapSchemaMember.cs
- oledbconnectionstring.cs
- XamlTemplateSerializer.cs
- AppDomainProtocolHandler.cs
- ScrollBar.cs
- RoleGroupCollection.cs
- TraceFilter.cs
- Encoding.cs
- KeyboardDevice.cs
- SqlDataSourceView.cs
- Int32Converter.cs
- InternalConfigSettingsFactory.cs
- SimpleExpression.cs
- DataControlFieldCell.cs
- Utilities.cs
- NotificationContext.cs
- XmlNotation.cs
- Rotation3D.cs
- TextRunTypographyProperties.cs
- ListBoxItemAutomationPeer.cs
- StrokeNodeOperations2.cs
- PlainXmlDeserializer.cs
- DataGridViewSortCompareEventArgs.cs
- SvcMapFileLoader.cs
- CompilerParameters.cs
- NotifyCollectionChangedEventArgs.cs
- CellTreeSimplifier.cs
- assemblycache.cs
- ToolStripSeparator.cs
- MappingModelBuildProvider.cs
- ProjectionCamera.cs
- ErrorWebPart.cs
- SecurityException.cs
- DataControlReferenceCollection.cs
- Operator.cs
- Logging.cs
- MediaPlayerState.cs
- ContentElement.cs
- DataGridPagerStyle.cs
- AtomicFile.cs
- UnitControl.cs
- AnnouncementEndpoint.cs
- BlockUIContainer.cs
- dbenumerator.cs
- FamilyTypeface.cs
- DbConnectionPoolGroupProviderInfo.cs
- PreDigestedSignedInfo.cs
- XsltConvert.cs
- FixedBufferAttribute.cs
- HttpListenerResponse.cs
- HttpApplicationFactory.cs
- Inflater.cs
- TimeIntervalCollection.cs
- ImmutablePropertyDescriptorGridEntry.cs
- IHttpResponseInternal.cs
- PerformanceCounterCategory.cs
- DomNameTable.cs
- Size3D.cs
- LongValidatorAttribute.cs
- FactorySettingsElement.cs
- TextMarkerSource.cs
- TextDecorationCollection.cs
- DbBuffer.cs
- ComMethodElement.cs
- PeerInvitationResponse.cs
- CodeCompiler.cs
- MarshalByRefObject.cs
- LabelDesigner.cs
- TextEncodedRawTextWriter.cs
- AutomationPropertyInfo.cs
- IndependentAnimationStorage.cs
- SqlDataSourceConnectionPanel.cs
- NativeWindow.cs
- ConfigViewGenerator.cs
- MethodSet.cs