QBFC Quick Reference


To see the methods and properties in regular QBFC type objects:
  1. Return to the QBFC Onscreen Reference window that's already open.
  2. Select the message that interests you.
  3.

In the "Type" column, click the name of an object. The methods and properties in that object will show up in the bottom frame.
To see the the methods and properties in the higher-level QBFC objects, which don't show up in the main part of the Onscreen Reference, click one of the high-level objects shown below.

For complete details about all these objects, methods, and properties see the QuickBooks SDK Programmer's Guide.

High-Level Objects

Communicating with QuickBooks High-Level Request Objects
  IQBSessionManager   IMsgSetRequest   (including "Append" methods)
  IQBOESessionManager
  (QuickBooks Online Edition)
  IRequest
        IRequestList
       

IAttributesRqSet
        ISubscriptionMsgSetRequest

High-Level Response Objects Message Data and Data Type Objects
  IMsgSetResponse   IQBBaseRef
  IResponse   IQBBase
  IResponseList   IObjectType
  IResponseType   IQBBaseRefList
  IAttributesRsSet   IBasicPropertyType
 
ISubscriptionMsgSetResponse   IEventsMsgSet


IQBSessionManager

The session manager interfaces (IQBSessionManager and IQBOESessionManager) are the top-level objects in QBFC. They handle all communication with QuickBooks (including acquiring permission to access a QuickBooks company file in the first place), and they create the IMsgSetRequest object, which you use for all your requests.

The IQBSessionManager object handles communication between desktop applications and desktop versions of QuickBooks (U.S. and Canadian editions).
VB6 methods and properties
  CreateMsgSetRequest(country As String, qbXMLMajorVersion As Integer, qbXMLMinorVersion As Integer)
     As IMsgSetRequest
  DoRequests(request As IMsgSetRequest) As IMsgSetResponse
  GetVersion(MajorVersion As Integer, MinorVersion As Integer, releaseLevel As ENReleaseLevel,
     releaseNumber As Integer)
 

ToMsgSetResponse(qbXMLResponse As String, Country As String, qbXMLMajorVersion As Integer,
     qbXMLMinorVersion As Integer) As IMsgSetResponse

  DoRequestsFromXMLString(qbXMLRequest As String) As IMsgSetResponse
  ToMsgSetRequest(qbXMLRequest As String) As IMsgSetRequest
  IsErrorRecoveryInfo() As Boolean
  ClearErrorRecovery()
  EnableErrorRecovery As Boolean
  ErrorRecoveryID As IQBGUIDType
  SaveAllMsgSetRequestInfo As Boolean
  GetErrorRecoveryStatus() As IMsgSetResponse
  GetSavedMsgSetRequest() As IMsgSetRequest
  OpenConnection(appID As String, appName As String)
  CloseConnection()
  BeginSession(qbFile As String, openMode As ENOpenMode)
  EndSession()
  GetCurrentCompanyFileName() As String
  QBXMLVersionsForSession As String()
  CreateSubscriptionMsgSetRequest(qbXMLMajorVersion As Integer, qbXMLMinorVersion As Integer)
     As ISubscriptionMsgSetRequest
  DoSubscriptionRequestsFromXMLString(qbXMLSubscriptionRequest As String) As ISubscriptionMsgSetResponse
  ToSubscriptionMsgSetResponse(qbXMLSubscriptionResponse As String, qbXMLMajorVersion As Integer,
     qbXMLMinorVersion As Integer) As ISubscriptionMsgSetResponse
  DoSubscriptionRequests(request As ISubscriptionMsgSetRequest) As ISubscriptionMsgSetResponse
  ToEventsMsgSet(qbXMLEventsResponse As String, qbXMLMajorVersion As Integer, qbXMLMinorVersion As Integer)
     As IEventsMsgSet
  ConnectionType As QBXMLRPConnectionType

