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
- XmlWriterDelegator.cs
- DebugHandleTracker.cs
- PointF.cs
- ViewPort3D.cs
- ToolStripDropDownClosedEventArgs.cs
- DoubleCollection.cs
- SslStreamSecurityBindingElement.cs
- XmlSchemaValidationException.cs
- DataBinder.cs
- DispatcherFrame.cs
- BlockUIContainer.cs
- PropertyMetadata.cs
- QueryExpr.cs
- IISMapPath.cs
- QilDataSource.cs
- PeerName.cs
- XmlSignatureManifest.cs
- AxHost.cs
- Message.cs
- DictionaryContent.cs
- Wizard.cs
- ListSourceHelper.cs
- MergeLocalizationDirectives.cs
- CodeValidator.cs
- TemplatedWizardStep.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SafeThreadHandle.cs
- BlurBitmapEffect.cs
- TrackingCondition.cs
- TextRangeProviderWrapper.cs
- AppDomainCompilerProxy.cs
- LayoutTable.cs
- TrackingConditionCollection.cs
- WebPartActionVerb.cs
- ClrPerspective.cs
- TransformCollection.cs
- WebRequest.cs
- EntityContainer.cs
- MultiTrigger.cs
- RedBlackList.cs
- HtmlHistory.cs
- RequestCacheEntry.cs
- TextRange.cs
- InvalidOperationException.cs
- WindowsFormsHostAutomationPeer.cs
- DataGridViewTextBoxCell.cs
- LoadedOrUnloadedOperation.cs
- TrackBar.cs
- Sql8ConformanceChecker.cs
- GridEntry.cs
- SchemaTypeEmitter.cs
- SchemaElement.cs
- TrailingSpaceComparer.cs
- CodeLabeledStatement.cs
- SecureStringHasher.cs
- ExecutorLocksHeldException.cs
- SqlUtils.cs
- documentsequencetextpointer.cs
- IsolatedStoragePermission.cs
- Helpers.cs
- OracleFactory.cs
- GeometryDrawing.cs
- PackWebRequestFactory.cs
- KnownIds.cs
- OverflowException.cs
- XamlTemplateSerializer.cs
- ColorEditor.cs
- HttpHeaderCollection.cs
- DataControlFieldCell.cs
- VectorCollection.cs
- DateTimeValueSerializerContext.cs
- OdbcEnvironment.cs
- DocumentsTrace.cs
- FormViewDeleteEventArgs.cs
- NameTable.cs
- RedistVersionInfo.cs
- CurrencyManager.cs
- DataGridPagerStyle.cs
- TracingConnectionListener.cs
- KernelTypeValidation.cs
- WeakEventTable.cs
- HtmlAnchor.cs
- EventData.cs
- ObjectItemCollection.cs
- ChangeBlockUndoRecord.cs
- WebColorConverter.cs
- HScrollBar.cs
- TextSimpleMarkerProperties.cs
- HitTestParameters3D.cs
- MemberProjectedSlot.cs
- ThreadNeutralSemaphore.cs
- LayoutEditorPart.cs
- SymbolType.cs
- DataListItem.cs
- DeploymentExceptionMapper.cs
- FontFaceLayoutInfo.cs
- Rect.cs
- CommentEmitter.cs
- Comparer.cs
- EnumType.cs