Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / OleDb / OleDbStruct.cs / 1305376 / OleDbStruct.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.OleDb { using System; using System.Runtime.InteropServices; #if DEBUG using System.Diagnostics; using System.Globalization; using System.Text; #endif internal enum DBBindStatus { OK = 0, BADORDINAL = 1, UNSUPPORTEDCONVERSION = 2, BADBINDINFO = 3, BADSTORAGEFLAGS = 4, NOINTERFACE = 5, MULTIPLESTORAGE = 6 } #if false typedef struct tagDBPARAMBINDINFO { LPOLESTR pwszDataSourceType; LPOLESTR pwszName; DBLENGTH ulParamSize; DBPARAMFLAGS dwFlags; BYTE bPrecision; BYTE bScale; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal struct tagDBPARAMBINDINFO { internal IntPtr pwszDataSourceType; internal IntPtr pwszName; internal IntPtr ulParamSize; internal Int32 dwFlags; internal Byte bPrecision; internal Byte bScale; #if DEBUG public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append("tagDBPARAMBINDINFO").Append(Environment.NewLine); if (IntPtr.Zero != pwszDataSourceType) { builder.Append("pwszDataSourceType =").Append(Marshal.PtrToStringUni(pwszDataSourceType)).Append(Environment.NewLine); } builder.Append("\tulParamSize =" + ulParamSize.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tdwFlags =0x" + dwFlags.ToString("X4", CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tPrecision =" + bPrecision.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tScale =" + bScale.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); return builder.ToString(); } #endif } #if false typedef struct tagDBBINDING { DBORDINAL iOrdinal; DBBYTEOFFSET obValue; DBBYTEOFFSET obLength; DBBYTEOFFSET obStatus; ITypeInfo *pTypeInfo; DBOBJECT *pObject; DBBINDEXT *pBindExt; DBPART dwPart; DBMEMOWNER dwMemOwner; DBPARAMIO eParamIO; DBLENGTH cbMaxLen; DWORD dwFlags; DBTYPE wType; BYTE bPrecision; BYTE bScale; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal sealed class tagDBBINDING { internal IntPtr iOrdinal; internal IntPtr obValue; internal IntPtr obLength; internal IntPtr obStatus; internal IntPtr pTypeInfo; internal IntPtr pObject; internal IntPtr pBindExt; internal Int32 dwPart; internal Int32 dwMemOwner; internal Int32 eParamIO; internal IntPtr cbMaxLen; internal Int32 dwFlags; internal Int16 wType; internal byte bPrecision; internal byte bScale; internal tagDBBINDING() { } #if DEBUG public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append("tagDBBINDING").Append(Environment.NewLine); builder.Append("\tOrdinal =" + iOrdinal.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tValueOffset =" + obValue.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tLengthOffset=" + obLength.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tStatusOffset=" + obStatus.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tMaxLength =" + cbMaxLen.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tDB_Type =" + ODB.WLookup(wType)).Append(Environment.NewLine); builder.Append("\tPrecision =" + bPrecision.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\tScale =" + bScale.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); return builder.ToString(); } #endif } #if false typedef struct tagDBCOLUMNACCESS { void *pData; DBID columnid; DBLENGTH cbDataLen; DBSTATUS dwStatus; DBLENGTH cbMaxLen; DB_DWRESERVE dwReserved; DBTYPE wType; BYTE bPrecision; BYTE bScale; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal struct tagDBCOLUMNACCESS { internal IntPtr pData; internal tagDBIDX columnid; internal IntPtr cbDataLen; internal Int32 dwStatus; internal IntPtr cbMaxLen; internal IntPtr dwReserved; internal Int16 wType; internal Byte bPrecision; internal Byte bScale; } #if false typedef struct tagDBID { /* [switch_is][switch_type] */ union { /* [case()] */ GUID guid; /* [case()] */ GUID *pguid; /* [default] */ /* Empty union arm */ } uGuid; DBKIND eKind; /* [switch_is][switch_type] */ union { /* [case()] */ LPOLESTR pwszName; /* [case()] */ ULONG ulPropid; /* [default] */ /* Empty union arm */ } uName; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal struct tagDBIDX { internal Guid uGuid; internal Int32 eKind; internal IntPtr ulPropid; } #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal sealed class tagDBID { internal Guid uGuid; internal Int32 eKind; internal IntPtr ulPropid; } #if false typedef struct tagDBLITERALINFO { LPOLESTR pwszLiteralValue; LPOLESTR pwszInvalidChars; LPOLESTR pwszInvalidStartingChars; DBLITERAL lt; BOOL fSupported; ULONG cchMaxLen; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBLITERALINFO { [MarshalAs(UnmanagedType.LPWStr)] internal String pwszLiteralValue = null; [MarshalAs(UnmanagedType.LPWStr)] internal String pwszInvalidChars = null; [MarshalAs(UnmanagedType.LPWStr)] internal String pwszInvalidStartingChars = null; internal Int32 it; internal Int32 fSupported; internal Int32 cchMaxLen; internal tagDBLITERALINFO() { } } #if false typedef struct tagDBPROPSET { /* [size_is] */ DBPROP *rgProperties; ULONG cProperties; GUID guidPropertySet; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBPROPSET { internal IntPtr rgProperties; internal Int32 cProperties; internal Guid guidPropertySet; internal tagDBPROPSET() { } internal tagDBPROPSET(int propertyCount, Guid propertySet) { cProperties = propertyCount; guidPropertySet = propertySet; } } #if false typedef struct tagDBPROP { DBPROPID dwPropertyID; DBPROPOPTIONS dwOptions; DBPROPSTATUS dwStatus; DBID colid; VARIANT vValue; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBPROP { internal Int32 dwPropertyID; internal Int32 dwOptions; internal OleDbPropertyStatus dwStatus; internal tagDBIDX columnid; // Variant [MarshalAs(UnmanagedType.Struct)] internal object vValue; internal tagDBPROP() { } internal tagDBPROP(int propertyID, bool required, object value) { dwPropertyID = propertyID; dwOptions = ((required) ? ODB.DBPROPOPTIONS_REQUIRED : ODB.DBPROPOPTIONS_OPTIONAL); vValue = value; } } #if false typedef struct tagDBPARAMS { void *pData; DB_UPARAMS cParamSets; HACCESSOR hAccessor; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBPARAMS { internal IntPtr pData; internal Int32 cParamSets; internal IntPtr hAccessor; internal tagDBPARAMS() { } } #if false typedef struct tagDBCOLUMNINFO { LPOLESTR pwszName; ITypeInfo *pTypeInfo; DBORDINAL iOrdinal; DBCOLUMNFLAGS dwFlags; DBLENGTH ulColumnSize; DBTYPE wType; BYTE bPrecision; BYTE bScale; DBID columnid; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBCOLUMNINFO { [MarshalAs(UnmanagedType.LPWStr)] internal String pwszName = null; //[MarshalAs(UnmanagedType.Interface)] internal IntPtr pTypeInfo = (IntPtr) 0; internal IntPtr iOrdinal = (IntPtr) 0; internal Int32 dwFlags = 0; internal IntPtr ulColumnSize = (IntPtr) 0; internal Int16 wType = 0; internal Byte bPrecision = 0; internal Byte bScale = 0; internal tagDBIDX columnid; internal tagDBCOLUMNINFO() { } #if DEBUG public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append("tagDBCOLUMNINFO: " + Convert.ToString(pwszName, CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + iOrdinal.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + "0x" + dwFlags.ToString("X8", CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + ulColumnSize.ToInt64().ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + "0x" + wType.ToString("X2", CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + bPrecision.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + bScale.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); builder.Append("\t" + columnid.eKind.ToString(CultureInfo.InvariantCulture)).Append(Environment.NewLine); return builder.ToString(); } #endif } #if false typedef struct tagDBPROPINFOSET { /* [size_is] */ PDBPROPINFO rgPropertyInfos; ULONG cPropertyInfos; GUID guidPropertySet; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBPROPINFOSET { internal IntPtr rgPropertyInfos; internal Int32 cPropertyInfos; internal Guid guidPropertySet; internal tagDBPROPINFOSET() { } } #if false typedef struct tagDBPROPINFO { LPOLESTR pwszDescription; DBPROPID dwPropertyID; DBPROPFLAGS dwFlags; VARTYPE vtType; VARIANT vValues; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif sealed internal class tagDBPROPINFO { [MarshalAs(UnmanagedType.LPWStr)] internal string pwszDescription; internal Int32 dwPropertyID; internal Int32 dwFlags; internal Int16 vtType; [MarshalAs(UnmanagedType.Struct)] internal object vValue; internal tagDBPROPINFO() { } } #if false typedef struct tagDBPROPIDSET { /* [size_is] */ DBPROPID *rgPropertyIDs; ULONG cPropertyIDs; GUID guidPropertySet; } #endif #if WIN32 [StructLayoutAttribute(LayoutKind.Sequential, Pack = 2)] #else [StructLayoutAttribute(LayoutKind.Sequential, Pack = 8)] #endif internal struct tagDBPROPIDSET { internal IntPtr rgPropertyIDs; internal Int32 cPropertyIDs; internal Guid guidPropertySet; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlDataSourceSelectingEventArgs.cs
- QilGenerator.cs
- RawStylusActions.cs
- Pen.cs
- SoapMessage.cs
- BooleanKeyFrameCollection.cs
- ICspAsymmetricAlgorithm.cs
- Expander.cs
- SegmentInfo.cs
- ListItemViewControl.cs
- MasterPageCodeDomTreeGenerator.cs
- CategoryNameCollection.cs
- PropertyOrder.cs
- CompilerScope.cs
- StickyNoteAnnotations.cs
- AssemblyBuilder.cs
- DebugControllerThread.cs
- CodeSubDirectory.cs
- PageThemeBuildProvider.cs
- BitmapEncoder.cs
- TcpClientSocketManager.cs
- WebScriptMetadataInstanceContextProvider.cs
- QueueAccessMode.cs
- StateElement.cs
- SmiGettersStream.cs
- XmlDataSource.cs
- DataBindingCollection.cs
- TextRunTypographyProperties.cs
- TransactionChannelFaultConverter.cs
- _IPv6Address.cs
- FileReservationCollection.cs
- ServicePoint.cs
- DashStyle.cs
- WebResourceAttribute.cs
- ToolBarTray.cs
- PageAsyncTaskManager.cs
- GeometryHitTestResult.cs
- FontClient.cs
- ValidatorUtils.cs
- Authorization.cs
- MarkupCompilePass1.cs
- GeometryDrawing.cs
- GeneratedContractType.cs
- DependencyPropertyConverter.cs
- SafePEFileHandle.cs
- DashStyle.cs
- IImplicitResourceProvider.cs
- BinaryObjectReader.cs
- Permission.cs
- SqlMethodCallConverter.cs
- WeakReadOnlyCollection.cs
- CodeGroup.cs
- DbInsertCommandTree.cs
- Table.cs
- ListChangedEventArgs.cs
- ListItemCollection.cs
- BamlBinaryReader.cs
- WebReferencesBuildProvider.cs
- EntityDataSourceWizardForm.cs
- PointAnimation.cs
- OrderPreservingPipeliningSpoolingTask.cs
- SizeIndependentAnimationStorage.cs
- KeySpline.cs
- TdsParserStaticMethods.cs
- XamlPoint3DCollectionSerializer.cs
- ConfigurationStrings.cs
- UnsafeNativeMethods.cs
- Int32EqualityComparer.cs
- SmiConnection.cs
- AssociatedControlConverter.cs
- Stack.cs
- DBConnectionString.cs
- DataGridItemCollection.cs
- webclient.cs
- FileDataSourceCache.cs
- _TLSstream.cs
- HtmlButton.cs
- TextRangeAdaptor.cs
- WebPartCatalogCloseVerb.cs
- ListView.cs
- IOThreadScheduler.cs
- PreProcessor.cs
- CodeActivityContext.cs
- SpStreamWrapper.cs
- Subtree.cs
- SchemaImporterExtensionsSection.cs
- QueryTreeBuilder.cs
- StreamAsIStream.cs
- LinkLabel.cs
- EnumValidator.cs
- FlowLayoutPanel.cs
- DefaultValueConverter.cs
- Decoder.cs
- NamedPipeAppDomainProtocolHandler.cs
- CellLabel.cs
- ReferenceEqualityComparer.cs
- EnlistmentState.cs
- RegexMatch.cs
- XmlWellformedWriter.cs
- CatalogZone.cs