C++ wrapper methods for error-handling and property data
  IMsgSetRequestPtr CreateMsgSetRequest ( _bstr_t country, short qbXMLMajorVersion, short qbXMLMinorVersion );
  IMsgSetResponsePtr DoRequests ( IMsgSetRequest * request );
  HRESULT GetVersion ( short * majorVersion, short * minorVersion, enum ENReleaseLevel * releaseLevel,
     short * releaseNumber );
  IMsgSetResponsePtr ToMsgSetResponse(_bstr_t qbXMLResponse, _bstr_t country, short qbXMLMajorVersion,
     short qbXMLMinorVersion);
  IMsgSetResponsePtr DoRequestsFromXMLString ( _bstr_t qbXMLRequest );
  IMsgSetRequestPtr ToMsgSetRequest ( _bstr_t qbXMLRequest );
  VARIANT_BOOL IsErrorRecoveryInfo ( );
  HRESULT ClearErrorRecovery ( );
  void PutEnableErrorRecovery ( VARIANT_BOOL bEnable );
VARIANT_BOOL EnableErrorRecovery;
VARIANT_BOOL GetEnableErrorRecovery ( );
  IQBGUIDTypePtr ErrorRecoveryID;
IQBGUIDTypePtr GetErrorRecoveryID ( );
  void PutSaveAllMsgSetRequestInfo ( VARIANT_BOOL bSaveAll );
VARIANT_BOOL GetSaveAllMsgSetRequestInfo ( );
  IMsgSetResponsePtr GetErrorRecoveryStatus ( );
  IMsgSetRequestPtr GetSavedMsgSetRequest ( );
  HRESULT OpenConnection ( _bstr_t AppID, _bstr_t appName );
  HRESULT CloseConnection ( );
  HRESULT BeginSession ( _bstr_t qbFile, enum ENOpenMode openMode );
  HRESULT EndSession ( );
  _bstr_t GetCurrentCompanyFileName ( );
  SAFEARRAY * QBXMLVersionsForSession;
  SAFEARRAY * GetQBXMLVersionsForSession ( );
  ISubscriptionMsgSetRequestPtr CreateSubscriptionMsgSetRequest ( short qbXMLMajorVersion,
     short qbXMLMinorVersion );
  ISubscriptionMsgSetResponsePtr DoSubscriptionRequestsFromXMLString ( _bstr_t qbXMLSubscriptionRequest );
  ISubscriptionMsgSetResponsePtr ToSubscriptionMsgSetResponse ( _bstr_t qbXMLSubscriptionResponse,
     short qbXMLMajorVersion, short qbXMLMinorVersion );
  ISubscriptionMsgSetResponsePtr DoSubscriptionRequests ( ISubscriptionMsgSetRequest * request );
  IEventsMsgSetPtr ToEventsMsgSet ( _bstr_t qbXMLEventsResponse, short qbXMLMajorVersion,
    short qbXMLMinorVersion );
  enum QBXMLRPConnectionType ConnectionType;
enum QBXMLRPConnectionType GetConnectionType ( );

IDL definition
  HRESULT CreateMsgSetRequest(BSTR country, short qbXMLMajorVersion, short qbXMLMinorVersion,
     [out, retval] IMsgSetRequest** request);
  HRESULT DoRequests(IMsgSetRequest* request, [out, retval] IMsgSetResponse** responseSet);
  HRESULT GetVersion([out] short* majorVersion, [out] short* minorVersion, [out] ENReleaseLevel* releaseLevel,
     [out] short* releaseNumber);
  HRESULT ToMsgSetResponse(BSTR qbXMLResponse, BSTR country, short qbXMLMajorVersion,
     short qbXMLMinorVersion, [out, retval] IMsgSetResponse** responseSet);
  HRESULT DoRequestsFromXMLString(BSTR qbXMLRequest, [out, retval] IMsgSetResponse** responseSet);
  HRESULT ToMsgSetRequest(BSTR qbXMLRequest, [out, retval] IMsgSetRequest** requestSet);
  HRESULT IsErrorRecoveryInfo([out, retval] VARIANT_BOOL* bIsErrorRecoveryInfo);
  HRESULT ClearErrorRecovery();
  HRESULT EnableErrorRecovery([in] VARIANT_BOOL bEnable);
