2.2.3.13.2 rdsErrorInformation

The rdsErrorInformation specifies the error information returned in response to a failed request.

The syntax of rdsErrorInformation is defined as follows.

 rdsErrorInformation = VT-EMPTY /
                       ( VT-ARRAY-VARIANT
                         ZEROBYTE
                         esaNumDims
                         esaArrayFeatures
                         SIZEOFELEMVARIANT
                         esaNumElems
                         esaLowerBound
                         (VT-ERROR VARIANTERROR)
                         rdsErrorCollection )
  • esaNumDims: Number of dimensions in this array. This MUST always be set to 1.

     esaNumDims   = %x01.00
    
  • esaArrayFeatures: Array features are always %x80.28 for a record array of variants.

     esaArrayFeatures = %x80.28 ; array of variants
    
  • esaNumElems: Number of elements in this array. This MUST always be set to 2.

     esaNumElems = %x02.00.00.00
    
  • esaLowerBound: The lower bound of this array dimension. This MUST always be set to 0.

     esaLowerBound = %x00.00.00.00
    
  • rdsErrorCollection: Specifies the error information.

     rdsErrorCollection = VT-ARRAY-VARIANT
                          ZEROBYTE
                          esaNumDims
                          esaArrayFeatures
                          SIZEOFELEMVARIANT
                          rdsNumberOfErrors
                          esaLowerBound
                          1*ErrorSafeArray ; there are rdsNumberOfErrors
                                           ; of these
    
    • rdsNumberOfErrors: The number of errors in this array.

          rdsNumberOfErrors = ULONG
      
    • ErrorSafeArray: Specifies each error. There are rdsNumberOfErrors of them.

           
          ErrorSafeArray = VT-ARRAY-VARIANT
                           ZEROBYTE
                           errorArrayMinimal /
                           errorArrayExtended /
                           errorArrayExtendedSQL
      
    • errorArrayMinimal: A five-element array that specifies an error with minimal detail.

          errorArrayMinimal = esaNumDims
                              esaArrayFeatures
                              SIZEOFELEMVARIANT
                              esaElements5
                              esaLowerBound
                              esaData5
           
          esaElements5 = %x05.00.00.00
          esaData5     = esaHR
                         esaMinor
                         esaClsid
                         esaInterfaceId
                         esaDispid
      
    • errorArrayExtended: An 11-element array that specifies an error with additional details to aid in troubleshooting.

          errorArrayExtended = esaNumDims
                               esaArrayFeatures
                               SIZEOFELEMVARIANT
                               esaElements11
                               esaLowerBound
                               esaData11
           
          esaElements11 = %x0B.00.00.00
          esaData11     = esaData5
                          esaLCId
                          esaDescription
                          esaInterfaceId
                          esaHelpId
                          esaHelpFile
                          esaSource
      
    • errorArrayExtendedSQL: A 13-element array that specifies an error with additional details that describe the source of error in the data store.

          errorArrayExtendedSQL = esaNumDims
                                  esaArrayFeatures
                                  SIZEOFELEMVARIANT
                                  esaElements13
                                  esaLowerBound
                                  esaData13
           
          esaElements13 = %x0D.00.00.00
          esaData13     = esaData11
                          esaSQLNative
                          esaSQLState
      
  • Common error constructs

     esaHR          = VT-I4 LONG
     esaMinor       = VT-I4 LONG
     esaDescription = BSTREMPTY
     esaHelpId      = VT-I4 LONG
     esaHelpFile    = BSTREMPTY
     esaSource      = BSTREMPTY
    
  • esaClsid: The Class Id of the containing object for the interface that generated the error. If the method that generates an error belongs to more than one interface because of inheritance, this value MUST be the Id of the first interface in which the method is defined.

     esaClsid = GUIDBSTR
    
  • esaInterfaceId: The Interface Identifier (IID) of the interface that generated the error. If the method that generates an error belongs to more than one interface because of inheritance, this value MUST be the Id of the first interface in which the method is defined.

     esaInterfaceId = GUIDBSTR
    
  • esaDispid: The index of the method to invoke on an interface that enumerates its methods starting with a value of 1. If the interface does not enumerate its methods, this value MUST be set to ZEROLONG.

     esaDispid = VT-I4 LONG
    
  • esaLCId: The default language code identifier (LCID), as specified in [MS-LCID], of the server.

     esaLCId = VT-I4 LONG
    
  • esaSQLNative: The error number returned from the data store.

     esaSQLNative = VT-I4 LONG
    
  • esaSQLState: The error state as reported by the data store.

     esaSQLState = BSTREMPTY