Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Data / System / Data / Common / UnsafeNativeMethods.cs / 1 / UnsafeNativeMethods.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data.Odbc; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using System.Runtime.ConstrainedExecution; namespace System.Data.Common { [SuppressUnmanagedCodeSecurityAttribute()] internal static class UnsafeNativeMethods { // // ODBC32 // [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLAllocHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/IntPtr InputHandle, /*SQLHANDLE* */out IntPtr OutputHandle); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLAllocHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/OdbcHandle InputHandle, /*SQLHANDLE* */out IntPtr OutputHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindCol( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/HandleRef TargetValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindCol( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/IntPtr TargetValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindParameter( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ParameterNumber, /*SQLSMALLINT*/Int16 ParamDirection, /*SQLSMALLINT*/ODBC32.SQL_C SQLCType, /*SQLSMALLINT*/Int16 SQLType, /*SQLULEN*/IntPtr cbColDef, /*SQLSMALLINT*/IntPtr ibScale, /*SQLPOINTER*/HandleRef rgbValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */HandleRef StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLCancel( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLCloseCursor( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLColAttributeW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/Int16 ColumnNumber, /*SQLUSMALLINT*/Int16 FieldIdentifier, /*SQLPOINTER*/CNativeBuffer CharacterAttribute, /*SQLSMALLINT*/Int16 BufferLength, /*SQLSMALLINT* */out Int16 StringLength, /*SQLPOINTER*/out IntPtr NumericAttribute); // note: in sql.h this is defined differently for the 64Bit platform. // However, for us the code is not different for SQLPOINTER or SQLLEN ... // frome sql.h: // #ifdef _WIN64 // SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, // SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, // SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, // SQLSMALLINT *StringLength, SQLLEN *NumericAttribute); // #else // SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, // SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, // SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, // SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute); // #endif [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string ColumnName, /*SQLSMALLINT*/Int16 NameLen4); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLDisconnect( /*SQLHDBC*/IntPtr ConnectionHandle); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLDriverConnectW( /*SQLHDBC*/OdbcConnectionHandle hdbc, /*SQLHWND*/IntPtr hwnd, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string connectionstring, /*SQLSMALLINT*/Int16 cbConnectionstring, /*SQLCHAR* */IntPtr connectionstringout, /*SQLSMALLINT*/Int16 cbConnectionstringoutMax, /*SQLSMALLINT* */out Int16 cbConnectionstringout, /*SQLUSMALLINT*/Int16 fDriverCompletion); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLEndTran( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/IntPtr Handle, /*SQLSMALLINT*/Int16 CompletionType); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLExecDirectW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string StatementText, /*SQLINTEGER*/Int32 TextLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLExecute( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFetch( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFreeHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHSTMT*/IntPtr StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFreeStmt( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/ODBC32.STMT Option); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/byte[] Value, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER* */out Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetData( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/CNativeBuffer TargetValue, /*SQLLEN*/IntPtr BufferLength, // sql.h differs from MSDN /*SQLLEN* */out IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLUSMALLINT*/Int16 RecNumber, /*SQLUSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/CNativeBuffer ValuePointer, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER* */out Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDiagRecW( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/OdbcHandle Handle, /*SQLSMALLINT*/Int16 RecNumber, /*SQLCHAR* */ StringBuilder rchState, /*SQLINTEGER* */out Int32 NativeError, /*SQLCHAR* */StringBuilder MessageText, /*SQLSMALLINT*/Int16 BufferLength, /*SQLSMALLINT* */out Int16 TextLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDiagFieldW( /*SQLSMALLINT*/ ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/ OdbcHandle Handle, /*SQLSMALLINT*/ Int16 RecNumber, /*SQLSMALLINT*/ Int16 DiagIdentifier, [MarshalAs(UnmanagedType.LPWStr)] /*SQLPOINTER*/ StringBuilder rchState, /*SQLSMALLINT*/ Int16 BufferLength, /*SQLSMALLINT* */ out Int16 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetFunctions( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_API fFunction, /*SQLUSMALLINT* */out Int16 pfExists); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetInfoW( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_INFO fInfoType, /*SQLPOINTER*/byte[] rgbInfoValue, /*SQLSMALLINT*/Int16 cbInfoValueMax, /*SQLSMALLINT* */out Int16 pcbInfoValue); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetInfoW( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_INFO fInfoType, /*SQLPOINTER*/byte[] rgbInfoValue, /*SQLSMALLINT*/Int16 cbInfoValueMax, /*SQLSMALLINT* */IntPtr pcbInfoValue); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetStmtAttrW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/out IntPtr Value, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER*/out Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetTypeInfo( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLSMALLINT*/Int16 fSqlType); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLMoreResults( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLNumResultCols( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLSMALLINT* */out Int16 ColumnCount); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLPrepareW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string StatementText, /*SQLINTEGER*/Int32 TextLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLPrimaryKeysW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLProcedureColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ProcName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ColumnName, /*SQLSMALLINT*/Int16 NameLen4); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLProceduresW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ProcName, /*SQLSMALLINT*/Int16 NameLen3); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLRowCount( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLLEN* */out IntPtr RowCount); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/System.Transactions.IDtcTransaction Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/string Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( // used only for AutoCommitOn /*SQLHBDC*/IntPtr ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLSMALLINT*/Int16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/HandleRef CharacterAttribute, /*SQLINTEGER*/Int32 BufferLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLSMALLINT*/Int16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/IntPtr CharacterAttribute, /*SQLINTEGER*/Int32 BufferLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetEnvAttr( /*SQLHENV*/OdbcEnvironmentHandle EnvironmentHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/ODBC32.SQL_IS StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetStmtAttrW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLINTEGER*/Int32 Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSpecialColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/ODBC32.SQL_SPECIALCOLS IdentifierType, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, /*SQLUSMALLINT*/ODBC32.SQL_SCOPE Scope, /*SQLUSMALLINT*/ ODBC32.SQL_NULLABILITY Nullable); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLStatisticsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, /*SQLUSMALLINT*/Int16 Unique, /*SQLUSMALLINT*/Int16 Reserved); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLTablesW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableType, /*SQLSMALLINT*/Int16 NameLen4); // // Oleaut32 // [DllImport(ExternDll.Oleaut32, CharSet=CharSet.Unicode, PreserveSig=true)] static internal extern System.Data.OleDb.OleDbHResult GetErrorInfo( [In] Int32 dwReserved, [Out, MarshalAs(UnmanagedType.Interface)] out IErrorInfo ppIErrorInfo); [Guid("00000567-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface ADORecordConstruction { [return:MarshalAs(UnmanagedType.Interface)] object get_Row (); //void put_Row( // [In, MarshalAs(UnmanagedType.Interface)] object pRow); //void put_ParentRow( // [In, MarshalAs(UnmanagedType.Interface)]object pRow); } [Guid("00000283-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface ADORecordsetConstruction { [return:MarshalAs(UnmanagedType.Interface)] object get_Rowset(); [ Obsolete("not used", true)] void put_Rowset (/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.SysInt)]*/ IntPtr get_Chapter(); //[[PreserveSig] //iint put_Chapter ( // [In] // IntPtr pcRefCount); //[[PreserveSig] //iint get_RowPosition ( // [Out, MarshalAs(UnmanagedType.Interface)] // out object ppRowPos); //[[PreserveSig] //iint put_RowPosition ( // [In, MarshalAs(UnmanagedType.Interface)] // object pRowPos); } [Guid("0000050E-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface Recordset15 { [ Obsolete("not used", true)] void get_Properties(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_AbsolutePosition(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_AbsolutePosition(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_ActiveConnection(/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.Variant)]*/object get_ActiveConnection(); [ Obsolete("not used", true)] void get_BOF(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Bookmark(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Bookmark(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CacheSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CacheSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CursorType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CursorType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_EOF(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Fields(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_LockType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_LockType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_MaxRecords(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_MaxRecords(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_RecordCount(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void AddNew(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CancelUpdate(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult Close(); [ Obsolete("not used", true)] void Delete(/*deleted parameters signature*/); [ Obsolete("not used", true)] void GetRows(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Move(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MoveNext(); [ Obsolete("not used", true)] void MovePrevious(); [ Obsolete("not used", true)] void MoveFirst(); [ Obsolete("not used", true)] void MoveLast(); [ Obsolete("not used", true)] void Open(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Requery(/*deleted parameters signature*/); [ Obsolete("not used", true)] void _xResync(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Update(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_AbsolutePage(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_AbsolutePage(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_EditMode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Filter(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Filter(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_PageCount(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_PageSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_PageSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Sort(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Sort(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Status(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_State(/*deleted parameters signature*/); [ Obsolete("not used", true)] void _xClone(/*deleted parameters signature*/); [ Obsolete("not used", true)] void UpdateBatch(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CancelBatch(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CursorLocation(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CursorLocation(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult NextRecordset( [Out]out object RecordsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppiRs); //[ Obsolete("not used", true)] void Supports(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_Collect(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void put_Collect(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_MarshalOptions(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void put_MarshalOptions(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void Find(/*deleted parameters signature*/); } [Guid("00000562-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface _ADORecord { [ Obsolete("not used", true)] void get_Properties(/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.Variant)]*/object get_ActiveConnection(); [ Obsolete("not used", true)] void put_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_State(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Mode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Mode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_ParentURL(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MoveRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CopyRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void DeleteRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Open(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult Close(); //[ Obsolete("not used", true)] void get_Fields(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_RecordType(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void GetChildren(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void Cancel(); } /* typedef ULONGLONG DBLENGTH; // Offset within a rowset typedef LONGLONG DBROWOFFSET; // Number of rows typedef LONGLONG DBROWCOUNT; typedef ULONGLONG DBCOUNTITEM; // Ordinal (column number, etc.) typedef ULONGLONG DBORDINAL; typedef LONGLONG DB_LORDINAL; // Bookmarks typedef ULONGLONG DBBKMARK; // Offset in the buffer typedef ULONGLONG DBBYTEOFFSET; // Reference count of each row/accessor handle typedef ULONG DBREFCOUNT; // Parameters typedef ULONGLONG DB_UPARAMS; typedef LONGLONG DB_LPARAMS; // hash values corresponding to the elements (bookmarks) typedef DWORDLONG DBHASHVALUE; // For reserve typedef DWORDLONG DB_DWRESERVE; typedef LONGLONG DB_LRESERVE; typedef ULONGLONG DB_URESERVE; */ [ComImport, Guid("0C733A8C-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), SuppressUnmanagedCodeSecurity] internal interface IAccessor { [ Obsolete("not used", true)] void AddRefAccessor(/*deleted parameters signature*/); /*[local] HRESULT CreateAccessor( [in] DBACCESSORFLAGS dwAccessorFlags, [in] DBCOUNTITEM cBindings, [in, size_is(cBindings)] const DBBINDING rgBindings[], [in] DBLENGTH cbRowSize, [out] HACCESSOR * phAccessor, [out, size_is(cBindings)] DBBINDSTATUS rgStatus[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult CreateAccessor( [In] int dwAccessorFlags, [In] IntPtr cBindings, [In] /*tagDBBINDING[]*/SafeHandle rgBindings, [In] IntPtr cbRowSize, [Out] out IntPtr phAccessor, [In, Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4)] int[] rgStatus); [ Obsolete("not used", true)] void GetBindings(/*deleted parameters signature*/); /*[local] HRESULT ReleaseAccessor( [in] HACCESSOR hAccessor, [in, out, unique] DBREFCOUNT * pcRefCount );*/ [PreserveSig] System.Data.OleDb.OleDbHResult ReleaseAccessor( [In] IntPtr hAccessor, [Out] out int pcRefCount); } [Guid("0C733A93-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IChapteredRowset { [ Obsolete("not used", true)] void AddRefChapter(/*deleted parameters signature*/); /*[local] HRESULT ReleaseChapter( [in] HCHAPTER hChapter, [out] DBREFCOUNT * pcRefCount );*/ [PreserveSig, ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] System.Data.OleDb.OleDbHResult ReleaseChapter( [In] IntPtr hChapter, [Out] out int pcRefCount); } [Guid("0C733A11-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IColumnsInfo { /*[local] HRESULT GetColumnInfo( [in, out] DBORDINAL * pcColumns, [out, size_is(,(ULONG)*pcColumns)] DBCOLUMNINFO ** prgInfo, [out] OLECHAR ** ppStringsBuffer );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetColumnInfo( [Out] out IntPtr pcColumns, [Out] out IntPtr prgInfo, [Out] out IntPtr ppStringsBuffer); //[PreserveSig] //int MapColumnIDs(/* deleted parameters*/); } [Guid("0C733A10-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IColumnsRowset { /*[local] HRESULT GetAvailableColumns( [in, out] DBORDINAL * pcOptColumns, [out, size_is(,(ULONG)*pcOptColumns)] DBID ** prgOptColumns );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetAvailableColumns( [Out] out IntPtr pcOptColumns, [Out] out IntPtr prgOptColumns); /*[local] HRESULT GetColumnsRowset( [in] IUnknown * pUnkOuter, [in] DBORDINAL cOptColumns, [in, size_is((ULONG)cOptColumns)] const DBID rgOptColumns[], [in] REFIID riid, [in] ULONG cPropertySets, [in, out, size_is((ULONG)cPropertySets)] DBPROPSET rgPropertySets[], [out, iid_is(riid)] IUnknown ** ppColRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetColumnsRowset( [In] IntPtr pUnkOuter, [In] IntPtr cOptColumns, [In] SafeHandle rgOptColumns, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppColRowset); } [Guid("0C733A26-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandPrepare { /*[local] HRESULT Prepare( [in] ULONG cExpectedRuns );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Prepare( [In] int cExpectedRuns); //[PreserveSig] //int Unprepare(); } [Guid("0C733A79-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandProperties { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); /*[local] HRESULT SetProperties( [in] ULONG cPropertySets, [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetProperties( [In] int cPropertySets, [In] SafeHandle rgPropertySets); } [Guid("0C733A27-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandText { /*[local] HRESULT Cancel( );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Cancel(); /*[local] HRESULT Execute( [in] IUnknown * pUnkOuter, [in] REFIID riid, [in, out] DBPARAMS * pParams, [out] DBROWCOUNT * pcRowsAffected, [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Execute( [In] IntPtr pUnkOuter, [In] ref Guid riid, [In] System.Data.OleDb.tagDBPARAMS pDBParams, [Out] out IntPtr pcRowsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); [ Obsolete("not used", true)] void GetDBSession(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetCommandText(/*deleted parameter signature*/); /*[local] HRESULT SetCommandText( [in] REFGUID rguidDialect, [in, unique] LPCOLESTR pwszCommand );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetCommandText( [In] ref Guid rguidDialect, [In, MarshalAs(UnmanagedType.LPWStr)] string pwszCommand); } [Guid("0C733A64-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandWithParameters { [ Obsolete("not used", true)] void GetParameterInfo(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MapParameterNames(/*deleted parameter signature*/); /*[local] HRESULT SetParameterInfo( [in] DB_UPARAMS cParams, [in, unique, size_is((ULONG)cParams)] const DB_UPARAMS rgParamOrdinals[], [in, unique, size_is((ULONG)cParams)] const DBPARAMBINDINFO rgParamBindInfo[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetParameterInfo( [In] IntPtr cParams, [In, MarshalAs(UnmanagedType.LPArray)] IntPtr[] rgParamOrdinals, [In, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] System.Data.OleDb.tagDBPARAMBINDINFO[] rgParamBindInfo); } [Guid("2206CCB1-19C1-11D1-89E0-00C04FD7A829"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDataInitialize { } [Guid("0C733A89-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBInfo { /*[local] HRESULT GetKeywords( [out] LPOLESTR * ppwszKeywords );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetKeywords( [Out, MarshalAs(UnmanagedType.LPWStr)] out string ppwszKeywords); /*[local] HRESULT GetLiteralInfo( [in] ULONG cLiterals, [in, size_is(cLiterals)] const DBLITERAL rgLiterals[], [in, out] ULONG * pcLiteralInfo, [out, size_is(,*pcLiteralInfo)] DBLITERALINFO ** prgLiteralInfo, [out] OLECHAR ** ppCharBuffer );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetLiteralInfo( [In] int cLiterals, [In, MarshalAs(UnmanagedType.LPArray)] int[] rgLiterals, [Out] out int pcLiteralInfo, [Out] out IntPtr prgLiteralInfo, [Out] out IntPtr ppCharBuffer); } [Guid("0C733A8A-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBProperties { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); [PreserveSig] System.Data.OleDb.OleDbHResult GetPropertyInfo( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertyInfoSets, [Out] out IntPtr ppDescBuffer); [PreserveSig] System.Data.OleDb.OleDbHResult SetProperties( [In] int cPropertySets, [In] SafeHandle rgPropertySets); } [Guid("0C733A7B-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBSchemaRowset { /*[local] HRESULT GetRowset( [in] IUnknown * pUnkOuter, [in] REFGUID rguidSchema, [in] ULONG cRestrictions, [in, size_is(cRestrictions)] const VARIANT rgRestrictions[], [in] REFIID riid, [in] ULONG cPropertySets, [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[], [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetRowset( [In] IntPtr pUnkOuter, [In] ref Guid rguidSchema, [In] int cRestrictions, [In, MarshalAs(UnmanagedType.LPArray)] object[] rgRestrictions, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppRowset); /*[local] HRESULT GetSchemas( [in, out] ULONG * pcSchemas, [out, size_is(,*pcSchemas)] GUID ** prgSchemas, [out, size_is(,*pcSchemas)] ULONG ** prgRestrictionSupport );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetSchemas( [Out] out int pcSchemas, [Out] out IntPtr rguidSchema, [Out] out IntPtr prgRestrictionSupport); } [Guid("1CF2B120-547D-101B-8E65-08002B2BD119"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IErrorInfo { [ Obsolete("not used", true)] void GetGUID(/*deleted parameter signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult GetSource( [Out, MarshalAs(UnmanagedType.BStr)] out string pBstrSource); [PreserveSig] System.Data.OleDb.OleDbHResult GetDescription( [Out, MarshalAs(UnmanagedType.BStr)] out string pBstrDescription); //[ Obsolete("not used", true)] void GetHelpFile(/*deleted parameter signature*/); //[ Obsolete("not used", true)] void GetHelpContext(/*deleted parameter signature*/); } #if false MIDL_INTERFACE("1CF2B120-547D-101B-8E65-08002B2BD119") IErrorInfo : public IUnknown virtual HRESULT STDMETHODCALLTYPE GetGUID( /* [out] */ GUID *pGUID) = 0; virtual HRESULT STDMETHODCALLTYPE GetSource( /* [out] */ BSTR *pBstrSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescription( /* [out] */ BSTR *pBstrDescription) = 0; virtual HRESULT STDMETHODCALLTYPE GetHelpFile( /* [out] */ BSTR *pBstrHelpFile) = 0; virtual HRESULT STDMETHODCALLTYPE GetHelpContext( /* [out] */ DWORD *pdwHelpContext) = 0; #endif [Guid("0C733A67-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IErrorRecords { [ Obsolete("not used", true)] void AddErrorRecord(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetBasicErrorInfo(/*deleted parameter signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult GetCustomErrorObject( // may return E_NOINTERFACE when asking for IID_ISQLErrorInfo [In] Int32 ulRecordNum, [In] ref Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out ISQLErrorInfo ppObject); [return:MarshalAs(UnmanagedType.Interface)] IErrorInfo GetErrorInfo( [In] Int32 ulRecordNum, [In] Int32 lcid); [ Obsolete("not used", true)] void GetErrorParameters(/*deleted parameter signature*/); Int32 GetRecordCount(); } #if false MIDL_INTERFACE("0c733a67-2a1c-11ce-ade5-00aa0044773d") IErrorRecords : public IUnknown virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddErrorRecord( /* [in] */ ERRORINFO *pErrorInfo, /* [in] */ DWORD dwLookupID, /* [in] */ DISPPARAMS *pdispparams, /* [in] */ IUnknown *punkCustomError, /* [in] */ DWORD dwDynamicErrorID) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBasicErrorInfo( /* [in] */ ULONG ulRecordNum, /* [out] */ ERRORINFO *pErrorInfo) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCustomErrorObject( /* [in] */ ULONG ulRecordNum, /* [in] */ REFIID riid, /* [iid_is][out] */ IUnknown **ppObject) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorInfo( /* [in] */ ULONG ulRecordNum, /* [in] */ LCID lcid, /* [out] */ IErrorInfo **ppErrorInfo) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorParameters( /* [in] */ ULONG ulRecordNum, /* [out] */ DISPPARAMS *pdispparams) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRecordCount( /* [out] */ ULONG *pcRecords) = 0; #endif [Guid("0C733A90-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IMultipleResults { /*[local] HRESULT GetResult( [in] IUnknown * pUnkOuter, [in] DBRESULTFLAG lResultFlag, [in] REFIID riid, [out] DBROWCOUNT * pcRowsAffected, [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetResult( [In] IntPtr pUnkOuter, [In] IntPtr lResultFlag, [In] ref Guid riid, [Out] out IntPtr pcRowsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); } #if false enum DBRESULTFLAGENUM { DBRESULTFLAG_DEFAULT = 0, DBRESULTFLAG_ROWSET = 1, DBRESULTFLAG_ROW = 2 } MIDL_INTERFACE("0c733a90-2a1c-11ce-ade5-00aa0044773d") IMultipleResults : public IUnknown virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetResult( /* [in] */ IUnknown *pUnkOuter, /* [in] */ DBRESULTFLAG lResultFlag, /* [in] */ REFIID riid, /* [out] */ DBROWCOUNT *pcRowsAffected, /* [iid_is][out] */ IUnknown **ppRowset) = 0; #endif [Guid("0C733A69-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IOpenRowset { [PreserveSig] System.Data.OleDb.OleDbHResult OpenRowset( [In] IntPtr pUnkOuter, [In] System.Data.OleDb.tagDBID pTableID, [In] IntPtr pIndexID, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); } [Guid("0C733AB4-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRow { [PreserveSig] System.Data.OleDb.OleDbHResult GetColumns( [In] IntPtr cColumns, [In, Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] System.Data.OleDb.tagDBCOLUMNACCESS[] rgColumns); //[ Obsolete("not used", true)] void GetSourceRowset(/*deleted parameter signature*/); //[ Obsolete("not used", true)] void Open(/*deleted parameter signature*/); } [Guid("0C733A7C-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRowset { [ Obsolete("not used", true)] void AddRefRows(/*deleted parameter signature*/); /*HRESULT GetData( [in] HROW hRow, [in] HACCESSOR hAccessor, [out] void * pData );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetData( [In] IntPtr hRow, [In] IntPtr hAccessor, [In] IntPtr pData); /*HRESULT GetNextRows( [in] HCHAPTER hReserved, [in] DBROWOFFSET lRowsOffset, [in] DBROWCOUNT cRows, [out] DBCOUNTITEM * pcRowsObtained, [out, size_is(,cRows)] HROW ** prghRows );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetNextRows( [In] IntPtr hChapter, [In] IntPtr lRowsOffset, [In] IntPtr cRows, [Out] out IntPtr pcRowsObtained, [In] ref IntPtr pprghRows); /*HRESULT ReleaseRows( [in] DBCOUNTITEM cRows, [in, size_is(cRows)] const HROW rghRows[], [in, size_is(cRows)] DBROWOPTIONS rgRowOptions[], [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], [out, size_is(cRows)] DBROWSTATUS rgRowStatus[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult ReleaseRows( [In] IntPtr cRows, [In] SafeHandle rghRows, [In/*, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRowOptions, [In/*, Out, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRefCounts, [In/*, Out, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRowStatus); [ Obsolete("not used", true)] void RestartPosition(/*deleted parameter signature*/); } [Guid("0C733A55-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRowsetInfo { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); [PreserveSig] System.Data.OleDb.OleDbHResult GetReferencedRowset( [In] IntPtr iOrdinal, [In] ref Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppRowset); //[PreserveSig] //int GetSpecification(/*deleted parameter signature*/); } [Guid("0C733A74-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ISQLErrorInfo { [return:MarshalAs(UnmanagedType.I4)] Int32 GetSQLInfo( [Out, MarshalAs(UnmanagedType.BStr)] out String pbstrSQLState); } [Guid("0C733A5F-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ITransactionLocal { [ Obsolete("not used", true)] void Commit(/*deleted parameter signature*/); [ Obsolete("not used", true)] void Abort(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetTransactionInfo(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetOptionsObject(/*deleted parameter signature*/); [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [PreserveSig] System.Data.OleDb.OleDbHResult StartTransaction( [In] int isoLevel, [In] int isoFlags, [In] IntPtr pOtherOptions, [Out] out int pulTransactionLevel); } // we wrap the vtable entry which is just a function pointer as a delegate // since code (unlike data) doesn't move around within the process, it is safe to cache the delegate // we do not expect native to change its vtable entry at run-time (especially since these are free-threaded objects) // however to be extra safe double check the function pointer is the same as the cached delegate // whenever we encounter a new instance of the data // dangerous delegate around IUnknown::QueryInterface (0th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate int IUnknownQueryInterface( IntPtr pThis, ref Guid riid, ref IntPtr ppInterface); // dangerous delegate around IDataInitialize::GetDataSource (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDataInitializeGetDataSource( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, int dwClsCtx, [MarshalAs(UnmanagedType.LPWStr)] string pwszInitializationString, ref Guid riid, ref System.Data.OleDb.DataSourceWrapper ppDataSource); // dangerous wrapper around IDBInitialize::Initialize (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBInitializeInitialize( IntPtr pThis); // first parameter is always the 'this' value, must use use result from QI // dangerous wrapper around IDBCreateSession::CreateSession (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBCreateSessionCreateSession( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, ref Guid riid, ref System.Data.OleDb.SessionWrapper ppDBSession); // dangerous wrapper around IDBCreateCommand::CreateCommand (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBCreateCommandCreateCommand( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, ref Guid riid, [MarshalAs(UnmanagedType.Interface)] ref object ppCommand); // // Advapi32.dll Integrated security functions // [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] internal struct Trustee { internal IntPtr _pMultipleTrustee; // PTRUSTEE internal int _MultipleTrusteeOperation; // MULTIPLE_TRUSTEE_OPERATION internal int _TrusteeForm; // TRUSTEE_FORM internal int _TrusteeType; // TRUSTEE_TYPE [MarshalAs(UnmanagedType.LPTStr)] internal string _name; internal Trustee(string name) { _pMultipleTrustee = IntPtr.Zero; _MultipleTrusteeOperation = 0; // NO_MULTIPLE_TRUSTEE _TrusteeForm = 1; // TRUSTEE_IS_NAME _TrusteeType = 1; // TRUSTEE_IS_USER _name = name; } } [DllImport(ExternDll.Advapi32, CharSet=CharSet.Unicode)] static internal extern uint GetEffectiveRightsFromAclW (byte[] pAcl, ref Trustee pTrustee, out uint pAccessMask); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool CheckTokenMembership (IntPtr tokenHandle, byte[] sidToCheck, out bool isMember); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool ConvertSidToStringSidW(IntPtr sid, out IntPtr stringSid); [DllImport(ExternDll.Advapi32, EntryPoint="CreateWellKnownSid", SetLastError=true, CharSet=CharSet.Unicode)] static internal extern int CreateWellKnownSid( int sidType, byte[] domainSid, [Out] byte[] resultSid, ref uint resultSidLength ); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool GetTokenInformation(IntPtr tokenHandle, uint token_class, IntPtr tokenStruct, uint tokenInformationLength, ref uint tokenString); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool IsTokenRestricted(IntPtr tokenHandle); [DllImport(ExternDll.Kernel32, CharSet=CharSet.Unicode)] internal static extern int lstrlenW(IntPtr ptr); /* For debugging purposes... [DllImport(ExternDll.Advapi32)] [return:MarshalAs(UnmanagedType.I4)] static internal extern int GetLengthSid(IntPtr sid1); */ [DllImport(ExternDll.Kernel32)] static internal extern void SetLastError(int dwErrCode); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data.Odbc; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using System.Runtime.ConstrainedExecution; namespace System.Data.Common { [SuppressUnmanagedCodeSecurityAttribute()] internal static class UnsafeNativeMethods { // // ODBC32 // [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLAllocHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/IntPtr InputHandle, /*SQLHANDLE* */out IntPtr OutputHandle); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLAllocHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/OdbcHandle InputHandle, /*SQLHANDLE* */out IntPtr OutputHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindCol( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/HandleRef TargetValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindCol( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/IntPtr TargetValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLBindParameter( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ParameterNumber, /*SQLSMALLINT*/Int16 ParamDirection, /*SQLSMALLINT*/ODBC32.SQL_C SQLCType, /*SQLSMALLINT*/Int16 SQLType, /*SQLULEN*/IntPtr cbColDef, /*SQLSMALLINT*/IntPtr ibScale, /*SQLPOINTER*/HandleRef rgbValue, /*SQLLEN*/IntPtr BufferLength, /*SQLLEN* */HandleRef StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLCancel( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLCloseCursor( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLColAttributeW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/Int16 ColumnNumber, /*SQLUSMALLINT*/Int16 FieldIdentifier, /*SQLPOINTER*/CNativeBuffer CharacterAttribute, /*SQLSMALLINT*/Int16 BufferLength, /*SQLSMALLINT* */out Int16 StringLength, /*SQLPOINTER*/out IntPtr NumericAttribute); // note: in sql.h this is defined differently for the 64Bit platform. // However, for us the code is not different for SQLPOINTER or SQLLEN ... // frome sql.h: // #ifdef _WIN64 // SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, // SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, // SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, // SQLSMALLINT *StringLength, SQLLEN *NumericAttribute); // #else // SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, // SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, // SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, // SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute); // #endif [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string ColumnName, /*SQLSMALLINT*/Int16 NameLen4); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLDisconnect( /*SQLHDBC*/IntPtr ConnectionHandle); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLDriverConnectW( /*SQLHDBC*/OdbcConnectionHandle hdbc, /*SQLHWND*/IntPtr hwnd, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string connectionstring, /*SQLSMALLINT*/Int16 cbConnectionstring, /*SQLCHAR* */IntPtr connectionstringout, /*SQLSMALLINT*/Int16 cbConnectionstringoutMax, /*SQLSMALLINT* */out Int16 cbConnectionstringout, /*SQLUSMALLINT*/Int16 fDriverCompletion); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLEndTran( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/IntPtr Handle, /*SQLSMALLINT*/Int16 CompletionType); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLExecDirectW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string StatementText, /*SQLINTEGER*/Int32 TextLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLExecute( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFetch( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFreeHandle( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHSTMT*/IntPtr StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLFreeStmt( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/ODBC32.STMT Option); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/byte[] Value, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER* */out Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetData( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/UInt16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_C TargetType, /*SQLPOINTER*/CNativeBuffer TargetValue, /*SQLLEN*/IntPtr BufferLength, // sql.h differs from MSDN /*SQLLEN* */out IntPtr StrLen_or_Ind); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLUSMALLINT*/Int16 RecNumber, /*SQLUSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/CNativeBuffer ValuePointer, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER* */out Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDiagRecW( /*SQLSMALLINT*/ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/OdbcHandle Handle, /*SQLSMALLINT*/Int16 RecNumber, /*SQLCHAR* */ StringBuilder rchState, /*SQLINTEGER* */out Int32 NativeError, /*SQLCHAR* */StringBuilder MessageText, /*SQLSMALLINT*/Int16 BufferLength, /*SQLSMALLINT* */out Int16 TextLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetDiagFieldW( /*SQLSMALLINT*/ ODBC32.SQL_HANDLE HandleType, /*SQLHANDLE*/ OdbcHandle Handle, /*SQLSMALLINT*/ Int16 RecNumber, /*SQLSMALLINT*/ Int16 DiagIdentifier, [MarshalAs(UnmanagedType.LPWStr)] /*SQLPOINTER*/ StringBuilder rchState, /*SQLSMALLINT*/ Int16 BufferLength, /*SQLSMALLINT* */ out Int16 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetFunctions( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_API fFunction, /*SQLUSMALLINT* */out Int16 pfExists); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetInfoW( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_INFO fInfoType, /*SQLPOINTER*/byte[] rgbInfoValue, /*SQLSMALLINT*/Int16 cbInfoValueMax, /*SQLSMALLINT* */out Int16 pcbInfoValue); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetInfoW( /*SQLHBDC*/OdbcConnectionHandle hdbc, /*SQLUSMALLINT*/ODBC32.SQL_INFO fInfoType, /*SQLPOINTER*/byte[] rgbInfoValue, /*SQLSMALLINT*/Int16 cbInfoValueMax, /*SQLSMALLINT* */IntPtr pcbInfoValue); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetStmtAttrW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/out IntPtr Value, /*SQLINTEGER*/Int32 BufferLength, /*SQLINTEGER*/out Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLGetTypeInfo( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLSMALLINT*/Int16 fSqlType); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLMoreResults( /*SQLHSTMT*/OdbcStatementHandle StatementHandle); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLNumResultCols( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLSMALLINT* */out Int16 ColumnCount); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLPrepareW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string StatementText, /*SQLINTEGER*/Int32 TextLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLPrimaryKeysW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLProcedureColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ProcName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ColumnName, /*SQLSMALLINT*/Int16 NameLen4); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLProceduresW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */ string ProcName, /*SQLSMALLINT*/Int16 NameLen3); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLRowCount( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLLEN* */out IntPtr RowCount); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/System.Transactions.IDtcTransaction Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/string Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( /*SQLHBDC*/OdbcConnectionHandle ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetConnectAttrW( // used only for AutoCommitOn /*SQLHBDC*/IntPtr ConnectionHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLSMALLINT*/Int16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/HandleRef CharacterAttribute, /*SQLINTEGER*/Int32 BufferLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetDescFieldW ( /*SQLHSTMT*/OdbcDescriptorHandle StatementHandle, /*SQLSMALLINT*/Int16 ColumnNumber, /*SQLSMALLINT*/ODBC32.SQL_DESC FieldIdentifier, /*SQLPOINTER*/IntPtr CharacterAttribute, /*SQLINTEGER*/Int32 BufferLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetEnvAttr( /*SQLHENV*/OdbcEnvironmentHandle EnvironmentHandle, /*SQLINTEGER*/ODBC32.SQL_ATTR Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/ODBC32.SQL_IS StringLength); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSetStmtAttrW( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLINTEGER*/Int32 Attribute, /*SQLPOINTER*/IntPtr Value, /*SQLINTEGER*/Int32 StringLength); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLSpecialColumnsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, /*SQLUSMALLINT*/ODBC32.SQL_SPECIALCOLS IdentifierType, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, /*SQLUSMALLINT*/ODBC32.SQL_SCOPE Scope, /*SQLUSMALLINT*/ ODBC32.SQL_NULLABILITY Nullable); [DllImport(ExternDll.Odbc32, CharSet=CharSet.Unicode)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLStatisticsW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, /*SQLUSMALLINT*/Int16 Unique, /*SQLUSMALLINT*/Int16 Reserved); [DllImport(ExternDll.Odbc32)] static internal extern /*SQLRETURN*/ODBC32.RetCode SQLTablesW ( /*SQLHSTMT*/OdbcStatementHandle StatementHandle, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string CatalogName, /*SQLSMALLINT*/Int16 NameLen1, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string SchemaName, /*SQLSMALLINT*/Int16 NameLen2, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableName, /*SQLSMALLINT*/Int16 NameLen3, [In, MarshalAs(UnmanagedType.LPWStr)] /*SQLCHAR* */string TableType, /*SQLSMALLINT*/Int16 NameLen4); // // Oleaut32 // [DllImport(ExternDll.Oleaut32, CharSet=CharSet.Unicode, PreserveSig=true)] static internal extern System.Data.OleDb.OleDbHResult GetErrorInfo( [In] Int32 dwReserved, [Out, MarshalAs(UnmanagedType.Interface)] out IErrorInfo ppIErrorInfo); [Guid("00000567-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface ADORecordConstruction { [return:MarshalAs(UnmanagedType.Interface)] object get_Row (); //void put_Row( // [In, MarshalAs(UnmanagedType.Interface)] object pRow); //void put_ParentRow( // [In, MarshalAs(UnmanagedType.Interface)]object pRow); } [Guid("00000283-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface ADORecordsetConstruction { [return:MarshalAs(UnmanagedType.Interface)] object get_Rowset(); [ Obsolete("not used", true)] void put_Rowset (/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.SysInt)]*/ IntPtr get_Chapter(); //[[PreserveSig] //iint put_Chapter ( // [In] // IntPtr pcRefCount); //[[PreserveSig] //iint get_RowPosition ( // [Out, MarshalAs(UnmanagedType.Interface)] // out object ppRowPos); //[[PreserveSig] //iint put_RowPosition ( // [In, MarshalAs(UnmanagedType.Interface)] // object pRowPos); } [Guid("0000050E-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface Recordset15 { [ Obsolete("not used", true)] void get_Properties(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_AbsolutePosition(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_AbsolutePosition(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_ActiveConnection(/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.Variant)]*/object get_ActiveConnection(); [ Obsolete("not used", true)] void get_BOF(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Bookmark(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Bookmark(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CacheSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CacheSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CursorType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CursorType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_EOF(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Fields(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_LockType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_LockType(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_MaxRecords(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_MaxRecords(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_RecordCount(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void AddNew(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CancelUpdate(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult Close(); [ Obsolete("not used", true)] void Delete(/*deleted parameters signature*/); [ Obsolete("not used", true)] void GetRows(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Move(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MoveNext(); [ Obsolete("not used", true)] void MovePrevious(); [ Obsolete("not used", true)] void MoveFirst(); [ Obsolete("not used", true)] void MoveLast(); [ Obsolete("not used", true)] void Open(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Requery(/*deleted parameters signature*/); [ Obsolete("not used", true)] void _xResync(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Update(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_AbsolutePage(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_AbsolutePage(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_EditMode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Filter(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Filter(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_PageCount(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_PageSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_PageSize(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Sort(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Sort(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Status(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_State(/*deleted parameters signature*/); [ Obsolete("not used", true)] void _xClone(/*deleted parameters signature*/); [ Obsolete("not used", true)] void UpdateBatch(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CancelBatch(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_CursorLocation(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_CursorLocation(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult NextRecordset( [Out]out object RecordsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppiRs); //[ Obsolete("not used", true)] void Supports(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_Collect(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void put_Collect(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_MarshalOptions(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void put_MarshalOptions(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void Find(/*deleted parameters signature*/); } [Guid("00000562-0000-0010-8000-00AA006D2EA4"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComImport, SuppressUnmanagedCodeSecurity] internal interface _ADORecord { [ Obsolete("not used", true)] void get_Properties(/*deleted parameters signature*/); /*[return:MarshalAs(UnmanagedType.Variant)]*/object get_ActiveConnection(); [ Obsolete("not used", true)] void put_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_ActiveConnection(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_State(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void putref_Source(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_Mode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void put_Mode(/*deleted parameters signature*/); [ Obsolete("not used", true)] void get_ParentURL(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MoveRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void CopyRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void DeleteRecord(/*deleted parameters signature*/); [ Obsolete("not used", true)] void Open(/*deleted parameters signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult Close(); //[ Obsolete("not used", true)] void get_Fields(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void get_RecordType(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void GetChildren(/*deleted parameters signature*/); //[ Obsolete("not used", true)] void Cancel(); } /* typedef ULONGLONG DBLENGTH; // Offset within a rowset typedef LONGLONG DBROWOFFSET; // Number of rows typedef LONGLONG DBROWCOUNT; typedef ULONGLONG DBCOUNTITEM; // Ordinal (column number, etc.) typedef ULONGLONG DBORDINAL; typedef LONGLONG DB_LORDINAL; // Bookmarks typedef ULONGLONG DBBKMARK; // Offset in the buffer typedef ULONGLONG DBBYTEOFFSET; // Reference count of each row/accessor handle typedef ULONG DBREFCOUNT; // Parameters typedef ULONGLONG DB_UPARAMS; typedef LONGLONG DB_LPARAMS; // hash values corresponding to the elements (bookmarks) typedef DWORDLONG DBHASHVALUE; // For reserve typedef DWORDLONG DB_DWRESERVE; typedef LONGLONG DB_LRESERVE; typedef ULONGLONG DB_URESERVE; */ [ComImport, Guid("0C733A8C-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), SuppressUnmanagedCodeSecurity] internal interface IAccessor { [ Obsolete("not used", true)] void AddRefAccessor(/*deleted parameters signature*/); /*[local] HRESULT CreateAccessor( [in] DBACCESSORFLAGS dwAccessorFlags, [in] DBCOUNTITEM cBindings, [in, size_is(cBindings)] const DBBINDING rgBindings[], [in] DBLENGTH cbRowSize, [out] HACCESSOR * phAccessor, [out, size_is(cBindings)] DBBINDSTATUS rgStatus[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult CreateAccessor( [In] int dwAccessorFlags, [In] IntPtr cBindings, [In] /*tagDBBINDING[]*/SafeHandle rgBindings, [In] IntPtr cbRowSize, [Out] out IntPtr phAccessor, [In, Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4)] int[] rgStatus); [ Obsolete("not used", true)] void GetBindings(/*deleted parameters signature*/); /*[local] HRESULT ReleaseAccessor( [in] HACCESSOR hAccessor, [in, out, unique] DBREFCOUNT * pcRefCount );*/ [PreserveSig] System.Data.OleDb.OleDbHResult ReleaseAccessor( [In] IntPtr hAccessor, [Out] out int pcRefCount); } [Guid("0C733A93-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IChapteredRowset { [ Obsolete("not used", true)] void AddRefChapter(/*deleted parameters signature*/); /*[local] HRESULT ReleaseChapter( [in] HCHAPTER hChapter, [out] DBREFCOUNT * pcRefCount );*/ [PreserveSig, ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] System.Data.OleDb.OleDbHResult ReleaseChapter( [In] IntPtr hChapter, [Out] out int pcRefCount); } [Guid("0C733A11-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IColumnsInfo { /*[local] HRESULT GetColumnInfo( [in, out] DBORDINAL * pcColumns, [out, size_is(,(ULONG)*pcColumns)] DBCOLUMNINFO ** prgInfo, [out] OLECHAR ** ppStringsBuffer );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetColumnInfo( [Out] out IntPtr pcColumns, [Out] out IntPtr prgInfo, [Out] out IntPtr ppStringsBuffer); //[PreserveSig] //int MapColumnIDs(/* deleted parameters*/); } [Guid("0C733A10-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IColumnsRowset { /*[local] HRESULT GetAvailableColumns( [in, out] DBORDINAL * pcOptColumns, [out, size_is(,(ULONG)*pcOptColumns)] DBID ** prgOptColumns );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetAvailableColumns( [Out] out IntPtr pcOptColumns, [Out] out IntPtr prgOptColumns); /*[local] HRESULT GetColumnsRowset( [in] IUnknown * pUnkOuter, [in] DBORDINAL cOptColumns, [in, size_is((ULONG)cOptColumns)] const DBID rgOptColumns[], [in] REFIID riid, [in] ULONG cPropertySets, [in, out, size_is((ULONG)cPropertySets)] DBPROPSET rgPropertySets[], [out, iid_is(riid)] IUnknown ** ppColRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetColumnsRowset( [In] IntPtr pUnkOuter, [In] IntPtr cOptColumns, [In] SafeHandle rgOptColumns, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppColRowset); } [Guid("0C733A26-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandPrepare { /*[local] HRESULT Prepare( [in] ULONG cExpectedRuns );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Prepare( [In] int cExpectedRuns); //[PreserveSig] //int Unprepare(); } [Guid("0C733A79-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandProperties { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); /*[local] HRESULT SetProperties( [in] ULONG cPropertySets, [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetProperties( [In] int cPropertySets, [In] SafeHandle rgPropertySets); } [Guid("0C733A27-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandText { /*[local] HRESULT Cancel( );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Cancel(); /*[local] HRESULT Execute( [in] IUnknown * pUnkOuter, [in] REFIID riid, [in, out] DBPARAMS * pParams, [out] DBROWCOUNT * pcRowsAffected, [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult Execute( [In] IntPtr pUnkOuter, [In] ref Guid riid, [In] System.Data.OleDb.tagDBPARAMS pDBParams, [Out] out IntPtr pcRowsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); [ Obsolete("not used", true)] void GetDBSession(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetCommandText(/*deleted parameter signature*/); /*[local] HRESULT SetCommandText( [in] REFGUID rguidDialect, [in, unique] LPCOLESTR pwszCommand );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetCommandText( [In] ref Guid rguidDialect, [In, MarshalAs(UnmanagedType.LPWStr)] string pwszCommand); } [Guid("0C733A64-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ICommandWithParameters { [ Obsolete("not used", true)] void GetParameterInfo(/*deleted parameters signature*/); [ Obsolete("not used", true)] void MapParameterNames(/*deleted parameter signature*/); /*[local] HRESULT SetParameterInfo( [in] DB_UPARAMS cParams, [in, unique, size_is((ULONG)cParams)] const DB_UPARAMS rgParamOrdinals[], [in, unique, size_is((ULONG)cParams)] const DBPARAMBINDINFO rgParamBindInfo[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult SetParameterInfo( [In] IntPtr cParams, [In, MarshalAs(UnmanagedType.LPArray)] IntPtr[] rgParamOrdinals, [In, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] System.Data.OleDb.tagDBPARAMBINDINFO[] rgParamBindInfo); } [Guid("2206CCB1-19C1-11D1-89E0-00C04FD7A829"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDataInitialize { } [Guid("0C733A89-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBInfo { /*[local] HRESULT GetKeywords( [out] LPOLESTR * ppwszKeywords );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetKeywords( [Out, MarshalAs(UnmanagedType.LPWStr)] out string ppwszKeywords); /*[local] HRESULT GetLiteralInfo( [in] ULONG cLiterals, [in, size_is(cLiterals)] const DBLITERAL rgLiterals[], [in, out] ULONG * pcLiteralInfo, [out, size_is(,*pcLiteralInfo)] DBLITERALINFO ** prgLiteralInfo, [out] OLECHAR ** ppCharBuffer );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetLiteralInfo( [In] int cLiterals, [In, MarshalAs(UnmanagedType.LPArray)] int[] rgLiterals, [Out] out int pcLiteralInfo, [Out] out IntPtr prgLiteralInfo, [Out] out IntPtr ppCharBuffer); } [Guid("0C733A8A-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBProperties { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); [PreserveSig] System.Data.OleDb.OleDbHResult GetPropertyInfo( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertyInfoSets, [Out] out IntPtr ppDescBuffer); [PreserveSig] System.Data.OleDb.OleDbHResult SetProperties( [In] int cPropertySets, [In] SafeHandle rgPropertySets); } [Guid("0C733A7B-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IDBSchemaRowset { /*[local] HRESULT GetRowset( [in] IUnknown * pUnkOuter, [in] REFGUID rguidSchema, [in] ULONG cRestrictions, [in, size_is(cRestrictions)] const VARIANT rgRestrictions[], [in] REFIID riid, [in] ULONG cPropertySets, [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[], [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetRowset( [In] IntPtr pUnkOuter, [In] ref Guid rguidSchema, [In] int cRestrictions, [In, MarshalAs(UnmanagedType.LPArray)] object[] rgRestrictions, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppRowset); /*[local] HRESULT GetSchemas( [in, out] ULONG * pcSchemas, [out, size_is(,*pcSchemas)] GUID ** prgSchemas, [out, size_is(,*pcSchemas)] ULONG ** prgRestrictionSupport );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetSchemas( [Out] out int pcSchemas, [Out] out IntPtr rguidSchema, [Out] out IntPtr prgRestrictionSupport); } [Guid("1CF2B120-547D-101B-8E65-08002B2BD119"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IErrorInfo { [ Obsolete("not used", true)] void GetGUID(/*deleted parameter signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult GetSource( [Out, MarshalAs(UnmanagedType.BStr)] out string pBstrSource); [PreserveSig] System.Data.OleDb.OleDbHResult GetDescription( [Out, MarshalAs(UnmanagedType.BStr)] out string pBstrDescription); //[ Obsolete("not used", true)] void GetHelpFile(/*deleted parameter signature*/); //[ Obsolete("not used", true)] void GetHelpContext(/*deleted parameter signature*/); } #if false MIDL_INTERFACE("1CF2B120-547D-101B-8E65-08002B2BD119") IErrorInfo : public IUnknown virtual HRESULT STDMETHODCALLTYPE GetGUID( /* [out] */ GUID *pGUID) = 0; virtual HRESULT STDMETHODCALLTYPE GetSource( /* [out] */ BSTR *pBstrSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescription( /* [out] */ BSTR *pBstrDescription) = 0; virtual HRESULT STDMETHODCALLTYPE GetHelpFile( /* [out] */ BSTR *pBstrHelpFile) = 0; virtual HRESULT STDMETHODCALLTYPE GetHelpContext( /* [out] */ DWORD *pdwHelpContext) = 0; #endif [Guid("0C733A67-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IErrorRecords { [ Obsolete("not used", true)] void AddErrorRecord(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetBasicErrorInfo(/*deleted parameter signature*/); [PreserveSig] System.Data.OleDb.OleDbHResult GetCustomErrorObject( // may return E_NOINTERFACE when asking for IID_ISQLErrorInfo [In] Int32 ulRecordNum, [In] ref Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out ISQLErrorInfo ppObject); [return:MarshalAs(UnmanagedType.Interface)] IErrorInfo GetErrorInfo( [In] Int32 ulRecordNum, [In] Int32 lcid); [ Obsolete("not used", true)] void GetErrorParameters(/*deleted parameter signature*/); Int32 GetRecordCount(); } #if false MIDL_INTERFACE("0c733a67-2a1c-11ce-ade5-00aa0044773d") IErrorRecords : public IUnknown virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddErrorRecord( /* [in] */ ERRORINFO *pErrorInfo, /* [in] */ DWORD dwLookupID, /* [in] */ DISPPARAMS *pdispparams, /* [in] */ IUnknown *punkCustomError, /* [in] */ DWORD dwDynamicErrorID) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBasicErrorInfo( /* [in] */ ULONG ulRecordNum, /* [out] */ ERRORINFO *pErrorInfo) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCustomErrorObject( /* [in] */ ULONG ulRecordNum, /* [in] */ REFIID riid, /* [iid_is][out] */ IUnknown **ppObject) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorInfo( /* [in] */ ULONG ulRecordNum, /* [in] */ LCID lcid, /* [out] */ IErrorInfo **ppErrorInfo) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetErrorParameters( /* [in] */ ULONG ulRecordNum, /* [out] */ DISPPARAMS *pdispparams) = 0; virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetRecordCount( /* [out] */ ULONG *pcRecords) = 0; #endif [Guid("0C733A90-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IMultipleResults { /*[local] HRESULT GetResult( [in] IUnknown * pUnkOuter, [in] DBRESULTFLAG lResultFlag, [in] REFIID riid, [out] DBROWCOUNT * pcRowsAffected, [out, iid_is(riid)] IUnknown ** ppRowset );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetResult( [In] IntPtr pUnkOuter, [In] IntPtr lResultFlag, [In] ref Guid riid, [Out] out IntPtr pcRowsAffected, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); } #if false enum DBRESULTFLAGENUM { DBRESULTFLAG_DEFAULT = 0, DBRESULTFLAG_ROWSET = 1, DBRESULTFLAG_ROW = 2 } MIDL_INTERFACE("0c733a90-2a1c-11ce-ade5-00aa0044773d") IMultipleResults : public IUnknown virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetResult( /* [in] */ IUnknown *pUnkOuter, /* [in] */ DBRESULTFLAG lResultFlag, /* [in] */ REFIID riid, /* [out] */ DBROWCOUNT *pcRowsAffected, /* [iid_is][out] */ IUnknown **ppRowset) = 0; #endif [Guid("0C733A69-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IOpenRowset { [PreserveSig] System.Data.OleDb.OleDbHResult OpenRowset( [In] IntPtr pUnkOuter, [In] System.Data.OleDb.tagDBID pTableID, [In] IntPtr pIndexID, [In] ref Guid riid, [In] int cPropertySets, [In] IntPtr rgPropertySets, [Out, MarshalAs(UnmanagedType.Interface)] out object ppRowset); } [Guid("0C733AB4-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRow { [PreserveSig] System.Data.OleDb.OleDbHResult GetColumns( [In] IntPtr cColumns, [In, Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] System.Data.OleDb.tagDBCOLUMNACCESS[] rgColumns); //[ Obsolete("not used", true)] void GetSourceRowset(/*deleted parameter signature*/); //[ Obsolete("not used", true)] void Open(/*deleted parameter signature*/); } [Guid("0C733A7C-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRowset { [ Obsolete("not used", true)] void AddRefRows(/*deleted parameter signature*/); /*HRESULT GetData( [in] HROW hRow, [in] HACCESSOR hAccessor, [out] void * pData );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetData( [In] IntPtr hRow, [In] IntPtr hAccessor, [In] IntPtr pData); /*HRESULT GetNextRows( [in] HCHAPTER hReserved, [in] DBROWOFFSET lRowsOffset, [in] DBROWCOUNT cRows, [out] DBCOUNTITEM * pcRowsObtained, [out, size_is(,cRows)] HROW ** prghRows );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetNextRows( [In] IntPtr hChapter, [In] IntPtr lRowsOffset, [In] IntPtr cRows, [Out] out IntPtr pcRowsObtained, [In] ref IntPtr pprghRows); /*HRESULT ReleaseRows( [in] DBCOUNTITEM cRows, [in, size_is(cRows)] const HROW rghRows[], [in, size_is(cRows)] DBROWOPTIONS rgRowOptions[], [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], [out, size_is(cRows)] DBROWSTATUS rgRowStatus[] );*/ [PreserveSig] System.Data.OleDb.OleDbHResult ReleaseRows( [In] IntPtr cRows, [In] SafeHandle rghRows, [In/*, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRowOptions, [In/*, Out, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRefCounts, [In/*, Out, MarshalAs(UnmanagedType.LPArray)*/] IntPtr/*int[]*/ rgRowStatus); [ Obsolete("not used", true)] void RestartPosition(/*deleted parameter signature*/); } [Guid("0C733A55-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface IRowsetInfo { /*[local] HRESULT GetProperties( [in] const ULONG cPropertyIDSets, [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], [in, out] ULONG * pcPropertySets, [out, size_is(,*pcPropertySets)] DBPROPSET ** prgPropertySets );*/ [PreserveSig] System.Data.OleDb.OleDbHResult GetProperties( [In] int cPropertyIDSets, [In] SafeHandle rgPropertyIDSets, [Out] out int pcPropertySets, [Out] out IntPtr prgPropertySets); [PreserveSig] System.Data.OleDb.OleDbHResult GetReferencedRowset( [In] IntPtr iOrdinal, [In] ref Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out IRowset ppRowset); //[PreserveSig] //int GetSpecification(/*deleted parameter signature*/); } [Guid("0C733A74-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ISQLErrorInfo { [return:MarshalAs(UnmanagedType.I4)] Int32 GetSQLInfo( [Out, MarshalAs(UnmanagedType.BStr)] out String pbstrSQLState); } [Guid("0C733A5F-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComImport, SuppressUnmanagedCodeSecurity] internal interface ITransactionLocal { [ Obsolete("not used", true)] void Commit(/*deleted parameter signature*/); [ Obsolete("not used", true)] void Abort(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetTransactionInfo(/*deleted parameter signature*/); [ Obsolete("not used", true)] void GetOptionsObject(/*deleted parameter signature*/); [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [PreserveSig] System.Data.OleDb.OleDbHResult StartTransaction( [In] int isoLevel, [In] int isoFlags, [In] IntPtr pOtherOptions, [Out] out int pulTransactionLevel); } // we wrap the vtable entry which is just a function pointer as a delegate // since code (unlike data) doesn't move around within the process, it is safe to cache the delegate // we do not expect native to change its vtable entry at run-time (especially since these are free-threaded objects) // however to be extra safe double check the function pointer is the same as the cached delegate // whenever we encounter a new instance of the data // dangerous delegate around IUnknown::QueryInterface (0th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate int IUnknownQueryInterface( IntPtr pThis, ref Guid riid, ref IntPtr ppInterface); // dangerous delegate around IDataInitialize::GetDataSource (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDataInitializeGetDataSource( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, int dwClsCtx, [MarshalAs(UnmanagedType.LPWStr)] string pwszInitializationString, ref Guid riid, ref System.Data.OleDb.DataSourceWrapper ppDataSource); // dangerous wrapper around IDBInitialize::Initialize (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBInitializeInitialize( IntPtr pThis); // first parameter is always the 'this' value, must use use result from QI // dangerous wrapper around IDBCreateSession::CreateSession (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBCreateSessionCreateSession( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, ref Guid riid, ref System.Data.OleDb.SessionWrapper ppDBSession); // dangerous wrapper around IDBCreateCommand::CreateCommand (4th vtable entry) [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal delegate System.Data.OleDb.OleDbHResult IDBCreateCommandCreateCommand( IntPtr pThis, // first parameter is always the 'this' value, must use use result from QI IntPtr pUnkOuter, ref Guid riid, [MarshalAs(UnmanagedType.Interface)] ref object ppCommand); // // Advapi32.dll Integrated security functions // [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] internal struct Trustee { internal IntPtr _pMultipleTrustee; // PTRUSTEE internal int _MultipleTrusteeOperation; // MULTIPLE_TRUSTEE_OPERATION internal int _TrusteeForm; // TRUSTEE_FORM internal int _TrusteeType; // TRUSTEE_TYPE [MarshalAs(UnmanagedType.LPTStr)] internal string _name; internal Trustee(string name) { _pMultipleTrustee = IntPtr.Zero; _MultipleTrusteeOperation = 0; // NO_MULTIPLE_TRUSTEE _TrusteeForm = 1; // TRUSTEE_IS_NAME _TrusteeType = 1; // TRUSTEE_IS_USER _name = name; } } [DllImport(ExternDll.Advapi32, CharSet=CharSet.Unicode)] static internal extern uint GetEffectiveRightsFromAclW (byte[] pAcl, ref Trustee pTrustee, out uint pAccessMask); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool CheckTokenMembership (IntPtr tokenHandle, byte[] sidToCheck, out bool isMember); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool ConvertSidToStringSidW(IntPtr sid, out IntPtr stringSid); [DllImport(ExternDll.Advapi32, EntryPoint="CreateWellKnownSid", SetLastError=true, CharSet=CharSet.Unicode)] static internal extern int CreateWellKnownSid( int sidType, byte[] domainSid, [Out] byte[] resultSid, ref uint resultSidLength ); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool GetTokenInformation(IntPtr tokenHandle, uint token_class, IntPtr tokenStruct, uint tokenInformationLength, ref uint tokenString); [DllImport(ExternDll.Advapi32, SetLastError=true)] [return:MarshalAs(UnmanagedType.Bool)] static internal extern bool IsTokenRestricted(IntPtr tokenHandle); [DllImport(ExternDll.Kernel32, CharSet=CharSet.Unicode)] internal static extern int lstrlenW(IntPtr ptr); /* For debugging purposes... [DllImport(ExternDll.Advapi32)] [return:MarshalAs(UnmanagedType.I4)] static internal extern int GetLengthSid(IntPtr sid1); */ [DllImport(ExternDll.Kernel32)] static internal extern void SetLastError(int dwErrCode); } } // 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
- ByteBufferPool.cs
- DrawingContext.cs
- GridSplitterAutomationPeer.cs
- FormsAuthenticationTicket.cs
- InvokeGenerator.cs
- UnionCqlBlock.cs
- TypeNameParser.cs
- Int64Storage.cs
- ProtocolsConfigurationEntry.cs
- SafeNativeMethods.cs
- CurrentChangedEventManager.cs
- CommentEmitter.cs
- StrokeDescriptor.cs
- SoundPlayerAction.cs
- DesignerAutoFormat.cs
- PrinterUnitConvert.cs
- WorkBatch.cs
- CalendarDesigner.cs
- ToolStripOverflowButton.cs
- PropertyTabAttribute.cs
- MessageBox.cs
- DecimalAnimationUsingKeyFrames.cs
- XamlToRtfWriter.cs
- XmlIlTypeHelper.cs
- SimpleType.cs
- FieldCollectionEditor.cs
- WebPartMenu.cs
- WebPartAddingEventArgs.cs
- Emitter.cs
- ReliableInputConnection.cs
- GridPatternIdentifiers.cs
- Brush.cs
- SizeValueSerializer.cs
- AssemblySettingAttributes.cs
- ExtensionQuery.cs
- DomNameTable.cs
- TaskbarItemInfo.cs
- DrawToolTipEventArgs.cs
- Socket.cs
- CurrentChangingEventManager.cs
- FacetDescription.cs
- ConfigurationPropertyCollection.cs
- ActivityMetadata.cs
- DeferredSelectedIndexReference.cs
- JumpList.cs
- Visual3D.cs
- EdmSchemaAttribute.cs
- SRef.cs
- MenuStrip.cs
- TraceSwitch.cs
- PatternMatchRules.cs
- MdiWindowListStrip.cs
- ToolBar.cs
- InputGestureCollection.cs
- TargetControlTypeCache.cs
- ImageSourceValueSerializer.cs
- ParentQuery.cs
- Publisher.cs
- HotSpotCollectionEditor.cs
- HostSecurityManager.cs
- RSATokenProvider.cs
- Header.cs
- DataGridViewColumnStateChangedEventArgs.cs
- MainMenu.cs
- ResourceExpressionEditor.cs
- EventDescriptorCollection.cs
- ExclusiveHandle.cs
- Column.cs
- ResourceType.cs
- XmlTextEncoder.cs
- GcSettings.cs
- PropertyDescriptorGridEntry.cs
- PreviewPageInfo.cs
- FixUp.cs
- GPRECTF.cs
- TextParaClient.cs
- HeaderElement.cs
- CodeThrowExceptionStatement.cs
- BasicBrowserDialog.cs
- DataGridViewTextBoxEditingControl.cs
- InputDevice.cs
- StylusCaptureWithinProperty.cs
- String.cs
- peersecuritysettings.cs
- BamlLocalizableResourceKey.cs
- DebugController.cs
- GACIdentityPermission.cs
- _SSPISessionCache.cs
- XmlnsDefinitionAttribute.cs
- WCFServiceClientProxyGenerator.cs
- ReadOnlyDataSource.cs
- XmlSerializationWriter.cs
- DataSpaceManager.cs
- DataContractSerializerOperationFormatter.cs
- EntityDataSourceValidationException.cs
- OdbcEnvironmentHandle.cs
- xsdvalidator.cs
- XPathScanner.cs
- WCFBuildProvider.cs
- PopupEventArgs.cs