HRESULT EnableErrorRecovery([out,retval] VARIANT_BOOL* bEnable);
  HRESULT ErrorRecoveryID([out, retval] IQBGUIDType* *pVal);
 

HRESULT SaveAllMsgSetRequestInfo([in] VARIANT_BOOL bSaveAll);
HRESULT SaveAllMsgSetRequestInfo([out,retval] VARIANT_BOOL* bSaveAll);

  HRESULT GetErrorRecoveryStatus( [out, retval] IMsgSetResponse** responseSet);
  HRESULT GetSavedMsgSetRequest( [out, retval] IMsgSetRequest** requestSet);
  HRESULT OpenConnection(BSTR appID, BSTR appName);
  HRESULT CloseConnection();
  HRESULT BeginSession(BSTR qbFile, ENOpenMode openMode);
  HRESULT EndSession();
  HRESULT GetCurrentCompanyFileName([out, retval] BSTR* pFileName);
  HRESULT QBXMLVersionsForSession([out, retval] SAFEARRAY(BSTR) *ppsa);
  HRESULT CreateSubscriptionMsgSetRequest(short qbXMLMajorVersion, short qbXMLMinorVersion,
     [out, retval] ISubscriptionMsgSetRequest** request);
  HRESULT DoSubscriptionRequestsFromXMLString(BSTR qbXMLSubscriptionRequest,
     [out, retval] ISubscriptionMsgSetResponse** responseSet);
  HRESULT ToSubscriptionMsgSetResponse(BSTR qbXMLSubscriptionResponse, short qbXMLMajorVersion,
     short qbXMLMinorVersion, [out, retval] ISubscriptionMsgSetResponse** responseSet);
  HRESULT DoSubscriptionRequests(ISubscriptionMsgSetRequest* request,
    [out, retval] ISubscriptionMsgSetResponse** responseSet);
  HRESULT ToEventsMsgSet(BSTR qbXMLEventsResponse, short qbXMLMajorVersion, short qbXMLMinorVersion,
     [out, retval] IEventsMsgSet** responseSet);
  HRESULT ConnectionType([out, retval] QBXMLRPConnectionType* pVal);

Back to the top

IQBOESessionManager


The session manager interfaces (IQBOESessionManager and IQBSessionManager) are the top-level objects in QBFC. They handle all communication with QuickBooks (including acquiring permission to access a QuickBooks company file in the first place), and they create the IMsgSetRequest object, which you use for all your requests.

The IQBOESessionManager object handles communication between desktop applications and QuickBooks Online Edition.
VB6 methods and properties
  CreateMsgSetRequest(country As String, qbXMLMajorVersion As Integer, qbXMLMinorVersion As Integer)
     As IMsgSetRequest
  DoRequests(request As IMsgSetRequest) As IMsgSetResponse
  GetVersion(MajorVersion As Integer, MinorVersion As Integer, releaseLevel As ENReleaseLevel,
     releaseNumber As Integer)
  ToMsgSetResponse(qbXMLResponse As String, Country As String, qbXMLMajorVersion As Integer,
     qbXMLMinorVersion As Integer) As IMsgSetResponse
  DoRequestsFromXMLString(qbXMLRequest As String) As IMsgSetResponse
  ToMsgSetRequest(qbXMLRequest As String) As IMsgSetRequest
  IsErrorRecoveryInfo() As Boolean
  ClearErrorRecovery()
  EnableErrorRecovery As Boolean
  ErrorRecoveryID As IQBGUIDType
  SaveAllMsgSetRequestInfo As Boolean
  GetErrorRecoveryStatus() As IMsgSetResponse
  GetSavedMsgSetRequest() As IMsgSetRequest
  ApplicationLogin As IQBStringType
  ConnectionTicket As IQBStringType
  InstallationID As IQBIDType
  Language As IQBStringType
  AppID As IQBStringType
  AppVer As IQBStringType
  SessionTicket As IQBStringType
  AuthID As IQBIDType

