2012-03-20 553 views
-1

调用COM组件程序后,错误引发OLE错误C0000094

OLE error C0000094. 

是什么意思,从this related question搜索产量this

含有:

0x80000001 -2147483647 Not implemented 
    0x80000002 -2147483646 Ran out of memory 
    0x80000003 -2147483645 One or more arguments are invalid 
    0x80000004 -2147483644 No such interface supported 
    0x80000005 -2147483643 Invalid pointer 
    0x80000006 -2147483642 Invalid handle 
    0x80000007 -2147483641 Operation aborted 
    0x80000008 -2147483640 Unspecified error 
    0x80000009 -2147483639 General access denied error 
    0x8000000A -2147483638 The data necessary to complete this operation 
          is not yet available. 
    0x80004001 -2147467263 Not implemented 
    0x80004002 -2147467262 No such interface supported 
    0x80004003 -2147467261 Invalid pointer 
    0x80004004 -2147467260 Operation aborted 
    0x80004005 -2147467259 Unspecified error 
    0x80004006 -2147467258 Thread local storage failure 
    0x80004007 -2147467257 Get shared memory allocator failure 
    0x80004008 -2147467256 Get memory allocator failure 
    0x80004009 -2147467255 Unable to initialize class cache 
    0x8000400A -2147467254 Unable to initialize RPC services 
    0x8000400B -2147467253 Cannot set thread local storage channel control 
    0x8000400C -2147467252 Could not allocate thread local storage channel 
          control 
    0x8000400D -2147467251 The user supplied memory allocator is 
          unacceptable 
    0x8000400E -2147467250 The OLE service mutex already exists 
    0x8000400F -2147467249 The OLE service file mapping already exists 
    0x80004010 -2147467248 Unable to map view of file for OLE service 
    0x80004011 -2147467247 Failure attempting to launch OLE service 
    0x80004012 -2147467246 There was an attempt to call CoInitialize a 
          second time while single threaded 
    0x80004013 -2147467245 A Remote activation was necessary but was not 
          allowed 
    0x80004014 -2147467244 A Remote activation was necessary but the 
          server name provided was invalid 
    0x80004015 -2147467243 The class is configured to run as a security 
          id different from the caller 
    0x80004016 -2147467242 Use of Ole1 services requiring DDE windows is 
          disabled 
    0x80004017 -2147467241 A RunAs specification must be 
          <domain name>\<user name> or simply <user name> 
    0x80004018 -2147467240 The server process could not be started. The 
          pathname may be incorrect. 
    0x80004019 -2147467239 The server process could not be started as the 
          configured identity. The pathname may be 
          incorrect or unavailable. 
    0x8000401A -2147467238 The server process could not be started because 
          the configured identity is incorrect. Check 
          the username and password. 
    0x8000401B -2147467237 The client is not allowed to launch this 
          server. 
    0x8000401C -2147467236 The service providing this server could not 
          be started. 
    0x8000401D -2147467235 This computer was unable to communicate with 
          the computer providing the server. 
    0x8000401E -2147467234 The server did not respond after being 
          launched. 
    0x8000401F -2147467233 The registration information for this server 
          is inconsistent or incomplete. 
    0x80004020 -2147467232 The registration information for this interface 
          is inconsistent or incomplete. 
    0x80004021 -2147467231 The operation attempted is not supported. 
    0x8000FFFF -2147418113 Catastrophic failure 
    0x80070005 -2147024891 General access denied error 
    0x80070006 -2147024890 Invalid handle 
    0x8007000E -2147024882 Ran out of memory 
    0x80070057 -2147024809 One or more arguments are invalid 


Debugging HRESULTS from OLE-DB 
Some OLE-DB error messages, such as 80040e37 (Table 'x' does not exist) are 
fairly obvious whether using ADO or OLE-DB. Others such as 0x80040E06 (Invalid chapter) are not as clear to an ADO developer. You can use the ITest/ISpy tools that ship with the OLE-DB SDK to spy on the OLE-DB calls. ITest/ISpy are similar to ODBC Spy and you can use them for complex debugging in ADO/DB applications. 

