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
- JournalEntryListConverter.cs
- ZoneLinkButton.cs
- VirtualDirectoryMappingCollection.cs
- BaseConfigurationRecord.cs
- TextElementCollectionHelper.cs
- TableHeaderCell.cs
- BitmapPalette.cs
- AnnotationComponentChooser.cs
- ConnectionManagementElement.cs
- activationcontext.cs
- Pair.cs
- DecimalKeyFrameCollection.cs
- HttpCapabilitiesEvaluator.cs
- GenericEnumConverter.cs
- AddingNewEventArgs.cs
- DbMetaDataFactory.cs
- RadioButtonBaseAdapter.cs
- ExtractCollection.cs
- TTSEvent.cs
- XmlExpressionDumper.cs
- SourceFileBuildProvider.cs
- ItemCheckEvent.cs
- ContainerAction.cs
- IgnorePropertiesAttribute.cs
- SecurityDocument.cs
- CellConstantDomain.cs
- ReferencedCollectionType.cs
- InputProcessorProfilesLoader.cs
- QueryTask.cs
- AsymmetricKeyExchangeDeformatter.cs
- WorkflowCommandExtensionItem.cs
- RoleGroup.cs
- StringBuilder.cs
- _NegoStream.cs
- bidPrivateBase.cs
- OutputCacheSettings.cs
- NestPullup.cs
- ExpandoObject.cs
- HttpValueCollection.cs
- MarkupCompilePass1.cs
- QilTypeChecker.cs
- ListenerPerfCounters.cs
- ModelItemDictionary.cs
- ThreadExceptionDialog.cs
- TreeNodeEventArgs.cs
- XmlILConstructAnalyzer.cs
- Point3DCollection.cs
- DrawingState.cs
- WebPartDescription.cs
- CompiledQueryCacheEntry.cs
- SettingsPropertyValueCollection.cs
- OleDbWrapper.cs
- TextChange.cs
- LocalizationComments.cs
- PackageRelationshipCollection.cs
- CodeTypeParameterCollection.cs
- XslAstAnalyzer.cs
- FileLogRecordEnumerator.cs
- ChangeConflicts.cs
- TagMapCollection.cs
- JsonDeserializer.cs
- LinkConverter.cs
- EntityChangedParams.cs
- Int32Rect.cs
- ConfigurationHelpers.cs
- CriticalExceptions.cs
- Calendar.cs
- XsltFunctions.cs
- ExceptionUtil.cs
- HttpRuntime.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- DayRenderEvent.cs
- SelectionGlyphBase.cs
- EntityConnectionStringBuilderItem.cs
- PriorityChain.cs
- MembershipSection.cs
- PixelFormatConverter.cs
- AccessDataSourceView.cs
- SettingsPropertyCollection.cs
- HttpBufferlessInputStream.cs
- ProbeMatchesApril2005.cs
- InputScopeConverter.cs
- AspNetCompatibilityRequirementsAttribute.cs
- KeyValuePair.cs
- MultipleViewProviderWrapper.cs
- Calendar.cs
- HostedElements.cs
- PublishLicense.cs
- PartitionResolver.cs
- CategoryAttribute.cs
- LayoutUtils.cs
- InvalidProgramException.cs
- HtmlTableRowCollection.cs
- WindowsListViewGroupSubsetLink.cs
- InputReferenceExpression.cs
- CodeExporter.cs
- XmlHierarchyData.cs
- ReflectionPermission.cs
- WizardDesigner.cs
- PolyLineSegment.cs