C++ wrapper methods for error-handling and property data
  IMsgSetRequestPtr CreateMsgSetRequest ( _bstr_t country, short qbXMLMajorVersion, short qbXMLMinorVersion );
  IMsgSetResponsePtr DoRequests ( struct IMsgSetRequest * request );
  HRESULT GetVersion ( short * majorVersion, short * minorVersion, enum ENReleaseLevel * releaseLevel,
     short * releaseNumber );
  IMsgSetResponsePtr ToMsgSetResponse(_bstr_t qbXMLResponse, _bstr_t country, short qbXMLMajorVersion,
     short qbXMLMinorVersion);
  IMsgSetResponsePtr DoRequestsFromXMLString ( _bstr_t qbXMLRequest );
  VARIANT_BOOL IsErrorRecoveryInfo ( );
  HRESULT ClearErrorRecovery ( );
  VARIANT_BOOL EnableErrorRecovery;
void PutEnableErrorRecovery ( VARIANT_BOOL bEnable );
VARIANT_BOOL GetEnableErrorRecovery ( );
  IQBGUIDTypePtr ErrorRecoveryID;
IQBGUIDTypePtr GetErrorRecoveryID ( );
  VARIANT_BOOL SaveAllMsgSetRequestInfo;
void PutSaveAllMsgSetRequestInfo ( VARIANT_BOOL bSaveAll );
VARIANT_BOOL GetSaveAllMsgSetRequestInfo ( );
  IMsgSetResponsePtr GetErrorRecoveryStatus ( );
  IMsgSetRequestPtr GetSavedMsgSetRequest ( );
  IQBStringTypePtr ApplicationLogin;
IQBStringTypePtr GetApplicationLogin ( );
  IQBStringTypePtr ConnectionTicket;
IQBStringTypePtr GetConnectionTicket ( );
  IQBIDTypePtr InstallationID;
IQBIDTypePtr GetInstallationID ( );
  IQBStringTypePtr Language;
IQBStringTypePtr GetLanguage ( );
  IQBStringTypePtr AppID;
IQBStringTypePtr GetAppID ( );
  IQBStringTypePtr AppVer;
IQBStringTypePtr GetAppVer ( );
  IQBStringTypePtr SessionTicket;
IQBStringTypePtr GetSessionTicket ( );
  IQBIDTypePtr AuthID;
IQBIDTypePtr GetAuthID ( );

IDL definition
  HRESULT CreateMsgSetRequest(BSTR country, short qbXMLMajorVersion, short qbXMLMinorVersion,
     [out, retval] IMsgSetRequest** request);
  HRESULT DoRequests(IMsgSetRequest* request, [out, retval] IMsgSetResponse** responseSet);
  HRESULT GetVersion([out] short* majorVersion, [out] short* minorVersion, [out] ENReleaseLevel* releaseLevel,
     [out] short* releaseNumber);
  HRESULT ToMsgSetResponse(BSTR qbXMLResponse, BSTR country, short qbXMLMajorVersion,
     short qbXMLMinorVersion, [out, retval] IMsgSetResponse** responseSet);
  HRESULT DoRequestsFromXMLString(BSTR qbXMLRequest, [out, retval] IMsgSetResponse** responseSet);
  HRESULT ToMsgSetRequest(BSTR qbXMLRequest, [out, retval] IMsgSetRequest** requestSet);
  HRESULT IsErrorRecoveryInfo([out, retval] VARIANT_BOOL* bIsErrorRecoveryInfo);
  HRESULT ClearErrorRecovery();
  HRESULT EnableErrorRecovery([in] VARIANT_BOOL bEnable);
  HRESULT EnableErrorRecovery([out,retval] VARIANT_BOOL* bEnable);
  HRESULT SaveAllMsgSetRequestInfo([in] VARIANT_BOOL bSaveAll);
  HRESULT SaveAllMsgSetRequestInfo([out,retval] VARIANT_BOOL* bSaveAll);
  HRESULT GetErrorRecoveryStatus( [out, retval] IMsgSetResponse** responseSet);
  HRESULT GetSavedMsgSetRequest( [out, retval] IMsgSetRequest** requestSet);
  HRESULT ErrorRecoveryID([out, retval] IQBGUIDType* *pVal);
  HRESULT ApplicationLogin([out, retval] IQBStringType* *pVal);
  HRESULT ConnectionTicket([out, retval] IQBStringType* *pVal);
  HRESULT InstallationID([out, retval] IQBIDType* *pVal);
  HRESULT Language([out, retval] IQBStringType* *pVal);
  HRESULT AppID([out, retval] IQBStringType* *pVal);
  HRESULT AppVer([out, retval] IQBStringType* *pVal);
  HRESULT SessionTicket([out, retval] IQBStringType* *pVal);
  HRESULT AuthID([out, retval] IQBIDType* *pVal);

