//*********************************************************************
//*                  Microsoft Windows                               **
//*            Copyright(c) Microsoft Corp., 1996-1997               **
//*********************************************************************



#define DISPID_XOBJ_MIN                 0x60020000
#define DISPID_XOBJ_MAX                 0x6002FFFF
#define DISPID_XOBJ_BASE                DISPID_XOBJ_MIN
// why do we have space at the beginning?  why do the dispids all need to/should be different?
#define DISPID_UPNPFINDDEVICES          (DISPID_XOBJ_BASE               + 1000)
#define DISPID_UPNPFINDDEVICESCALLBACK  (DISPID_UPNPFINDDEVICES         + 500)
#define DISPID_UPNPSERVICES             (DISPID_UPNPFINDDEVICESCALLBACK + 500)
#define DISPID_UPNPSERVICE              (DISPID_UPNPSERVICES            + 500)
#define DISPID_UPNPDEVICES              (DISPID_UPNPSERVICE             + 1000)
#define DISPID_UPNPDEVICE               (DISPID_UPNPDEVICES             + 500)
#define DISPID_UPNPDESCRIPTIONDOC       (DISPID_UPNPDEVICE              + 500)

#define DISPID_UPNPFINDDEVICES_FINDBYTYPE        (DISPID_UPNPFINDDEVICES + 1)
#define DISPID_UPNPFINDDEVICES_FINDBYDCPI        (DISPID_UPNPFINDDEVICES + 2)
#define DISPID_UPNPFINDDEVICES_FINDBYUDN         (DISPID_UPNPFINDDEVICES + 3)
#define DISPID_UPNPFINDDEVICES_CREATEASYNCFIND   (DISPID_UPNPFINDDEVICES + 4) 
#define DISPID_UPNPFINDDEVICES_STARTASYNCFIND    (DISPID_UPNPFINDDEVICES + 5) 
#define DISPID_UPNPFINDDEVICES_CANCELASYNCFIND   (DISPID_UPNPFINDDEVICES + 6) 

#define DISPID_UPNPFINDDEVICESCALLBACK_NEWDEVICE        (DISPID_UPNPFINDDEVICESCALLBACK + 1)
#define DISPID_UPNPFINDDEVICESCALLBACK_SEARCHCOMPLETE   (DISPID_UPNPFINDDEVICESCALLBACK + 2) 

#define DISPID_UPNPSERVICES_COUNT                (DISPID_UPNPSERVICES + 1)

#define DISPID_UPNPSERVICE_QUERYSTATEVARIABLE    (DISPID_UPNPSERVICE  + 1)
#define DISPID_UPNPSERVICE_INVOKEACTION          (DISPID_UPNPSERVICE  + 2)
#define DISPID_UPNPSERVICE_SERVICETYPEIDENTIFIER (DISPID_UPNPSERVICE  + 3)
#define DISPID_UPNPSERVICE_ADDSTATECHANGECALLBACK   (DISPID_UPNPSERVICE  + 4)
#define DISPID_UPNPSERVICE_SERVICEID             (DISPID_UPNPSERVICE  + 5)
#define DISPID_UPNPSERVICE_LASTTRANSPORTSTATUS   (DISPID_UPNPSERVICE  + 6)

#define DISPID_UPNPDEVICES_COUNT                 (DISPID_UPNPDEVICES  + 1)

#define DISPID_UPNPDEVICE_ISROOTDEVICE           (DISPID_UPNPDEVICE   + 1)
#define DISPID_UPNPDEVICE_ROOT                   (DISPID_UPNPDEVICE   + 2)
#define DISPID_UPNPDEVICE_PARENT                 (DISPID_UPNPDEVICE   + 3)
#define DISPID_UPNPDEVICE_HASCHILDREN            (DISPID_UPNPDEVICE   + 4)
#define DISPID_UPNPDEVICE_CHILDREN               (DISPID_UPNPDEVICE   + 5)
#define DISPID_UPNPDEVICE_UDN                    (DISPID_UPNPDEVICE   + 6)
#define DISPID_UPNPDEVICE_FRIENDLYNAME           (DISPID_UPNPDEVICE   + 7)
#define DISPID_UPNPDEVICE_DEVICETYPE             (DISPID_UPNPDEVICE   + 8)
#define DISPID_UPNPDEVICE_PRESENTATIONURL        (DISPID_UPNPDEVICE   + 9)
#define DISPID_UPNPDEVICE_MANUFACTURERNAME       (DISPID_UPNPDEVICE   + 10)
#define DISPID_UPNPDEVICE_MANUFACTURERURL        (DISPID_UPNPDEVICE   + 11)
#define DISPID_UPNPDEVICE_MODELNAME              (DISPID_UPNPDEVICE   + 12)
#define DISPID_UPNPDEVICE_MODELNUMBER            (DISPID_UPNPDEVICE   + 13)
#define DISPID_UPNPDEVICE_DESCRIPTION            (DISPID_UPNPDEVICE   + 14)
#define DISPID_UPNPDEVICE_MODELURL               (DISPID_UPNPDEVICE   + 15)
#define DISPID_UPNPDEVICE_UPC                    (DISPID_UPNPDEVICE   + 16)
#define DISPID_UPNPDEVICE_SERIALNUMBER           (DISPID_UPNPDEVICE   + 17)
#define DISPID_UPNPDEVICE_LOADSMALLICON          (DISPID_UPNPDEVICE   + 18)
#define DISPID_UPNPDEVICE_LOADICON               (DISPID_UPNPDEVICE   + 19)
#define DISPID_UPNPDEVICE_SERVICES               (DISPID_UPNPDEVICE   + 20)

#define DISPID_UPNPDESCRIPTIONDOC_LOAD           (DISPID_UPNPDESCRIPTIONDOC + 1)
#define DISPID_UPNPDESCRIPTIONDOC_LOADASYNC      (DISPID_UPNPDESCRIPTIONDOC + 2)
#define DISPID_UPNPDESCRIPTIONDOC_LOADERROR      (DISPID_UPNPDESCRIPTIONDOC + 3)
#define DISPID_UPNPDESCRIPTIONDOC_ABORT          (DISPID_UPNPDESCRIPTIONDOC + 4)
#define DISPID_UPNPDESCRIPTIONDOC_ROOTDEVICE     (DISPID_UPNPDESCRIPTIONDOC + 5)
#define DISPID_UPNPDESCRIPTIONDOC_DEVICEBYUDN    (DISPID_UPNPDESCRIPTIONDOC + 6)