This list was compiled from the Oledberr.h file, which ships with the OLE-DB SDK: 

    Unsigned  Signed 
    HRESULT Hex HRESULT     Description 
    ---------- ----------- ---------------------------------------------- 
    0x80040E00 -2147217920 Invalid accessor 
    0x80040E01 -2147217919 Creating another row would have exceeded the 
          total number of active rows supported by the 
          rowset 
    0x80040E02 -2147217918 Unable to write with a read-only accessor 
    0x80040E03 -2147217917 Given values violate the database schema 
    0x80040E04 -2147217916 Invalid row handle 
    0x80040E05 -2147217915 An object was open 
    0x80040E06 -2147217914 Invalid chapter 
    0x80040E07 -2147217913 A literal value in the command could not be         converted to the correct type due to a reason 
          other than data overflow 
    0x80040E08 -2147217912 Invalid binding info 
    0x80040E09 -2147217911 Permission denied 
    0x80040E0A -2147217910 Specified column does not contain bookmarks or 
          chapters 
    0x80040E0B -2147217909 Some cost limits were rejected 
    0x80040E0C -2147217908 No command has been set for the command object 
    0x80040E0D -2147217907 Unable to find a query plan within the given 
          cost limit 
    0x80040E0E -2147217906 Invalid bookmark 
    0x80040E0F -2147217905 Invalid lock mode 
    0x80040E10 -2147217904 No value given for one or more required 
          parameters 
    0x80040E11 -2147217903 Invalid column ID 
    0x80040E12 -2147217902 Invalid ratio 
    0x80040E13 -2147217901 Invalid value 
    0x80040E14 -2147217900 The command contained one or more errors 
    0x80040E15 -2147217899 The executing command cannot be canceled 
    0x80040E16 -2147217898 The provider does not support the specified 
          dialect 
    0x80040E17 -2147217897 A data source with the specified name already 
          exists 
    0x80040E18 -2147217896 The rowset was builtover a live data feed and 
          cannot be restarted 
    0x80040E19 -2147217895 No key matching the described characteristics 
          could be found within the current range 
    0x80040E1A -2147217894 Ownership of this tree has been given to the 
          provider 
    0x80040E1B -2147217893 The provider is unable to determine identity 
          for newly inserted rows 
    0x80040E1C -2147217892 No nonzero weights specified for any goals 
          supported, so goal was rejected; current goal 
          was not changed 
    0x80040E1D -2147217891 Requested conversion is not supported 
    0x80040E1E -2147217890 lRowsOffset would position you past either end 
          of the rowset, regardless of the cRows value 
          specified; cRowsObtained is 0 
    0x80040E1F -2147217889 Information was requested for a query, and the 
          query was not set 
    0x80040E20 -2147217888 Provider called a method from IRowsetNotify in 
          the consumer and NT 
    0x80040E21 -2147217887 Errors occurred 
    0x80040E22 -2147217886 A non-NULL controlling IUnknown was specified 
          and the object being created does not support 
          aggregation 
    0x80040E23 -2147217885 A given HROW referred to a hard- or soft- 
          deleted row 
    0x80040E24 -2147217884 The rowset does not support fetching backwards 
    0x80040E25 -2147217883 All HROWs must be released before new ones can 
          be obtained 
    0x80040E26 -2147217882 One of the specified storage flags was not 
          supported 
    0x80040E27 -2147217881 The comparison operator was invalid 

    0x80040E28 -2147217880 The specified status flag was neither 
          DBCOLUMNSTATUS_OK nor DBCOLUMNSTATUS_ISNULL 
    0x80040E29 -2147217879 The rowset cannot scroll backwards 
    0x80040E2A -2147217878 Invalid region handle 
    0x80040E2B -2147217877 The specified set of rows was not contiguous to 
          or overlapping the rows in the specified watch 
          region 
    0x80040E2C -2147217876 A transition from ALL* to MOVE* or EXTEND* was 
          specified 
    0x80040E2D -2147217875 The specified region is not a proper subregion 
          of the region identified by the given watch 
          region handle 
    0x80040E2E -2147217874 The provider does not support multi-statement 
          commands 
    0x80040E2F -2147217873 A specified value violated the integrity 
          constraints for a column or table 
    0x80040E30 -2147217872 The given type name was unrecognized 
    0x80040E31 -2147217871 Execution aborted because a resource limit has 
          been reached; no results have been returned 
    0x80040E32 -2147217870 Cannot clone a command object whose command 
          tree contains a rowset or rowsets 
    0x80040E33 -2147217869 Cannot represent the current tree as text 
    0x80040E34 -2147217868 The specified index already exists 
    0x80040E35 -2147217867 The specified index does not exist 
    0x80040E36 -2147217866 The specified index was in use 
    0x80040E37 -2147217865 The specified table does not exist 
    0x80040E38 -2147217864 The rowset was using optimistic concurrency and 
          the value of a column has been changed since 
          it was last read 
    0x80040E39 -2147217863 Errors were detected during the copy 
    0x80040E3A -2147217862 A specified precision was invalid 
    0x80040E3B -2147217861 A specified scale was invalid 
    0x80040E3C -2147217860 Invalid table ID 
    0x80040E3D -2147217859 A specified type was invalid 
    0x80040E3E -2147217858 A column ID was occurred more than once in the 
          specification 
    0x80040E3F -2147217857 The specified table already exists 
    0x80040E40 -2147217856 The specified table was in use 
    0x80040E41 -2147217855 The specified locale ID was not supported 
    0x80040E42 -2147217854 The specified record number is invalid 
    0x80040E43 -2147217853 Although the bookmark was validly formed, no 
          row could be found to match it 
    0x80040E44 -2147217852 The value of a property was invalid 
    0x80040E45 -2147217851 The rowset was not chaptered 
    0x80040E46 -2147217850 Invalid accessor 
    0x80040E47 -2147217849 Invalid storage flags 
    0x80040E48 -2147217848 By-ref accessors are not supported by this 
          provider 
    0x80040E49 -2147217847 Null accessors are not supported by this 
          provider 
    0x80040E4A -2147217846 The command was not prepared 
    0x80040E4B -2147217845 The specified accessor was not a parameter 
          accessor 
    0x80040E4C -2147217844 The given accessor was write-only 
    0x80040E4D -2147217843 Authentication failed 
    0x80040E4E -2147217842 The change was canceled during notification; no 
          columns are changed 
    0x80040E4F -2147217841 The rowset was single-chaptered and the chapter 
          was not released 
    0x80040E50 -2147217840 Invalid source handle 
    0x80040E51 -2147217839 The provider cannot derive parameter info and 
          SetParameterInfo has not been called 
    0x80040E52 -2147217838 The data source object is already initialized 
    0x80040E53 -2147217837 The provider does not support this method 
    0x80040E54 -2147217836 The number of rows with pending changes has 
          exceeded the set limit 
    0x80040E55 -2147217835 The specified column did not exist 
    0x80040E56 -2147217834 There are pending changes on a row with a 
          reference count of zero 
    0x80040E57 -2147217833 A literal value in the command overflowed the 
          range of the type of the associated column 
    0x80040E58 -2147217832 The supplied HRESULT was invalid 
    0x80040E59 -2147217831 The supplied LookupID was invalid 
    0x80040E5A -2147217830 The supplied DynamicErrorID was invalid 
    0x80040E5B -2147217829 Unable to get visible data for a newly-inserted 
          row that has not yet been updated 
    0x80040E5C -2147217828 Invalid conversion flag 
    0x80040E5D -2147217827 The given parameter name was unrecognized 
    0x80040E5E -2147217826 Multiple storage objects can not be open 
          simultaneously 
    0x80040E5F -2147217825 The requested filter could not be opened 
    0x80040E60 -2147217824 The requested order could not be opened 
    0x80040E61 -2147217823 Bad tuple 
    0x80040E62 -2147217822 Bad coordinate 
    0x80040E63 -2147217821 The given axis was not valid for this Dataset 
    0x80040E64 -2147217820 One or more of the given cell ordinals was invalid 
    0x80040E65 -2147217819 The supplied columnID was invalid 
    0x80040E67 -2147217817 The supplied command does not have a DBID (Note:        DBID is SQL shorthand for Database ID.) 
    0x80040E68 -2147217816 The supplied DBID already exists 
    0x80040E69 -2147217815 The maximum number of Sessions supported by the 
          provider has already been created. The consumer 
          must release one or more currently held Sessions 
          before obtaining a new Session object 
    0x80040E72 -2147217806 The index ID is invalid 
    0x80040E73 -2147217805 The initialization string does not conform 
          to specification 
    0x80040E74 -2147217804 The OLE DB root enumerator did not return any 
          providers that matched an of the SOURCES_TYPEs 
          requested 
    0x80040E75 -2147217803 The initialization string specifies a provider 
          which does not match the currently active 
          provider. 
    0x80040E76 -2147217802 The specified DBID is invalid 
    0x80040E6A -2147217814 Invalid trustee value 
    0x80040E6B -2147217813 The trustee is not for the current data source 
    0x80040E6C -2147217812 The trustee does not support memberships/ 
          collections 
    0x80040E6D -2147217811 The object is invalid or unknown to the provider 
    0x80040E6E -2147217810 No owner exists for the object 
    0x80040E6F -2147217809 The access entry list supplied is invalid 
    0x80040E70 -2147217808 The trustee supplied as owner is invalid or 
          unknown to the provider 
    0x80040E71 -2147217807 The permission supplied in the access entry list 
          is invalid 
    0x80040E77 -2147217801 The ConstraintType was invalid or not supported 
          by the provider. 
    0x80040E78 -2147217800 The ConstraintType was not CONSTRAINTTYPE_FOREIGNKEY 
          and cForeignKeyColumns was not zero 

    0x80040E79 -2147217799 The Deferrability was invalid or the value was not 
          supported by the provider 
    0x80040E80 -2147217792 The MatchType was invalid or the value was not 
          supported by the provider 
    0x80040E8A -2147217782 The UpdateRule or DeleteRule was invalid or the 
          value was not supported by the provider 
    0x80040E8B -2147217781 The pConstraintID did not exist in the data source 
    0x80040E8C -2147217780 The dwFlags was invalid 
    0x80040E8D -2147217779 The rguidColumnType pointed to a GUID that does not 
          match the object type of this column or this column 
          was not set 
    0x80040E8E -2147217778 The requested URL was out-of-scope 
    0x80040E90 -2147217776 The provider could not drop the object 
    0x80040E91 -2147217775 There is no source row 
    0x80040E92 -2147217774 The OLE DB object represented by this URL is locked 
          by one or more other processes 
    0x80040E93 -2147217773 The client requested an object type that is only 
          valid for a collection 
    0x80040E94 -2147217772 The caller requested write access to a read-only 
          object 
    0x80040E95 -2147217771 The provider could not connect to the server for 
          this object 
    0x80040E96 -2147217770 The provider could not connect to the server for 
          this object 
    0x80040E97 -2147217769 The attempt to bind to the object timed out 
    0x80040E98 -2147217768 The provider was unable to create an object at 
          this URL because an object named by this URL 
          already exists 
    0x80040E99 -2147217767 The provider could not drop the object 
    0x80040E9A -2147217766 The provider was unable to create an object 
          at this URL because the server was out of 
          physical storage 
    0x00040EC0  265920 Fetching requested number of rows would have 
          exceeded total number of active rows supported 
          by the rowset 
    0x00040EC1  265921 One or more column types are incompatible; 
          conversion errors will occur during copying 
    0x00040EC2  265922 Parameter type information has been overridden 
          by caller 
    0x00040EC3  265923 Skipped bookmark for deleted or non-member row 
    0x00040EC4  265924 Errors found in validating tree 
    0x00040EC5  265925 There are no more rowsets 
    0x00040EC6  265926 Reached start or end of rowset or chapter 
    0x00040EC7  265927 The provider re-executed the command 
    0x00040EC8  265928 Variable data buffer full 
    0x00040EC9  265929 There are no more results 
    0x00040ECA  265930 Server cannot release or downgrade a lock until 
          the end of the transaction 
    0x00040ECB  265931 Specified weight was not supported or exceeded 
          the supported limit and was set to 0 or the 
          supported limit 
    0x00040ECC  265932 Consumer is uninterested in receiving further 
          notification calls for this reason 
    0x00040ECD  265933 Input dialect was ignored and text was returned 
          in different dialect 
    0x00040ECE  265934 Consumer is uninterested in receiving further 
          notification calls for this phase 
    0x00040ECF  265935 Consumer is uninterested in receiving further 
          notification calls for this reason 
    0x00040ED0  265936 The operation is being processed asynchronously 
    0x00040ED1  265937 In order to reposition to the start of the 
          rowset, the provider had to reexecute the 
          query; either the order of the columns changed 
          or columns were added to or removed from the 
          rowset 
    0x00040ED2  265938 The method had some errors; errors have been 
          returned in the error array 
    0x00040ED3  265939 Invalid row handle 
    0x00040ED4  265940 A given HROW referred to a hard-deleted row 


    0x00040ED5  265941 The provider was unable to keep track of all 
          the changes; the client must refetch the data 
          associated with the watch region using another 
          method 
    0x00040ED6  265942 Execution stopped because a resource limit has 
          been reached; results obtained so far have been 
          returned but execution cannot be resumed 
    0x00040ED7  265943 The bind failed because the provider was unable 
          to satisfy all of the bind flags or properties 
    0x00040ED8  265944 A lock was upgraded from the value specified 
    0x00040ED9  265945 One or more properties were changed as allowed 
          by provider 
    0x00040EDA  265946 Errors occurred 
    0x00040EDB  265947 A specified parameter was invalid 
    0x00040EDC  265948 Updating this row caused more than one row to 
          be updated in the data source 
    0x00040EDD  265949 The row has no row-specific columns 
+0

和组件是什么?什么呼叫引发错误? – RBA 2012-03-20 13:14:26

+0

这是一个适当的第三方。它是在一个函数调用3个参数,2在一个。 foo(interface1 in,interface2 out,integer in) – none 2012-03-20 13:51:19

回答

3

它可以是访问冲突或一个被零除异常。

但很难知道,因为你根本没有提供任何代码。

+0

Google进入“除零除异常”方向。 OLE实现代码中未捕获的异常。 – 2012-03-20 13:59:14

1

在windows.pas发现:

STATUS_INTEGER_DIVIDE_BY_ZERO = DWORD($C0000094); 
    STATUS_INTEGER_OVERFLOW   = DWORD($C0000095); 
相关问题