Back to the top

IMsgSetRequest

The IMsgSetRequest object has two main functions: storing the attributes for the request set, and adding and maintaining all the requests you want QuickBooks to process.
VB6 methods and properties
  Attributes As IAttributesRqSet
  ClearRequests()
  ToXMLString() As String
  Verify(errorMsg As String) As Boolean
An "Append" method exists for each type of message. The usage would look like this in VB6:
Append<message name>Rq ( ) As I<message name>
  For example:
AppendCustomSummaryReportQueryRq ( ) As ICustomSummaryReportQuery
AppendDataExtDefDelRq ( ) As IDataExtDefDel
AppendItemSalesTaxAddRq ( ) As IItemSalesTaxAdd
...and so on

C++ wrapper methods for error-handling and property data
  IAttributesRqSetPtr Attributes;
  IAttributesRqSetPtr GetAttributes ( );
  HRESULT ClearRequests ( );
  _bstr_t ToXMLString ( );
  VARIANT_BOOL Verify (BSTR * errorMsg );
An "Append" method exists for each type of message. The usage would look like this in C++:
I<message name>Ptr Append<message name>Rq ( );
  For example:
ICustomSummaryReportQueryPtr AppendCustomSummaryReportQueryRq ( );
IDataExtDefDelPtr AppendDataExtDefDelRq ( );
IItemSalesTaxAddPtr AppendItemSalesTaxAddRq ( );
...and so on

IDL definition
  HRESULT Attributes([out, retval] IAttributesRqSet**pVal);
  HRESULT ClearRequests();
  HRESULT ToXMLString([out, retval] BSTR* qbXMLRequest);
  HRESULT Verify([out] BSTR* errorMsg, [out, retval] VARIANT_BOOL* isOK);
An "Append" method exists for each type of message. The usage would look like this in IDL:
HRESULT Append<message name>Rq([out, retval] I<message name>** val);
  For example:
HRESULT AppendCustomSummaryReportQueryRq([out, retval] ICustomSummaryReportQuery** val);
HRESULT AppendDataExtDefDelRq([out, retval] IDataExtDefDel** val);
HRESULT AppendItemSalesTaxAddRq([out, retval] IItemSalesTaxAdd** val);
...and so on

Back to the top

IRequest

The IRequest object is contained in the IRequestList.
VB6 methods and properties
  Detail As IQBBase
  RequestID As Long
  Type As IRequestType

C++ wrapper methods for error-handling and property data
  long RequestID;
  IQBBasePtr Detail;
  IRequestTypePtr Type;
  long GetRequestID ( );
  IQBBasePtr GetDetail ( );
  IRequestTypePtr GetType ( );

IDL definition

  HRESULT RequestID([out, retval] long *pVal);
  HRESULT Detail([out, retval] IQBBase** pVal);
  HRESULT Type([out, retval] IRequestType** pVal);

Back to the top

IRequestList

The IRequestList object is a property within the IMsgSetResponse object.
VB6 methods and properties
  Count As Long
  GetAt(index As Long) As IRequest

C++ wrapper methods for error-handling and property data
  long Count;
  long GetCount ( );
  IRequestPtr GetAt ( long index );

IDL definition
  HRESULT Count([out, retval] long *pVal);
  HRESULT GetAt(long index, [out,retval] IRequest** retVal);

Back to the top

IAttributesRqSet

The IAttributesRqSet object is returned by the Attributes property of IMsgSetRequest. IAttributesRqSet consists of four properties, which correspond to the possible attributes in the request message set.
VB6 methods and properties
  OnError As ENRqOnError
  OldMessageSetID As String
  NewMessageSetID As String
 

