Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Wmi / managed / System / Management / wmiutil.cs / 1305376 / wmiutil.cs
using System; using System.Runtime.InteropServices; using System.Runtime.Versioning; using WbemClient_v1; namespace System.Management { [ComImport, Guid("87A5AD68-A38A-43ef-ACA9-EFE910E5D24C"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IWmiEventSource { [PreserveSig] void Indicate(IntPtr pIWbemClassObject); [PreserveSig] void SetStatus( int lFlags, int hResult, [MarshalAs(UnmanagedType.BStr)] string strParam , IntPtr pObjParam ); } #if USEIWOS // The following is a manually defined wrapper for IWbemObjectSink // since the size_is attribute cannot be dealt with by TlbImp. [Guid("7c857801-7381-11cf-884d-00aa004b2e24"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IWbemObjectSink { [PreserveSig] void Indicate( long lObjectCount, [MarshalAs(UnmanagedType.Interface, SizeParamIndex=0)] IWbemClassObject [] apObjArray ); [PreserveSig] void SetStatus( long lFlags, int hResult, [MarshalAs(UnmanagedType.BStr)] string strParam, [MarshalAs(UnmanagedType.Interface)] IWbemClassObject pObjParam ); }; #endif //Class for calling GetErrorInfo from managed code class WbemErrorInfo { public static IWbemClassObjectFreeThreaded GetErrorInfo() { IErrorInfo errorInfo = GetErrorInfo(0); if(null != errorInfo) { IntPtr pUnk = Marshal.GetIUnknownForObject(errorInfo); IntPtr pIWbemClassObject; Marshal.QueryInterface(pUnk, ref IWbemClassObjectFreeThreaded.IID_IWbemClassObject, out pIWbemClassObject); Marshal.Release(pUnk); // The IWbemClassObjectFreeThreaded instance will own reference count on pIWbemClassObject if(pIWbemClassObject != IntPtr.Zero) return new IWbemClassObjectFreeThreaded(pIWbemClassObject); } return null; } [ResourceExposure( ResourceScope.None),DllImport("oleaut32.dll", PreserveSig=false)] static extern IErrorInfo GetErrorInfo(int reserved); } //RCW for IErrorInfo [ComImport] [Guid("1CF2B120-547D-101B-8E65-08002B2BD119")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IErrorInfo { Guid GetGUID(); [return:MarshalAs(UnmanagedType.BStr)] string GetSource(); [return:MarshalAs(UnmanagedType.BStr)] string GetDescription(); [return:MarshalAs(UnmanagedType.BStr)] string GetHelpFile(); uint GetHelpContext(); } } // 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
- MouseGestureValueSerializer.cs
- PolyBezierSegment.cs
- Brush.cs
- XmlSchemaElement.cs
- ScalarConstant.cs
- ValuePatternIdentifiers.cs
- GroupJoinQueryOperator.cs
- TextRangeProviderWrapper.cs
- LinqDataView.cs
- PointCollection.cs
- IntSecurity.cs
- SharedPerformanceCounter.cs
- IconBitmapDecoder.cs
- AudioSignalProblemOccurredEventArgs.cs
- ComAdminWrapper.cs
- SerializationEventsCache.cs
- codemethodreferenceexpression.cs
- AppManager.cs
- XamlTypeMapper.cs
- XmlSerializationWriter.cs
- RenderData.cs
- DbDataSourceEnumerator.cs
- TextureBrush.cs
- PathSegmentCollection.cs
- DesignTimeTemplateParser.cs
- HandlerWithFactory.cs
- JsonReaderWriterFactory.cs
- ClientClassGenerator.cs
- AddInController.cs
- RIPEMD160.cs
- XmlLanguage.cs
- Route.cs
- SelectionPattern.cs
- TextContainerChangedEventArgs.cs
- RouteCollection.cs
- isolationinterop.cs
- BitmapEffectState.cs
- SqlCommandSet.cs
- BrowserTree.cs
- Errors.cs
- JsonWriter.cs
- DbProviderFactory.cs
- StandardOleMarshalObject.cs
- ReflectionPermission.cs
- DesignerGeometryHelper.cs
- EntityCommandExecutionException.cs
- InfoCardProofToken.cs
- Shape.cs
- SqlNamer.cs
- CaseInsensitiveOrdinalStringComparer.cs
- SoapServerMethod.cs
- CriticalFinalizerObject.cs
- CheckBoxFlatAdapter.cs
- IISUnsafeMethods.cs
- StringConverter.cs
- CodeArrayIndexerExpression.cs
- PrintingPermission.cs
- SqlFlattener.cs
- ProfileSettingsCollection.cs
- ReaderContextStackData.cs
- ObjectTag.cs
- CallContext.cs
- Point.cs
- TextSearch.cs
- SystemResourceHost.cs
- ConsumerConnectionPoint.cs
- SystemIPGlobalProperties.cs
- Registry.cs
- DynamicRendererThreadManager.cs
- StylusPointProperty.cs
- GlyphCache.cs
- FileLevelControlBuilderAttribute.cs
- AnimationClock.cs
- SmiMetaData.cs
- UpdateEventArgs.cs
- StylusLogic.cs
- PropertyValueUIItem.cs
- RenderingBiasValidation.cs
- wmiprovider.cs
- MatrixCamera.cs
- XmlSerializerVersionAttribute.cs
- CounterSampleCalculator.cs
- StringConcat.cs
- DashStyle.cs
- SerializationInfo.cs
- TabletDevice.cs
- FillBehavior.cs
- GraphicsContext.cs
- RootBrowserWindowProxy.cs
- DefaultBindingPropertyAttribute.cs
- VirtualPathProvider.cs
- CommonProperties.cs
- HttpWebRequestElement.cs
- TextSelectionProcessor.cs
- CalendarKeyboardHelper.cs
- JsonEnumDataContract.cs
- GcHandle.cs
- ResourceContainer.cs
- ListView.cs
- ZoomPercentageConverter.cs