At the basic level, a member function either succeeds or fails. At a somewhat more precise level, a function can succeed, but its success may not be identical to that intended by the application developer.
When a provider member function returns S_OK, the function succeeded.
When a member function does not return S_OK, the OLE/COM HRESULT-unpacking FAILED and IS_ERROR macros can determine the overall success or failure of a function.
If FAILED or IS_ERROR returns TRUE, the Oracle Provider consumer is ensured that member-function execution failed. When FAILED or IS_ERROR returns FALSE, and the HRESULT does not equal S_OK, then the consumer is ensured that the function succeeded in some sense. The consumer can retrieve detailed information about this success-with-information return from the provider error interfaces.
Consumers will, quite commonly, encounter the DB_S_ERRORSOCCURRED success-with-information HRESULT return. Typically, member functions that return DB_S_ERRORSOCCURRED define one or more parameters that deliver status values to the consumer. No error information may be available to the consumer other than that returned in status-value parameters, so consumers should implement application logic that retrieves status values when they are available.
The Oracle Provider's member functions do not return the success code S_FALSE. Any member function always returns S_OK to indicate success.
For more information on | Go to |
Return codes | "Return Codes" in Chapter 13, "Errors," in the OLE DB Programmer's Reference |