ResponseData As ENRqResponseData


C++ wrapper methods for error-handling and property data
  enum ENRqOnError OnError;
  _bstr_t OldMessageSetID;
  _bstr_t NewMessageSetID;
 

enum ENRqResponseData ResponseData;

  enum ENRqOnError GetOnError ( );
  void PutOnError ( enum ENRqOnError pVal );
  void PutOldMessageSetID ( _bstr_t val );
  _bstr_t GetOldMessageSetID ( );
  void PutNewMessageSetID ( _bstr_t val );
  _bstr_t GetNewMessageSetID ( );
  void PutResponseData ( enum ENRqResponseData val );
  enum ENRqResponseData GetResponseData ( );

IDL definition
  HRESULT OnError([out, retval] ENRqOnError *pVal);
  HRESULT OnError([in] ENRqOnError newVal);
  HRESULT OldMessageSetID([in] BSTR newVal);
 

HRESULT OldMessageSetID([out,retval] BSTR* val);

  HRESULT NewMessageSetID([in] BSTR newVal);
  HRESULT NewMessageSetID([out,retval] BSTR* val);
  HRESULT ResponseData([in] ENRqResponseData newVal);
  HRESULT ResponseData([out,retval] ENRqResponseData* val);

ISubscriptionMsgSetRequest

The ISubscriptionMsgSetRequest object is returned by the QBSessionManager object's CreateSubscriptionMsgSetRequest property. ISubscriptionMsgSetRequest is used by the subscription request message objects.

VB6 methods and properties
  ClearRequests()
  ToXMLString() As String
  Verify (BSTR * errorMsg ) As Boolean
  AppendUIEventSubscriptionQueryRq() As IUIEventSubscriptionQuery
  AppendUIExtensionSubscriptionQueryRq() As IUIExtensionSubscriptionQuery
  AppendDataEventSubscriptionQueryRq() As IDataEventSubscriptionQuery
  AppendUIExtensionSubscriptionAddRq() As IUIExtensionSubscriptionAdd
  AppendUIEventSubscriptionAddRq() As IUIEventSubscriptionAdd
  AppendDataEventSubscriptionAddRq() As IDataEventSubscriptionAdd
  AppendSubscriptionDelRq() As ISubscriptionDel

C++ wrapper methods for error-handling and property data
  HRESULT ClearRequests();
  _bstr_t ToXMLString();
  VARIANT_BOOL Verify (BSTR * errorMsg );
  IUIEventSubscriptionQueryPtr AppendUIEventSubscriptionQueryRq();
  IUIExtensionSubscriptionQueryPtr AppendUIExtensionSubscriptionQueryRq();
  IDataEventSubscriptionQueryPtr AppendDataEventSubscriptionQueryRq();
  IUIExtensionSubscriptionAddPtr AppendUIExtensionSubscriptionAddRq();
  IUIEventSubscriptionAddPtr AppendUIEventSubscriptionAddRq();
  IDataEventSubscriptionAddPtr AppendDataEventSubscriptionAddRq();
  ISubscriptionDelPtr AppendSubscriptionDelRq();

IDL definition
  HRESULT ClearRequests();
  HRESULT ToXMLString([out, retval] BSTR* qbXMLSubscriptionRequest);
  HRESULT Verify([out] BSTR* errorMsg, [out, retval] VARIANT_BOOL* isOK);
  HRESULT AppendUIEventSubscriptionQueryRq([out, retval] IUIEventSubscriptionQuery** val);
  HRESULT AppendUIExtensionSubscriptionQueryRq([out, retval] IUIExtensionSubscriptionQuery** val);
  HRESULT AppendDataEventSubscriptionQueryRq([out, retval] IDataEventSubscriptionQuery** val);
  HRESULT AppendUIExtensionSubscriptionAddRq([out, retval] IUIExtensionSubscriptionAdd** val);
  HRESULT AppendUIEventSubscriptionAddRq([out, retval] IUIEventSubscriptionAdd** val);
  HRESULT AppendDataEventSubscriptionAddRq([out, retval] IDataEventSubscriptionAdd** val);
  HRESULT AppendSubscriptionDelRq([out, retval] ISubscriptionDel** val);

IMsgSetResponse

Except when DoRequests fails, it returns an IMsgSetResponse object. (DoRequests can be called on the QB session manager or the QBOE session manager.) IMsgSetResponse contains the responses and attributes as defined in the underlying qbXML. The responses are maintained in the form of a list, which contains one response for every request in the request set that was passed to DoRequests. Each of these responses holds status information, and possibly data, returned from QuickBooks.
VB6 methods and properties
  Attributes As IAttributesRsSet
  ResponseList As IResponseList
  ToXMLString() As String

C++ wrapper methods for error-handling and property data
  IAttributesRsSetPtr Attributes;
  IResponseListPtr ResponseList;
  IAttributesRsSetPtr GetAttributes ( );
  IResponseListPtr GetResponseList ( );
  _bstr_t ToXMLString ( );

IDL definition
  HRESULT Attributes([out, retval] IAttributesRsSet* *pVal);
  HRESULT ResponseList([out, retval] IResponseList* *pVal);
  HRESULT ToXMLString([out, retval] BSTR* qbXMLResponse);

IResponse

The IResponse object is contained in the IResponseList that is part of the IMsgSetResponse. Its properties represent the status information and the contents of the message, as well as the type of the response.
VB6 methods and properties
  StatusCode As Long
  StatusSeverity As String
  StatusMessage As String
  Detail As IQBBase
  Type As IResponseType width=15

C++ wrapper methods for error-handling and property data
  long StatusCode;
  _bstr_t StatusSeverity;
  _bstr_t StatusMessage;
  IQBBasePtr Detail;
  IResponseTypePtr Type;
  long GetStatusCode ( );
  _bstr_t GetStatusSeverity ( );
  _bstr_t GetStatusMessage ( );
  IQBBasePtr GetDetail ( );
  IResponseTypePtr GetType ( );

IDL definition

  HRESULT StatusCode([out, retval] long *pVal);
  HRESULT StatusSeverity([out, retval] BSTR *pVal);
  HRESULT StatusMessage([out, retval] BSTR *pVal);
  HRESULT Detail([out, retval] IQBBase** pVal);
  HRESULT Type([out, retval] IResponseType** pVal);

IResponseList

The IResponseList object is a property within the IMsgSetResponse object. IResponseList contains the list of responses to the requests contained in the request message set. Responses are returned in the same order as the requests were added to the request message set.
VB6 methods and properties
  Count As Long
  GetAt(index As Long) As IResponse

C++ wrapper methods for error-handling and property data
  long Count;
  long GetCount ( );
  IResponsePtr GetAt ( long index );

IDL definition
  HRESULT Count([out, retval] long *pVal);
  HRESULT GetAt(long index, [out,retval] IResponse** retVal);

IResponseType

Returned by the Type property of IResponse.
VB6 methods
  GetValue ( ) As Integer
  GetAsString ( ) As String
C++ wrapper methods for error-handling
  short GetValue ( );
  _bstr_t GetAsString ( );
IDL definition
  HRESULT GetValue([out, retval] short *pVal);
  HRESULT GetAsString([out, retval] BSTR *pVal);

IAttributesRsSet

The IAttributesRsSet object is a property within the IMsgSetResponse object. Its two properties correspond to the possible attributes in the response message set. If neither of these properties is set, then the Attributes property in the IMsgSetResponse object will be NULL (Nothing in VB).
VB6 methods
  NewMessageSetID As String
  MessageSetStatusCode As String
C++ wrapper methods for error-handling and property data
  _bstr_t NewMessageSetID;
  _bstr_t MessageSetStatusCode;
  _bstr_t GetNewMessageSetID ( );
  _bstr_t GetMessageSetStatusCode ( );
IDL definition
  HRESULT NewMessageSetID([out, retval] BSTR *pVal);
  HRESULT MessageSetStatusCode([out, retval] BSTR *pVal);

ISubscriptionMsgSetResponse

The ISubscriptionMsgSetResponse object is returned by the QBSessionManager object's DoSubscriptionRequestsFromXMLString, ToSubscriptionMsgSetResponse, and DoSubscriptionRequests properties. ISubscriptionMsgSetResponse is used by the subscription response message objects.

VB6 methods and properties
  ResponseList() As IResponseList
  ToXMLString() As String
C++ wrapper methods for error-handling and property data
  IResponseListPtr ResponseList();
  _bstr_t ToXMLString();
IDL definition
  HRESULT ResponseList([out, retval] IResponseList* *pVal);
  HRESULT ToXMLString([out, retval] BSTR* qbXMLSubscriptionResponse);

IQBBaseRef

IQBBaseRef is used for all qbXML "object references," which refer to objects. For example, an AccountRef refers to an account in the chart of accounts. If a request specifies both ListID and FullName, QuickBooks will use only the ListID.
VB6 methods
  ListID As IQBIDType
  FullName As IQBStringType
  Type As IObjectType
C++ wrapper methods for error-handling and property data
  IQBIDTypePtr ListID;
  IQBStringTypePtr FullName;
  IQBIDTypePtr GetListID ( );
  IQBStringTypePtr GetFullName ( );
  IObjectTypePtr Type;
  IObjectTypePtr GetType ( );
IDL definition
  HRESULT ListID([out, retval] IQBIDType** pVal);
  HRESULT FullName([out, retval] IQBStringType** pVal);
  HRESULT Type([out, retval] IObjectType **pVal);

IQBBase

The IQBBase interface is implemented by all the other message data objects.
VB6 methods
  Type As IObjectType
C++ wrapper methods for error-handling and property data
  IObjectTypePtr Type;
  IObjectTypePtr GetType ( );
IDL definition
  HRESULT Type([out, retval] IObjectType **pVal);

IObjectType

Returned by the Type property of IQBBase.
VB6 methods
  GetValue ( ) As Integer
  GetAsString ( ) As String
C++ wrapper methods for error-handling
  short GetValue ( )
  _bstr_t GetAsString ( );
IDL definition
  HRESULT GetValue([out, retval] short *pVal);
  HRESULT GetAsString([out, retval] BSTR *pVal);

IQBBaseRefList

A list of IQBBaseRef objects.
VB6 methods
  Append ( ) As IQBBaseRef
  Count As Long
  GetAt ( index As Long ) As IQBBaseRef
  Type As IObjectType
C++ wrapper methods for error-handling and property data
  long Count;
  IQBBaseRefPtr GetAt ( long index );
  long GetCount ( );
  IQBBaseRefPtr Append ( );
  IObjectTypePtr Type;
  IObjectTypePtr GetType ( );
IDL definition
  HRESULT GetAt(long index, [out, retval] IQBBaseRef** retVal);
  HRESULT Count([out, retval] long *pVal);
  HRESULT Append([out, retval] IQBBaseRef** retVal);
  HRESULT Type([out, retval] IObjectType **pVal);

IBasicPropertyType

The IBasicPropertyType interface is implemented by all data type objects.
VB6 methods
  IsSet ( ) As Boolean
  IsEmpty ( ) As Boolean
  Unset ( )
  SetEmpty ( )
C++ wrapper methods for error-handling
  VARIANT_BOOL IsSet ( );
  VARIANT_BOOL IsEmpty ( );
  HRESULT Unset ( );
  HRESULT SetEmpty ( );
IDL definition
  HRESULT IsSet([out, retval] VARIANT_BOOL* pVal)
  HRESULT IsEmpty([out, retval] VARIANT_BOOL* pVal)
  HRESULT Unset()
  HRESULT SetEmpty()

IEventsMsgSet

 
VB6 methods
  OREvent As IOREvent
  ToXMLString() As String
C++ wrapper methods for error-handling
  IOREventPtr OREvent;
  IOREventPtr GetOREvent ( );
  _bstr_t ToXMLString ( );
IDL definition
  HRESULT OREvent([out, retval] IOREvent* *pVal);
  HRESULT ToXMLString([out, retval] BSTR* qbXMLResponse);