//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1998 - 1999 // // File: directxconst.idl // //-------------------------------------------------------------------------- #ifdef VB_ONLY // // DirectPlayVoice // #define I_dxj_DirectPlayVoiceSetup DirectPlayVoiceTest8 #define I_dxj_DirectPlayVoiceServer DirectPlayVoiceServer8 #define I_dxj_DirectPlayVoiceClient DirectPlayVoiceClient8 #define I_dxj_DPVoiceEvent DirectPlayVoiceEvent8 // // DirectPlay8 // #define I_dxj_DirectPlayPeer DirectPlay8Peer #define I_dxj_DirectPlayClient DirectPlay8Client #define I_dxj_DirectPlayServer DirectPlay8Server #define I_dxj_DirectPlayLobbyClient DirectPlay8LobbyClient #define I_dxj_DirectPlayLobbiedApplication DirectPlay8LobbiedApplication #define I_dxj_DirectPlayEvent DirectPlay8Event #define I_dxj_DirectPlayLobbyEvent DirectPlay8LobbyEvent //Addresses #define I_dxj_DirectPlayAddress DirectPlay8Address // // DirectplayVoice structs // #define DVMESSAGETYPE_CDESC DVMESSAGETYPE #define DVCAPS_CDESC DVCAPS #define DVCOMPRESSIONINFO_CDESC DVCOMPRESSIONINFO #define DVSESSIONDESC_CDESC DVSESSIONDESC #define DVCLIENTCONFIG_CDESC DVCLIENTCONFIG #define DVSOUNDDEVICECONFIG_CDESC DVSOUNDDEVICECONFIG // // Directplay structs // #define DPN_APPLICATION_DESC_CDESC DPN_APPLICATION_DESC #define DPNCAPS_CDESC DPN_CAPS #define DPN_SERVICE_PROVIDER_INFO_CDESC DPN_SERVICE_PROVIDER_INFO #define DPN_PLAYER_INFO_CDESC DPN_PLAYER_INFO #define DPN_GROUP_INFO_CDESC DPN_GROUP_INFO #define DPN_SERVICE_PROVIDER_INFO_CDESC DPN_SERVICE_PROVIDER_INFO #define DPN_SP_CAPS_CDESC DPN_SP_CAPS #define DPL_APPLICATION_INFO_CDESC DPL_APPLICATION_INFO #define DPL_PROGRAM_DESC_CDESC DPL_PROGRAM_DESC #define DPL_CONNECT_INFO_CDESC DPL_CONNECT_INFO #define DPL_MESSAGE_RECEIVE_CDESC DPL_MESSAGE_RECEIVE #define DPL_MESSAGE_CONNECT_CDESC DPL_MESSAGE_CONNECT #define DPL_CONNECTION_SETTINGS_CDESC DPL_CONNECTION_SETTINGS #define DPL_MESSAGE_CONNECTION_SETTINGS_CDESC DPL_MESSAGE_CONNECTION_SETTINGS // // DirectPlay MSG structs // #define DPNMSG_TERMINATE_SESSION_CDESC DPNMSG_TERMINATE_SESSION #define DPNMSG_INDICATE_CONNECT_CDESC DPNMSG_INDICATE_CONNECT #define DPNMSG_CONNECT_COMPLETE_CDESC DPNMSG_CONNECT_COMPLETE #define DPNMSG_SEND_COMPLETE_CDESC DPNMSG_SEND_COMPLETE #define DPNMSG_RECEIVE_CDESC DPNMSG_RECEIVE #define DPNMSG_ASYNC_OP_COMPLETE_CDESC DPNMSG_ASYNC_OP_COMPLETE #define DPNMSG_ENUM_HOSTS_QUERY_CDESC DPNMSG_ENUM_HOSTS_QUERY #define DPNMSG_ENUM_HOSTS_RESPONSE_CDESC DPNMSG_ENUM_HOSTS_RESPONSE #define DPN_CONNECTION_INFO_CDESC DPN_CONNECTION_INFO #endif #ifdef C_ONLY #define CONST_DVSOUNDEFFECT LONG #define CONST_DVCLIENTCONFIGENUM LONG #define CONST_DVSESSION LONG #define CONST_DVCOMPRESSIONCAPS LONG #define CONST_DVNOTIFY LONG #define CONST_DVCAPSENUM LONG #define CONST_DVFLAGS LONG #define CONST_DVTHRESHOLD LONG #define CONST_DVBUFFERQUALITY LONG #define CONST_DVBUFFERAGGRESSIVENESS LONG #define CONST_DVSESSIONTYPE LONG #define CONST_DVPLAYBACKVOLUME LONG #define CONST_DVMESSAGE LONG #define CONST_DVERR LONG #define CONST_DPNENUMCLIENTGROUPFLAGS LONG #define CONST_DPLCONNECT LONG #define CONST_DPLSESSION LONG #define CONST_DPNPLAYINFOFLAGS LONG #define CONST_DPNINFO LONG #define CONST_DPNGROUPINFOFLAGS LONG #define CONST_DPNCANCELFLAGS LONG #define CONST_DVSOUNDEFFECT LONG #define CONST_DPNSENDFLAGS LONG #define CONST_DPLAVAILABLE LONG #define CONST_DPNSESSIONFLAGS LONG #define CONST_DPNOPERATIONS LONG #define CONST_DPLCONNECTSETTINGS LONG #define CONST_DPNGETSENDQUEUEINFO LONG #endif // // DirectPlay & DirectPlayLobby // interface I_dxj_DirectPlayPeer; interface I_dxj_DirectPlayClient; interface I_dxj_DirectPlayServer; interface I_dxj_DirectPlayLobbyClient; interface I_dxj_DirectPlayLobbiedApplication; // // DirectPlayAdress // interface I_dxj_DirectPlayAddress; // // DirectPlayVoice (Server/Client/Setup) // interface I_dxj_DirectPlayVoiceClient; interface I_dxj_DirectPlayVoiceServer; interface I_dxj_DirectPlayVoiceSetup; // // DirectPlay Events // interface I_dxj_DPVoiceEvent; interface I_dxj_DirectPlayEvent; interface I_dxj_DirectPlayLobbyEvent; #ifdef VB_ONLY #define DPL_MSGID_LOBBY 0x8000 [helpcontext(79390)] typedef enum CONST_DPNDESTROYPLAYERREASON { DPNDESTROYPLAYERREASON_NORMAL = 0x0001, DPNDESTROYPLAYERREASON_CONNECTIONLOST = 0x0002, DPNDESTROYPLAYERREASON_SESSIONTERMINATED = 0x0003, DPNDESTROYPLAYERREASON_HOSTDESTROYEDPLAYER = 0x0004 } CONST_DPNDESTROYPLAYERREASON; [helpcontext(79391)] typedef enum CONST_DPNDESTROYGROUPREASON { DPNDESTROYGROUPREASON_NORMAL = 0x0001, DPNDESTROYGROUPREASON_AUTODESTRUCTED = 0x0002, DPNDESTROYGROUPREASON_SESSIONTERMINATED = 0x0003 } CONST_DPNDESTROYGROUPREASON; [helpcontext(79490)] typedef enum CONST_DPLHANDLE { DPLHANDLE_ALLCONNECTIONS = 0xFFFFFFFF } CONST_DPLHANDLE; [helpcontext(79491)] typedef enum CONST_DPNGETSENDQUEUEINFO { DPNGETSENDQUEUEINFO_PRIORITY_NORMAL = 0x0001, DPNGETSENDQUEUEINFO_PRIORITY_HIGH = 0x0002, DPNGETSENDQUEUEINFO_PRIORITY_LOW = 0x0004 } CONST_DPNGETSENDQUEUEINFO; [helpcontext(79392)] typedef enum CONST_DPLAVAILABLE { DPLAVAILABLE_ALLOWMULTIPLECONNECT = 0x0001 } CONST_DPLAVAILABLE; [helpcontext(78390)] typedef enum CONST_DPLAYBUFSIZE { SIZE_BYTE = 1, SIZE_LONG = 4, SIZE_INTEGER = 2, SIZE_BOOLEAN = 2, SIZE_SINGLE = 4, SIZE_DOUBLE = 8, SIZE_CURRENCY = 8, SIZE_DECIMAL = 14, SIZE_DATE = 8, } CONST_DPLAYBUFSIZE; [helpcontext(78406)] typedef enum CONST_DPNSPCAPS { DPNSPCAPS_SUPPORTSDPNSRV = 0x0001, DPNSPCAPS_SUPPORTSBROADCAST = 0x0002, DPNSPCAPS_SUPPORTSALLADAPTERS = 0x0004 } CONST_DPNSPCAPS; [helpcontext(78392)] typedef enum CONST_DPLMSG { DPL_MSGID_RECEIVE = (0x0001 | DPL_MSGID_LOBBY), DPL_MSGID_CONNECT = (0x0002 | DPL_MSGID_LOBBY), DPL_MSGID_DISCONNECT = (0x0003 | DPL_MSGID_LOBBY), DPL_MSGID_SESSION_STATUS = (0x0004 | DPL_MSGID_LOBBY), DPL_MSGID_CONNECTION_SETTINGS = (0x0005 | DPL_MSGID_LOBBY) } CONST_DPLMSG; [helpcontext(78391)] typedef enum CONST_DPLCONNECT { DPLCONNECT_LAUNCHNEW = 0x0001, DPLCONNECT_LAUNCHNOTFOUND = 0x0002, } CONST_DPLCONNECT; [helpcontext(79395)] typedef enum CONST_DPLCONNECTSETTINGS { DPLCONNECTSETTINGS_HOST = 0x0001, } CONST_DPLCONNECTSETTINGS; [helpcontext(78393)] typedef enum CONST_DPLSESSION { DPLSESSION_CONNECTED = 0x0001, DPLSESSION_COULDNOTCONNECT = 0x0002, DPLSESSION_DISCONNECTED = 0x0003, DPLSESSION_TERMINATED = 0x0004, DPLSESSION_HOSTMIGRATED = 0x0005, DPLSESSION_HOSTMIGRATEDHERE = 0x0006 } CONST_DPLSESSION; [helpcontext(78408)] typedef enum CONST_DPNWAITTIME { INFINITE = 0xFFFFFFFF } CONST_DPNWAITTIME; [helpcontext(78399)] typedef enum CONST_DPNLOBBY { DPNLOBBY_REGISTER = 0x0001, DPNLOBBY_UNREGISTER = 0x0002 } CONST_DPNLOBBY; #define E_FAIL 0x80000008 #define E_POINTER 0x80004003 #define E_PENDING 0x00000103 [helpcontext(78396)] typedef enum CONST_DPNERROR { DPN_OK = 0, DPNSUCCESS_PENDING = E_PENDING, DPNERR_ABORTED = 0x80158030, DPNERR_ADDRESSING = 0x80158040, DPNERR_ALREADYCLOSING = 0x80158050, DPNERR_ALREADYCONNECTED = 0x80158060, DPNERR_ALREADYDISCONNECTING = 0x80158070, DPNERR_ALREADYINITIALIZED = 0x80158080, DPNERR_ALREADYREGISTERED = 0x80158090, DPNERR_BUFFERTOOSMALL = 0x80158100, DPNERR_CANNOTCANCEL = 0x80158110, DPNERR_CANTCREATEGROUP = 0x80158120, DPNERR_CANTCREATEPLAYER = 0x80158130, DPNERR_CANTLAUNCHAPPLICATION = 0x80158140, DPNERR_CONNECTING = 0x80158150, DPNERR_CONNECTIONLOST = 0x80158160, DPNERR_CONVERSION = 0x80158170, DPNERR_DATATOOLARGE = 0x80158175, DPNERR_DOESNOTEXIST = 0x80158180, DPNERR_DUPLICATECOMMAND = 0x80158190, DPNERR_ENDPOINTNOTRECEIVING = 0x80158200, DPNERR_ENUMQUERYTOOLARGE = 0x80158210, DPNERR_ENUMRESPONSETOOLARGE = 0x80158220, DPNERR_EXCEPTION = 0x80158230, DPNERR_GENERIC = E_FAIL, DPNERR_GROUPNOTEMPTY = 0x80158240, DPNERR_HOSTING = 0x80158250, DPNERR_HOSTREJECTEDCONNECTION = 0x80158260, DPNERR_HOSTTERMINATEDSESSION = 0x80158270, DPNERR_INCOMPLETEADDRESS = 0x80158280, DPNERR_INVALIDADDRESSFORMAT = 0x80158290, DPNERR_INVALIDAPPLICATION = 0x80158300, DPNERR_INVALIDCOMMAND = 0x80158310, DPNERR_INVALIDDEVICEADDRESS = 0x80158320, DPNERR_INVALIDENDPOINT = 0x80158330, DPNERR_INVALIDFLAGS = 0x80158340, DPNERR_INVALIDGROUP = 0x80158350, DPNERR_INVALIDHANDLE = 0x80158360, DPNERR_INVALIDHOSTADDRESS = 0x80158370, DPNERR_INVALIDINSTANCE = 0x80158380, DPNERR_INVALIDINTERFACE = 0x80158390, DPNERR_INVALIDOBJECT = 0x80158400, DPNERR_INVALIDPARAM = 5, DPNERR_INVALIDPASSWORD = 0x80158410, DPNERR_INVALIDPLAYER = 0x80158420, DPNERR_INVALIDPOINTER = E_POINTER, DPNERR_INVALIDPRIORITY = 0x80158430, DPNERR_INVALIDSTRING = 0x80158440, DPNERR_INVALIDURL = 0x80158450, DPNERR_INVALIDVERSION = 0x80158460, DPNERR_NOCAPS = 0x80158470, DPNERR_NOCONNECTION = 0x80158480, DPNERR_NOHOSTPLAYER = 0x80158490, DPNERR_NOINTERFACE = 430, DPNERR_NOMOREADDRESSCOMPONENTS = 0x80158500, DPNERR_NORESPONSE = 0x80158510, DPNERR_NOTALLOWED = 0x80158520, DPNERR_NOTHOST = 0x80158530, DPNERR_NOTREADY = 0x80158540, DPNERR_NOTREGISTERED = 0x80158550, DPNERR_OUTOFMEMORY = 7, DPNERR_PENDING = E_PENDING, DPNERR_PLAYERALREADYINGROUP = 0x80158560, DPNERR_PLAYERLOST = 0x80158570, DPNERR_PLAYERNOTINGROUP = 0x80158580, DPNERR_PLAYERNOTREACHABLE = 0x80158590, DPNERR_SENDTOOLARGE = 0x80158600, DPNERR_SESSIONFULL = 0x80158610, DPNERR_TABLEFULL = 0x80158620, DPNERR_TIMEDOUT = 0x80158630, DPNERR_UNINITIALIZED = 0x80158640, DPNERR_UNSUPPORTED = 445, DPNERR_USERCANCEL = 0x80158650, } CONST_DPNERROR; [helpcontext(78407)] typedef enum CONST_DPNSTATUS { DPN_ACCEPTED = DPN_OK, DPN_REJECTED = DPNERR_GENERIC } CONST_DPNSTATUS; [helpcontext(78388)] typedef enum CONST_DPCONNECT { DPNCONNECT_OKTOQUERYFORADDRESSING = 0x0001 } CONST_DPCONNECT; [helpcontext(78389)] typedef enum CONST_DPENUMHOSTS { DPNENUMHOSTS_OKTOQUERYFORADDRESSING = 0x0001, DPNENUMHOSTS_NOBROADCASTFALLBACK = 0x0002, #if 0 DPNENUMHOSTS_DONTSENDADDRESS = 0x0004 #endif } CONST_DPENUMHOSTS; [helpcontext(78401)] typedef enum CONST_DPNOPERATIONS { DPNOP_SYNC = 0x80000000, DPNCONNECT_SYNC = DPNOP_SYNC, DPNENUMHOSTS_SYNC = DPNOP_SYNC, DPNCREATEGROUP_SYNC = DPNOP_SYNC, DPNDESTROYGROUP_SYNC = DPNOP_SYNC, DPNADDPLAYERTOGROUP_SYNC = DPNOP_SYNC, DPNREMOVEPLAYERFROMGROUP_SYNC = DPNOP_SYNC, DPNSETGROUPINFO_SYNC = DPNOP_SYNC, DPNSETCLIENTINFO_SYNC = DPNOP_SYNC, DPNSETSERVERINFO_SYNC = DPNOP_SYNC, DPNSETPEERINFO_SYNC = DPNOP_SYNC, DPNHOST_OKTOQUERYFORADDRESSING = 0x1, } CONST_DPNOPERATIONS; [helpcontext(78404)] typedef enum CONST_DPNSENDFLAGS { DPNSEND_SYNC = DPNOP_SYNC, DPNSEND_NOCOPY = 0x0001, DPNSEND_NOCOMPLETE = 0x0002, DPNSEND_COMPLETEONPROCESS = 0x0004, DPNSEND_GUARANTEED = 0x0008, DPNSEND_NONSEQUENTIAL = 0x0010, DPNSEND_NOLOOPBACK = 0x0020, DPNSEND_PRIORITY_LOW = 0x0040, DPNSEND_PRIORITY_HIGH = 0x0080 } CONST_DPNSENDFLAGS; [helpcontext(78403)] typedef enum CONST_DPNPLAYINFOFLAGS { DPNPLAYER_LOCAL = 0x0002, DPNPLAYER_HOST = 0x0004 } CONST_DPNPLAYINFOFLAGS; [helpcontext(78397)] typedef enum CONST_DPNGROUPINFOFLAGS { DPNGROUP_AUTODESTRUCT = 0x0001, } CONST_DPNGROUPINFOFLAGS; [helpcontext(78402)] typedef enum CONST_DPNPLAYERGROUPFLAGS { DPNID_ALL_PLAYERS_GROUP = 0 } CONST_DPNPLAYERGROUPFLAGS; [helpcontext(78395)] typedef enum CONST_DPNENUMCLIENTGROUPFLAGS { DPNENUM_PLAYERS = 0x0001, DPNENUM_GROUPS = 0x0010, } CONST_DPNENUMCLIENTGROUPFLAGS; [helpcontext(78398)] typedef enum CONST_DPNINFO { DPNINFO_NAME = 0x0001, DPNINFO_DATA = 0x0002 } CONST_DPNINFO; [helpcontext(78405)] typedef enum CONST_DPNSESSIONFLAGS { DPNSESSION_CLIENT_SERVER = 0x0001, // DPNSESSION_KEEPALIVE = 0x0002, DPNSESSION_MIGRATE_HOST = 0x0004, // DPNSESSION_SERVER_ROUTING = 0x0010, // DPNSESSION_SECURE_ROUTING = 0x0020, DPNSESSION_NODPNSVR = 0x0040, DPNSESSION_REQUIREPASSWORD = 0x0080 } CONST_DPNSESSIONFLAGS; [helpcontext(78394)] typedef enum CONST_DPNCANCELFLAGS { DPNCANCEL_ALL_OPERATIONS = 0x8000, DPNCANCEL_CONNECT = 0x0001, DPNCANCEL_ENUM = 0x0002, DPNCANCEL_SEND = 0x0004 } CONST_DPNCANCELFLAGS; #define DPN_MSGID_OFFSET 0xFFFF0000 [helpcontext(78400)] typedef enum CONST_DPNMESSAGEID { DPN_MSGID_ADD_PLAYER_TO_GROUP = ( DPN_MSGID_OFFSET | 0x0001 ), DPN_MSGID_APPLICATION_DESC = ( DPN_MSGID_OFFSET | 0x0002 ), DPN_MSGID_ASYNC_OP_COMPLETE = ( DPN_MSGID_OFFSET | 0x0003 ), DPN_MSGID_CLIENT_INFO = ( DPN_MSGID_OFFSET | 0x0004 ), DPN_MSGID_CONNECT_COMPLETE = ( DPN_MSGID_OFFSET | 0x0005 ), DPN_MSGID_CREATE_GROUP = ( DPN_MSGID_OFFSET | 0x0006 ), DPN_MSGID_CREATE_PLAYER = ( DPN_MSGID_OFFSET | 0x0007 ), DPN_MSGID_DESTROY_GROUP = ( DPN_MSGID_OFFSET | 0x0008 ), DPN_MSGID_DESTROY_PLAYER = ( DPN_MSGID_OFFSET | 0x0009 ), DPN_MSGID_ENUM_HOSTS_QUERY = ( DPN_MSGID_OFFSET | 0x000a ), DPN_MSGID_ENUM_HOSTS_RESPONSE = ( DPN_MSGID_OFFSET | 0x000b ), DPN_MSGID_GROUP_INFO = ( DPN_MSGID_OFFSET | 0x000c ), DPN_MSGID_HOST_MIGRATE = ( DPN_MSGID_OFFSET | 0x000d ), DPN_MSGID_INDICATE_CONNECT = ( DPN_MSGID_OFFSET | 0x000e ), DPN_MSGID_INDICATED_CONNECT_ABORTED = ( DPN_MSGID_OFFSET | 0x000f ), DPN_MSGID_PEER_INFO = ( DPN_MSGID_OFFSET | 0x0010 ), DPN_MSGID_RECEIVE = ( DPN_MSGID_OFFSET | 0x0011 ), DPN_MSGID_REMOVE_PLAYER_FROM_GROUP = ( DPN_MSGID_OFFSET | 0x0012 ), DPN_MSGID_RETURN_BUFFER = ( DPN_MSGID_OFFSET | 0x0013 ), DPN_MSGID_SEND_COMPLETE = ( DPN_MSGID_OFFSET | 0x0014 ), DPN_MSGID_SERVER_INFO = ( DPN_MSGID_OFFSET | 0x0015 ), DPN_MSGID_TERMINATE_SESSION = ( DPN_MSGID_OFFSET | 0x0016 ) } CONST_DPNMESSAGEID; // // DirectPlayVoice Enums // [helpcontext(78422)] typedef enum CONST_DVSOUNDEFFECT { DVSOUNDCONFIG_NORMALMODE = 0x00000001, DVSOUNDCONFIG_AUTOSELECT = 0x00000002, DVSOUNDCONFIG_HALFDUPLEX = 0x00000004, DVSOUNDCONFIG_SETCONVERSIONQUALITY = 0x00000008, DVSOUNDCONFIG_NORECVOLAVAILABLE = 0x00000010, DVSOUNDCONFIG_NOFOCUS = 0x20000000, DVSOUNDCONFIG_STRICTFOCUS = 0x40000000 } CONST_DVSOUNDEFFECT; [helpcontext(78412)] typedef enum CONST_DVCLIENTCONFIGENUM { DVCLIENTCONFIG_RECORDMUTE = 0x00000001, DVCLIENTCONFIG_PLAYBACKMUTE = 0x00000002, DVCLIENTCONFIG_MANUALVOICEACTIVATED = 0x00000004, DVCLIENTCONFIG_AUTORECORDVOLUME = 0x00000008, DVCLIENTCONFIG_MUTEGLOBAL = 0x00000010, DVCLIENTCONFIG_AUTOVOICEACTIVATED = 0x00000020, DVCLIENTCONFIG_ECHOSUPPRESSION = 0x08000000 } CONST_DVCLIENTCONFIGENUM; [helpcontext(78420)] typedef enum CONST_DVSESSION { DVSESSION_NOHOSTMIGRATION = 0x00000001, DVSESSION_SERVERCONTROLTARGET = 0x00000002 } CONST_DVSESSION; [helpcontext(78413)] typedef enum CONST_DVCOMPRESSIONCAPS { DVCOMPRESSIONCAPS_HW = 0x00000001, DVCOMPRESSIONCAPS_VARIABLE = 0x00000002, DVCOMPRESSIONCAPS_NATIVE = 0x00000004, } CONST_DVCOMPRESSIONCAPS; [helpcontext(78417)] typedef enum CONST_DVNOTIFY { DVNOTIFYPERIOD_MINPERIOD = 20 }CONST_DVNOTIFY; [helpcontext(78411)] typedef enum CONST_DVCAPSENUM { DVCAPS_HWMIXING = 0x00000001, } CONST_DVCAPSENUM; [helpcontext(78415)] typedef enum CONST_DVFLAGS { DVFLAGS_SYNC = 0x00000001, DVFLAGS_QUERYONLY = 0x00000002, DVFLAGS_NOHOSTMIGRATE = 0x00000008, DVFLAGS_ALLOWBACK = 0x00000010 } CONST_DVFLAGS; [helpcontext(78419)] typedef enum CONST_DVTHRESHOLD { DVTHRESHOLD_MIN = 0x00000000, DVTHRESHOLD_MAX = 0x00000063, // 99 decimal DVTHRESHOLD_DEFAULT = 0xFFFFFFFF, DVTHRESHOLD_UNUSED = 0xFFFFFFFE } CONST_DVTHRESHOLD; [helpcontext(78410)] typedef enum CONST_DVBUFFERQUALITY { DVBUFFERQUALITY_MIN = 0x00000001, DVBUFFERQUALITY_MAX = 0x00000064, DVBUFFERQUALITY_DEFAULT = 0x00000000, } CONST_DVBUFFERQUALITY; [helpcontext(78409)] typedef enum CONST_DVBUFFERAGGRESSIVENESS { DVBUFFERAGGRESSIVENESS_MIN = 0x00000001, DVBUFFERAGGRESSIVENESS_MAX = 0x00000064, DVBUFFERAGGRESSIVENESS_DEFAULT = 0x00000000, } CONST_DVBUFFERAGGRESSIVENESS; [helpcontext(78421)] typedef enum CONST_DVSESSIONTYPE { DVSESSIONTYPE_PEER = 0x00000001, DVSESSIONTYPE_MIXING = 0x00000002, DVSESSIONTYPE_FORWARDING = 0x00000003, DVSESSIONTYPE_ECHO = 0x00000004 } CONST_DVSESSIONTYPE; [helpcontext(78418)] typedef enum CONST_DVPLAYBACKVOLUME { DVPLAYBACKVOLUME_DEFAULT = 0, } CONST_DVPLAYBACKVOLUME; [helpcontext(78416)] typedef enum CONST_DVMESSAGE { DVMSGID_BASE = 0x0000, DVMSGID_CREATEVOICEPLAYER = (DVMSGID_BASE+0x0001), DVMSGID_DELETEVOICEPLAYER = (DVMSGID_BASE+0x0002), DVMSGID_SESSIONLOST = (DVMSGID_BASE+0x0003), DVMSGID_PLAYERVOICESTART = (DVMSGID_BASE+0x0004), DVMSGID_PLAYERVOICESTOP = (DVMSGID_BASE+0x0005), DVMSGID_RECORDSTART = (DVMSGID_BASE+0x0006), DVMSGID_RECORDSTOP = (DVMSGID_BASE+0x0007), DVMSGID_CONNECTRESULT = (DVMSGID_BASE+0x0008), DVMSGID_DISCONNECTRESULT = (DVMSGID_BASE+0x0009), DVMSGID_INPUTLEVEL = (DVMSGID_BASE+0x000A), DVMSGID_OUTPUTLEVEL = (DVMSGID_BASE+0x000B), DVMSGID_HOSTMIGRATED = (DVMSGID_BASE+0x000C), DVMSGID_SETTARGETS = (DVMSGID_BASE+0x000D), DVMSGID_PLAYEROUTPUTLEVEL = (DVMSGID_BASE+0x000E), DVMSGID_LOSTFOCUS = (DVMSGID_BASE+0x0010), DVMSGID_GAINFOCUS = (DVMSGID_BASE+0x0011), DVMSGID_LOCALHOSTSETUP = (DVMSGID_BASE+0x0012), DVMSGID_MINBASE = (DVMSGID_CREATEVOICEPLAYER), DVMSGID_MAXBASE = (DVMSGID_LOCALHOSTSETUP), /* * DPLAY Voice Reserved names */ DVID_SYS = 0, DVID_SERVERPLAYER = 1, DVID_ALLPLAYERS = 0, DVID_NOTARGET = 0xFFFFFFFF, DVID_REMAINING = DVID_NOTARGET, } CONST_DVMESSAGE; [helpcontext(78414)] typedef enum CONST_DVERR { DV_OK = 0, DV_FULLDUPLEX = 1376261, DV_HALFDUPLEX = 1376266, DV_EXIT = 1376271, DVERR_BUFFERTOOSMALL = 0x8015001E, DVERR_EXCEPTION = 0x8015005a, DVERR_GENERIC = -2147467259, DVERR_INVALIDFLAGS = 0x80150078, DVERR_INVALIDOBJECT = 0x80150082, DVERR_INVALIDPARAM = -2147024809, DVERR_INVALIDPLAYER = 0x80150087, DVERR_INVALIDENDPOINT = 0x8015008c, DVERR_INVALIDGROUP = 0x80150091, DVERR_INVALIDHANDLE = 0x80150096, DVERR_OUTOFMEMORY = -2147024882, DVERR_PENDING = -2147483638, DVERR_NOTSUPPORTED = -2147467263, DVERR_NOINTERFACE = -2147467262, DVERR_SESSIONLOST = 0x8015012C, DVERR_NOVOICESESSION = 0x8015012E, DVERR_CONNECTIONLOST = 0x80150168, DVERR_NOTINITIALIZED = 0x80150169, DVERR_CONNECTED = 0x8015016A, DVERR_NOTCONNECTED = 0x8015016B, DVERR_FORWARDNOTSUPPORTED = 0x8015016C, DVERR_COMMANDPENDING = 0x8015016D, DVERR_CONNECTABORTING = 0x8015016E, DVERR_NOTALLOWED = 0x8015016F, DVERR_INVALIDTARGET = 0x80150170, DVERR_NOTTRANSPORTHOST = 0x80150171, DVERR_COMPRESSIONNOTSUPPORTED = 0x80150172, DVERR_COMMANDALREADYPENDING = 0x80150173, DVERR_SOUNDINITFAILURE = 0x80150174, DVERR_TIMEOUT = 0x80150175, DVERR_CONNECTABORTED = 0x80150176, DVERR_NO3DSOUND = 0x80150177, DVERR_ALREADYBUFFERED = 0x80150178, DVERR_NOTBUFFERED = 0x80150179, DVERR_HOSTING = 0x8015017A, DVERR_NOTHOSTING = 0x8015017B, DVERR_INVALIDDEVICE = 0x8015017C, DVERR_RECORDSYSTEMERROR = 0x8015017D, DVERR_PLAYBACKSYSTEMERROR = 0x8015017E, DVERR_SENDERROR = 0x8015017F, DVERR_USERCANCEL = 0x80150180, DVERR_UNKNOWN = 0x80150181, DVERR_DIALOGBOX = 0x80150182, DVERR_RUN_SETUP = 0x80150183, DVERR_INCOMPATIBLEVERSION = 0x80150184, DVERR_PREVIOUSCRASH = 0x80150185, DVERR_CHILDPROCESSFAILED = 0x80150186, DVERR_WIN32 = 0x80150186, DVERR_INITIALIZED = 0x80150187, DVERR_NOTRANSPORT = 0x80150188, DVERR_NOCALLBACK = 0x80150189, DVERR_TRANSPORTNOTINIT = 0x8015018A, DVERR_TRANSPORTNOSESSION = 0x8015018B, DVERR_TRANSPORTNOPLAYER = 0x8015018C, DVERR_USERBACK = 0x8015018D, DVERR_NORECVOLAVAILABLE = 0x8015018E, DVERR_INVALIDBUFFER = 0x8015018F, DVERR_LOCKEDBUFFER = 0x80150190, } CONST_DVERR; #endif /////////////////////////////////////////////////////////////////////////// // // DirectPlay and DirectPlayLobby and DirectPlayVoice Structures // /////////////////////////////////////////////////////////////////////////// // // DirectPlay8Lobby Structures // [helpcontext(78361)] typedef struct DPN_APPLICATION_DESC_CDESC { [hidden] LONG lSize; CONST_DPNSESSIONFLAGS lFlags; BSTR guidInstance; BSTR guidApplication; LONG lMaxPlayers; LONG lCurrentPlayers; BSTR SessionName; BSTR Password; // These may or may not be included [hidden] LONG dwReservedDataSize; [hidden] LONG dwApplicationReservedDataSize; } DPN_APPLICATION_DESC_CDESC; [helpcontext(78360)] typedef struct DPL_PROGRAM_DESC_CDESC { [hidden]LONG lSize; LONG lFlags; BSTR guidApplication; // Application GUID BSTR ApplicationName; // Unicode application name BSTR CommandLine; // Unicode command line arguments BSTR CurrentDirectory; // Unicode current directory BSTR Description; // Unicode application description BSTR ExecutableFilename; // Unicode filename of application executable BSTR ExecutablePath; // Unicode path of application executable BSTR LauncherFilename; // Unicode filename of launcher executable BSTR LauncherPath; // Unicode path of launcher executable } DPL_PROGRAM_DESC_CDESC; // // DirectPlay8 Structures // // // Other structures // [helpcontext(78367)] typedef struct DPN_SP_CAPS_CDESC { [hidden] LONG lSize; LONG lFlags; LONG lNumThreads; LONG lDefaultEnumCount; LONG lDefaultEnumRetryInterval; LONG lDefaultEnumTimeout; LONG lMaxEnumPayloadSize; LONG lBuffersPerThread; // number of receive buffers per thread // ADDED LONG lSystemBufferSize; // ammount of buffering to do in addition to posted receive buffers // ADDED } DPN_SP_CAPS_CDESC; [helpcontext(78363)] typedef struct DPN_CONNECTION_INFO_CDESC { LONG lSize; LONG lRoundTripLatencyMS; LONG lThroughputBPS; LONG lPeakThroughputBPS; LONG lBytesSentGuaranteed; LONG lPacketsSentGuaranteed; LONG lBytesSentNonGuaranteed; LONG lPacketsSentNonGuaranteed; LONG lBytesRetried; // Guaranteed only LONG lPacketsRetried; // Guaranteed only LONG lBytesDropped; // Non guaranteed only LONG lPacketsDropped; // Non guaranteed only LONG lMessagesTransmittedHighPriority; LONG lMessagesTimedOutHighPriority; LONG lMessagesTransmittedNormalPriority; LONG lMessagesTimedOutNormalPriority; LONG lMessagesTransmittedLowPriority; LONG lMessagesTimedOutLowPriority; LONG lBytesReceivedGuaranteed; LONG lPacketsReceivedGuaranteed; LONG lBytesReceivedNonGuaranteed; LONG lPacketsReceivedNonGuaranteed; LONG lMessagesReceived; } DPN_CONNECTION_INFO_CDESC; [helpcontext(78366)] typedef struct DPN_SERVICE_PROVIDER_INFO_CDESC { LONG lFlags; BSTR Guid; // SP Guid BSTR Name; // Friendly Name } DPN_SERVICE_PROVIDER_INFO_CDESC; [helpcontext(78364)] typedef struct DPN_GROUP_INFO_CDESC { [hidden] LONG lSize; CONST_DPNINFO lInfoFlags; BSTR Name; // [hidden] void *pvData; [hidden] LONG lDataSize; CONST_DPNGROUPINFOFLAGS lGroupFlags; } DPN_GROUP_INFO_CDESC; [helpcontext(78365)] typedef struct DPN_PLAYER_INFO_CDESC { [hidden] LONG lSize; CONST_DPNINFO lInfoFlags; BSTR Name; // [hidden] void *pvData; [hidden] LONG lDataSize; CONST_DPNPLAYINFOFLAGS lPlayerFlags; } DPN_PLAYER_INFO_CDESC; [helpcontext(78024)] typedef struct DPNCAPS_CDESC { [hidden] LONG lSize; LONG lFlags; LONG lConnectTimeout; LONG lConnectRetries; LONG lTimeoutUntilKeepAlive; } DPNCAPS_CDESC; // // DirectPlay8 MSG structures // [helpcontext(79375)] typedef struct DPNMSG_TERMINATE_SESSION_CDESC { [hidden] LONG lSize; // Size of this structure LONG hResultCode; // Reason SAFEARRAY(BYTE) TerminateData; // Data passed from Host/Server } DPNMSG_TERMINATE_SESSION_CDESC; [helpcontext(78375)] typedef struct DPNMSG_INDICATE_CONNECT_CDESC { [hidden] LONG lSize; SAFEARRAY(BYTE) UserData; [hidden] LONG dwReplyDataSize; BSTR AddressPlayerUrl; BSTR AddressDeviceUrl; } DPNMSG_INDICATE_CONNECT_CDESC; [helpcontext(78371)] typedef struct DPNMSG_CONNECT_COMPLETE_CDESC { [hidden] LONG lSize; LONG AsyncOpHandle; LONG hResultCode; SAFEARRAY(BYTE) ReplyData; } DPNMSG_CONNECT_COMPLETE_CDESC; [helpcontext(78378)] typedef struct DPNMSG_SEND_COMPLETE_CDESC { [hidden] LONG lSize; LONG AsyncOpHandle; LONG hResultCode; LONG lSendTime; } DPNMSG_SEND_COMPLETE_CDESC; [helpcontext(78377)] typedef struct DPNMSG_RECEIVE_CDESC { [hidden] LONG lSize; LONG idSender; SAFEARRAY(BYTE) ReceivedData; LONG lDataSize; [hidden] LONG BufferHandle; } DPNMSG_RECEIVE_CDESC; [helpcontext(78370)] typedef struct DPNMSG_ASYNC_OP_COMPLETE_CDESC { [hidden] LONG lSize; LONG AsyncOpHandle; LONG hResultCode; } DPNMSG_ASYNC_OP_COMPLETE_CDESC; // // DirectPlayVoice Structures // [helpcontext(78386)] typedef struct DVSOUNDDEVICECONFIG_CDESC { [hidden] LONG lSize; CONST_DVSOUNDEFFECT lFlags; BSTR guidPlaybackDevice; BSTR guidCaptureDevice; #ifdef _WIN64 HANDLE hwndAppWindow; #else LONG hwndAppWindow; #endif I_dxj_DirectSoundBuffer *MainSoundBuffer; CONST_DSBPLAYFLAGS lMainBufferFlags; LONG lMainBufferPriority; } DVSOUNDDEVICECONFIG_CDESC; [helpcontext(78261)] typedef struct DVCLIENTCONFIG_CDESC { [hidden] LONG lSize; CONST_DVCLIENTCONFIGENUM lFlags; LONG lRecordVolume; LONG lPlaybackVolume; CONST_DVTHRESHOLD lThreshold; CONST_DVBUFFERQUALITY lBufferQuality; CONST_DVBUFFERAGGRESSIVENESS lBufferAggressiveness; LONG lNotifyPeriod; } DVCLIENTCONFIG_CDESC; [helpcontext(78385)] typedef struct DVSESSIONDESC_CDESC { [hidden] LONG lSize; CONST_DVSESSION lFlags; CONST_DVSESSIONTYPE lSessionType; BSTR guidCT; CONST_DVBUFFERQUALITY lBufferQuality; CONST_DVBUFFERAGGRESSIVENESS lBufferAggressiveness; } DVSESSIONDESC_CDESC; [helpcontext(78382)] typedef struct DVCOMPRESSIONINFO_CDESC { [hidden] LONG lSize; BSTR guidType; BSTR strName; BSTR strDescription; LONG lFlags; LONG lMaxBitsPerSecond; } DVCOMPRESSIONINFO_CDESC; [helpcontext(78260)] typedef struct DVCAPS_CDESC { [hidden] LONG lSize; LONG lFlags; } DVCAPS_CDESC; [helpcontext(78372)] typedef struct DPNMSG_ENUM_HOSTS_QUERY_CDESC { [hidden] LONG lSize; SAFEARRAY(BYTE) ReceivedData; LONG lMaxResponseDataSize; SAFEARRAY(BYTE) ResponseData; BSTR AddressSenderUrl; BSTR AddressDeviceUrl; } DPNMSG_ENUM_HOSTS_QUERY_CDESC; [helpcontext(78373)] typedef struct DPNMSG_ENUM_HOSTS_RESPONSE_CDESC { [hidden] LONG lSize; DPN_APPLICATION_DESC_CDESC ApplicationDescription; SAFEARRAY(BYTE) ResponseData; LONG lRoundTripLatencyMS; BSTR AddressSenderUrl; BSTR AddressDeviceUrl; } DPNMSG_ENUM_HOSTS_RESPONSE_CDESC; [helpcontext(78356)] typedef struct DPL_APPLICATION_INFO_CDESC { BSTR guidApplication; BSTR ApplicationName; LONG lNumRunning; LONG lNumWaiting; CONST_DPLSESSION lFlags; } DPL_APPLICATION_INFO_CDESC; [helpcontext(79398)] typedef struct DPL_CONNECTION_SETTINGS_CDESC { [hidden] LONG lSize; CONST_DPLCONNECTSETTINGS lFlags; DPN_APPLICATION_DESC_CDESC ApplicationDescription; BSTR PlayerName; BSTR AddressSenderUrl; BSTR AddressDeviceUrl; } DPL_CONNECTION_SETTINGS_CDESC; [helpcontext(78357)] typedef struct DPL_CONNECT_INFO_CDESC { [hidden]LONG lSize; CONST_DPLCONNECT lFlags; BSTR guidApplication; DPL_CONNECTION_SETTINGS_CDESC ConnectionSettings; } DPL_CONNECT_INFO_CDESC; [helpcontext(78359)] typedef struct DPL_MESSAGE_RECEIVE_CDESC { [hidden] LONG lSize; LONG Sender; SAFEARRAY(BYTE) Buffer; LONG lBufferSize; } DPL_MESSAGE_RECEIVE_CDESC; [helpcontext(58358)] typedef struct DPL_MESSAGE_CONNECTION_SETTINGS_CDESC { [hidden] LONG lSize; LONG hSender; // Handle of the connection for these settings DPL_CONNECTION_SETTINGS_CDESC dplConnectionSettings; // Connection settings } DPL_MESSAGE_CONNECTION_SETTINGS_CDESC; [helpcontext(78358)] typedef struct DPL_MESSAGE_CONNECT_CDESC { [hidden] LONG lSize; LONG ConnectId; SAFEARRAY(BYTE) LobbyConnectData; DPL_CONNECTION_SETTINGS_CDESC dplMsgCon; } DPL_MESSAGE_CONNECT_CDESC; /////////////////////////////////////////////////////////////////////////// // // DirectPlay DirectPlayAddress DirectPlayLobby DirectPlayVoice Interfaces // /////////////////////////////////////////////////////////////////////////// [ object, uuid(ECA8BD2A-7154-4b23-904B-61FF852A906B), helpstring("DirectPlayAddress Interface"), pointer_default(unique), helpcontext(78026) ] interface I_dxj_DirectPlayAddress : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78175)] HRESULT BuildFromURL([in] BSTR SourceURL); [helpcontext(78177)] HRESULT Duplicate([out,retval] I_dxj_DirectPlayAddress **NewAddress); [helpcontext(78176)] HRESULT Clear(); [helpcontext(78183)] HRESULT GetURL([out,retval] BSTR *URL); [helpcontext(78182)] HRESULT GetSP([out,retval] BSTR *guidSP); [helpcontext(78184)] HRESULT GetUserData([in,out] void *UserData, [out,retval] LONG *lBufferSize); [helpcontext(78187)] HRESULT SetSP([in] BSTR guidSP); [helpcontext(78188)] HRESULT SetUserData([in] void *UserData, [in] LONG lDataSize); [helpcontext(78181)] HRESULT GetNumComponents([out,retval] LONG *lNumComponents); [helpcontext(78180)] HRESULT GetDevice([out,retval] BSTR *guidDevice); [helpcontext(78185)] HRESULT SetDevice([in] BSTR guidDevice); [helpcontext(78186)] HRESULT SetEqual([in] I_dxj_DirectPlayAddress *Address); [helpcontext(78173)] HRESULT AddComponentLong([in] BSTR sComponent, [in] LONG lValue); [helpcontext(78174)] HRESULT AddComponentString([in] BSTR sComponent, [in] BSTR sValue); [helpcontext(78178)] HRESULT GetComponentLong([in] BSTR sComponent, [out,retval] LONG *lValue); [helpcontext(78179)] HRESULT GetComponentString([in] BSTR sComponent, [out,retval] BSTR *sValue); }; [ object, uuid(7C34602A-7B81-4c6d-9533-658F2D471EFC), helpstring("DirectPlay Peer Interface"), pointer_default(unique), helpcontext(78027) ] interface I_dxj_DirectPlayPeer : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78278)] HRESULT SendTo([in] LONG idSend ,[in] SAFEARRAY(BYTE) *BufferData, [in] LONG lTimeOut,[in,optional] CONST_DPNSENDFLAGS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78254)] HRESULT CreateGroup([in,out] DPN_GROUP_INFO_CDESC *GroupInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78250)] HRESULT AddPlayerToGroup([in] LONG idGroup, [in] LONG idClient,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78270)] HRESULT GetSendQueueInfo([in] LONG idPlayer, [in,out] LONG *lNumMsgs, [in,out] LONG *lNumBytes, [in,optional] CONST_DPNGETSENDQUEUEINFO lFlags); [helpcontext(78281)] HRESULT SetGroupInfo([in] LONG idGroup, [in,out] DPN_GROUP_INFO_CDESC *PlayerInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78266)] HRESULT GetGroupInfo([in] LONG idGroup,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] DPN_GROUP_INFO_CDESC *layerInfo); [helpcontext(78282)] HRESULT SetPeerInfo([in] DPN_PLAYER_INFO_CDESC *PlayerInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78269)] HRESULT GetPeerInfo([in] LONG idPeer,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] DPN_PLAYER_INFO_CDESC *layerInfo); [helpcontext(78256)] HRESULT DestroyGroup([in] LONG idGroup,[in,optional] CONST_DPNOPERATIONS lFlags,[out,retval] LONG *hAsyncHandle); [helpcontext(78277)] HRESULT RemovePlayerFromGroup([in] LONG idGroup, [in] LONG idClient,[in,optional] CONST_DPNOPERATIONS lFlags,[out,retval] LONG *hAsyncHandle); [helpcontext(78588)] HRESULT DestroyPeer([in] LONG idClient, [in] LONG lFlags, [in] void *UserData, [in] LONG UserDataSize); [helpcontext(78253)] HRESULT Connect([in] DPN_APPLICATION_DESC_CDESC *AppDesc,[in] I_dxj_DirectPlayAddress *Address,[in] I_dxj_DirectPlayAddress *DeviceInfo, [in] CONST_DPNOPERATIONS lFlags, [in] void *UserData, [in] LONG UserDataSize ,[out,retval] LONG *hAsyncHandle); [helpcontext(78276)] HRESULT RegisterMessageHandler([in] I_dxj_DirectPlayEvent *event); [helpcontext(78257)] HRESULT EnumHosts([in] DPN_APPLICATION_DESC_CDESC *ApplicationDesc,[in] I_dxj_DirectPlayAddress *AddrHost,[in] I_dxj_DirectPlayAddress *DeviceInfo,[in] LONG lEnumCount, [in] LONG lRetryInterval, [in] LONG lTimeOut,[in] CONST_DPNOPERATIONS lFlags, [in] void *UserData, [in] LONG UserDataSize ,[out,retval] LONG *lAsync); [helpcontext(78264)] HRESULT GetCountServiceProviders([in,optional] LONG lFlags, [out,retval] LONG *ret); [helpcontext(78271)] HRESULT GetServiceProvider([in] LONG lIndex, [out,retval] DPN_SERVICE_PROVIDER_INFO_CDESC *ret); // Enum for Clients/Groups [helpcontext(78195)] HRESULT GetCountPlayersAndGroups([in,optional] CONST_DPNENUMCLIENTGROUPFLAGS lFlags, [out,retval] LONG *ret); [helpcontext(78560)] HRESULT GetPlayerOrGroup([in] LONG lIndex, [out,retval] LONG *ret); // Enum Players in groups [helpcontext(78263)] HRESULT GetCountGroupMembers([in] LONG dpid,[in,optional] LONG lFlags, [out,retval] LONG *ret); [helpcontext(78267)] HRESULT GetGroupMember([in] LONG lIndex,[in] LONG dpid, [out,retval] LONG *ret); [helpcontext(78212), hidden] HRESULT ReturnBuffer([in] LONG lBufferHandle); [helpcontext(78274)] HRESULT Host([in] DPN_APPLICATION_DESC_CDESC *AppDesc,[in] I_dxj_DirectPlayAddress *Addres, [in,optional] LONG lFlags); [helpcontext(78251)] HRESULT CancelAsyncOperation([in] LONG lAsyncHandle, [in,optional] CONST_DPNCANCELFLAGS lFlags); [helpcontext(78258)] HRESULT GetApplicationDesc([in,optional] LONG lFlags, [out,retval] DPN_APPLICATION_DESC_CDESC *ret); [helpcontext(78279)] HRESULT SetApplicationDesc([in,out] DPN_APPLICATION_DESC_CDESC *AppDesc, [in,optional] LONG lFlags); [helpcontext(78252)] HRESULT Close([in,optional] LONG lFlags); [helpcontext(78259)] HRESULT GetCaps([in,optional] LONG lFlags, [out,retval] DPNCAPS_CDESC *ret); [helpcontext(78280)] HRESULT SetCaps([in,out] DPNCAPS_CDESC *Caps, [in,optional] LONG lFlags); [helpcontext(78275)] HRESULT RegisterLobby([in] LONG dpnHandle, [in] I_dxj_DirectPlayLobbiedApplication *LobbyApp, [in,optional] LONG lFlags); [helpcontext(78561)] HRESULT GetConnectionInfo([in] LONG idPlayer, [in,optional] LONG lFlags, [out,retval] DPN_CONNECTION_INFO_CDESC *pdpConnectionInfo); [helpcontext(78268)] HRESULT GetPeerAddress([in] LONG idPlayer,[in,optional] LONG lFlags, [out,retval] I_dxj_DirectPlayAddress **pAddress); [helpcontext(78201)] HRESULT GetLocalHostAddress([in,optional] LONG lFlags, [out,retval] I_dxj_DirectPlayAddress **pAddress); [helpcontext(78283)] HRESULT SetSPCaps([in] BSTR guidSP, [in] DPN_SP_CAPS_CDESC *spCaps, [in,optional] LONG lFlags); [helpcontext(78272)] HRESULT GetSPCaps([in] BSTR guidSP, [in,optional] LONG lFlags, [out,retval] DPN_SP_CAPS_CDESC *spCaps); [helpcontext(78285)] HRESULT TerminateSession([in] LONG lFlags, [in] void *UserData, [in] LONG UserDataSize); [helpcontext(78028)] HRESULT UnRegisterMessageHandler(); }; [ object, uuid(7584BBA4-1B39-4dcd-A334-D168CBB5A915), helpstring("DirectPlay Server Interface"), pointer_default(unique), helpcontext(78029) ] interface I_dxj_DirectPlayServer : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78310)] HRESULT RegisterMessageHandler([in] I_dxj_DirectPlayEvent *event); // Enum for Clients/Groups [helpcontext(78234)] HRESULT GetCountPlayersAndGroups([in,optional] CONST_DPNENUMCLIENTGROUPFLAGS lFlags, [out,retval] LONG *ret); [helpcontext(78232)] HRESULT GetPlayerOrGroup([in] LONG lIndex, [out,retval] LONG *ret); // Enum Players in groups [helpcontext(78300)] HRESULT GetCountGroupMembers([in] LONG dpid,[in,optional] LONG lFlags, [out,retval] LONG *ret); [helpcontext(78303)] HRESULT GetGroupMember([in] LONG lIndex,[in] LONG dpid, [out,retval] LONG *ret); [helpcontext(78301)] HRESULT GetCountServiceProviders([in,optional] LONG lFlags, [out,retval] LONG *ret); [helpcontext(78305)] HRESULT GetServiceProvider([in] LONG lIndex, [out,retval] DPN_SERVICE_PROVIDER_INFO_CDESC *ret); [helpcontext(78288)] HRESULT CancelAsyncOperation([in] LONG lAsyncHandle, [in,optional] CONST_DPNCANCELFLAGS lFlags); [helpcontext(78312)] HRESULT SendTo([in] LONG idSend ,[in] SAFEARRAY(BYTE) *BufferData, [in] LONG lTimeOut,[in,optional] CONST_DPNSENDFLAGS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78290)] HRESULT CreateGroup([in] DPN_GROUP_INFO_CDESC *GroupInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78222)] HRESULT AddPlayerToGroup([in] LONG idGroup, [in] LONG idClient,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78304)] HRESULT GetSendQueueInfo([in] LONG idPlayer, [in,out] LONG *lNumMsgs, [in,out] LONG *lNumBytes, [in,optional] CONST_DPNGETSENDQUEUEINFO lFlags); [helpcontext(78315)] HRESULT SetGroupInfo([in] LONG idGroup, [in] DPN_GROUP_INFO_CDESC *PlayerInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78302)] HRESULT GetGroupInfo([in] LONG idGroup,[in,optional] LONG lFlags, [out,retval] DPN_GROUP_INFO_CDESC *layerInfo); [helpcontext(78316)] HRESULT SetServerInfo([in] DPN_PLAYER_INFO_CDESC *PlayerInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78296)] HRESULT GetClientInfo([in] LONG idPeer,[in,optional] LONG lFlags, [out,retval] DPN_PLAYER_INFO_CDESC *layerInfo); [helpcontext(78293)] HRESULT GetApplicationDesc([in,optional] LONG lFlags, [out,retval] DPN_APPLICATION_DESC_CDESC *ret); [helpcontext(78313)] HRESULT SetApplicationDesc([in,out] DPN_APPLICATION_DESC_CDESC *AppDesc, [in,optional] LONG lFlags); [helpcontext(78308)] HRESULT Host([in] DPN_APPLICATION_DESC_CDESC *AppDesc,[in] I_dxj_DirectPlayAddress *Address, [in,optional] LONG lFlags); [helpcontext(78289)] HRESULT Close([in,optional] LONG lFlags); [helpcontext(78294)] HRESULT GetCaps([in,optional] LONG lFlags, [out,retval] DPNCAPS_CDESC *ret); [helpcontext(78314)] HRESULT SetCaps([in,out] DPNCAPS_CDESC *Caps, [in,optional] LONG lFlags); [helpcontext(78247)] HRESULT RemovePlayerFromGroup([in] LONG idGroup, [in] LONG idClient,[in,optional] CONST_DPNOPERATIONS lFlags,[out,retval] LONG *hAsyncHandle); [helpcontext(78248), hidden] HRESULT ReturnBuffer([in] LONG lBufferHandle); [helpcontext(78291)] HRESULT DestroyClient([in] LONG idClient, [in] LONG lFlags, [in] void *UserData, [in] LONG UserDataSize); [helpcontext(78292)] HRESULT DestroyGroup([in] LONG idGroup,[in,optional] CONST_DPNOPERATIONS lFlags,[out,retval] LONG *hAsyncHandle); [helpcontext(78309)] HRESULT RegisterLobby([in] LONG dpnHandle, [in] I_dxj_DirectPlayLobbiedApplication *LobbyApp, [in,optional] LONG lFlags); [helpcontext(78298)] HRESULT GetConnectionInfo([in] LONG idPlayer, [in,optional] LONG lFlags, [out,retval] DPN_CONNECTION_INFO_CDESC *pdpConnectionInfo); [helpcontext(78995)] HRESULT GetClientAddress([in] LONG idPlayer,[in,optional] LONG lFlags, [out,retval] I_dxj_DirectPlayAddress **pAddress); [helpcontext(78239)] HRESULT GetLocalHostAddress([in,optional] LONG lFlags, [out,retval] I_dxj_DirectPlayAddress **pAddress); [helpcontext(78317)] HRESULT SetSPCaps([in] BSTR guidSP, [in] DPN_SP_CAPS_CDESC *spCaps, [in,optional] LONG lFlags); [helpcontext(78306)] HRESULT GetSPCaps([in] BSTR guidSP, [in,optional] LONG lFlags, [out,retval] DPN_SP_CAPS_CDESC *spCaps); [helpcontext(78030)] HRESULT UnRegisterMessageHandler(); }; [ object, uuid(3F6521E5-94BC-4a7a-A049-3D199EB59E72), helpstring("DirectPlay Client Interface"), pointer_default(unique), helpcontext(78031) ] interface I_dxj_DirectPlayClient : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78206)] HRESULT RegisterMessageHandler([in] I_dxj_DirectPlayEvent *event); [helpcontext(78193)] HRESULT EnumHosts([in] DPN_APPLICATION_DESC_CDESC *ApplicationDesc,[in] I_dxj_DirectPlayAddress *AddrHost,[in] I_dxj_DirectPlayAddress *DeviceInfo,[in] LONG lRetryCount, [in] LONG lRetryInterval, [in] LONG lTimeOut,[in] CONST_DPNOPERATIONS lFlags, [in] void *UserData, [in] LONG UserDataSize ,[out,retval] LONG *lAsync); [helpcontext(78197)] HRESULT GetCountServiceProviders([in,optional] LONG lFlags, [out,retval] LONG *ret); [helpcontext(78202)] HRESULT GetServiceProvider([in] LONG lIndex, [out,retval] DPN_SERVICE_PROVIDER_INFO_CDESC *ret); [helpcontext(78190)] HRESULT CancelAsyncOperation([in] LONG lAsyncHandle, [in,optional] CONST_DPNCANCELFLAGS lFlags); [helpcontext(78192)] HRESULT Connect([in] DPN_APPLICATION_DESC_CDESC *AppDesc,[in] I_dxj_DirectPlayAddress *Address,[in] I_dxj_DirectPlayAddress *DeviceInfo, [in] CONST_DPNOPERATIONS lFlags, [in] void *UserData, [in] LONG UserDataSize ,[out,retval] LONG *hAsyncHandle); [helpcontext(78208)] HRESULT Send([in] SAFEARRAY(BYTE) *BufferData, [in] LONG lTimeOut,[in,optional] CONST_DPNSENDFLAGS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78199)] HRESULT GetSendQueueInfo([in,out] LONG *lNumMsgs, [in,out] LONG *lNumBytes, [in,optional] CONST_DPNGETSENDQUEUEINFO lFlags); [helpcontext(78194)] HRESULT GetApplicationDesc([in,optional] LONG lFlags, [out,retval] DPN_APPLICATION_DESC_CDESC *ret); [helpcontext(78210)] HRESULT SetClientInfo([in] DPN_PLAYER_INFO_CDESC *PlayerInfo,[in,optional] CONST_DPNOPERATIONS lFlags, [out,retval] LONG *hAsyncHandle); [helpcontext(78501)] HRESULT GetServerInfo([in,optional] LONG lFlags, [out,retval] DPN_PLAYER_INFO_CDESC *layerInfo); [helpcontext(78191)] HRESULT Close([in,optional] LONG lFlags); [helpcontext(78207), hidden] HRESULT ReturnBuffer([in] LONG lBufferHandle); [helpcontext(78295)] HRESULT GetCaps([in,optional] LONG lFlags, [out,retval] DPNCAPS_CDESC *ret); [helpcontext(78209)] HRESULT SetCaps([in,out] DPNCAPS_CDESC *Caps, [in,optional] LONG lFlags); [helpcontext(78205)] HRESULT RegisterLobby([in] LONG dpnHandle, [in] I_dxj_DirectPlayLobbiedApplication *LobbyApp, [in,optional] LONG lFlags); [helpcontext(78196)] HRESULT GetConnectionInfo([in,optional] LONG lFlags, [out,retval] DPN_CONNECTION_INFO_CDESC *pdpConnectionInfo); [helpcontext(78200)] HRESULT GetServerAddress([in,optional] LONG lFlags, [out,retval] I_dxj_DirectPlayAddress **pAddress); [helpcontext(78211)] HRESULT SetSPCaps([in] BSTR guidSP, [in] DPN_SP_CAPS_CDESC *spCaps, [in,optional] LONG lFlags); [helpcontext(78203)] HRESULT GetSPCaps([in] BSTR guidSP, [in,optional] LONG lFlags, [out,retval] DPN_SP_CAPS_CDESC *spCaps); [helpcontext(78032)] HRESULT UnRegisterMessageHandler(); }; [ object, uuid(14716737-3005-4758-896F-B48D001929A5), helpstring("DirectPlayLobbyClient Interface"), pointer_default(unique), oleautomation, local, helpcontext(78033) ] interface I_dxj_DirectPlayLobbyClient : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78241)] HRESULT RegisterMessageHandler([in] I_dxj_DirectPlayLobbyEvent *lobbyEvent); [helpcontext(78539)] HRESULT GetCountLocalPrograms([in] BSTR GuidApplication,[out,retval] LONG *lCount); [helpcontext(78240)] HRESULT GetLocalProgram([in] LONG lProgID, [out,retval] DPL_APPLICATION_INFO_CDESC *app); [helpcontext(78238)] HRESULT ConnectApplication([in] DPL_CONNECT_INFO_CDESC *ConnectionInfo,[in] LONG lTimeOut,[in] CONST_DPLCONNECT lFlags, [out,retval] LONG *hApplication); [helpcontext(78243)] HRESULT Send([in] LONG Target,[in] SAFEARRAY(BYTE) *Buffer,[in] LONG lBufferSize,[in] LONG lFlags); [helpcontext(78242)] HRESULT ReleaseApplication([in] LONG Application); [helpcontext(78237)] HRESULT Close(); [helpcontext(78034)] HRESULT UnRegisterMessageHandler(); [helpcontext(78035)] HRESULT GetConnectionSettings([in] LONG hLobbyClient, [in] LONG lFlags, [out,retval] DPL_CONNECTION_SETTINGS_CDESC *ConnectionSettings); [helpcontext(78036)] HRESULT SetConnectionSettings([in] LONG hTarget, [in] LONG lFlags, [in,out] DPL_CONNECTION_SETTINGS_CDESC *ConnectionSettings, [in] I_dxj_DirectPlayAddress *HostAddress, [in] I_dxj_DirectPlayAddress *Device); }; [ object, uuid(EF390476-6EA0-4ad3-9EA3-768DCB68038D), helpstring("DirectPlayLobbiedApplication Interface"), pointer_default(unique), oleautomation, local, helpcontext(78037) ] interface I_dxj_DirectPlayLobbiedApplication : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); [helpcontext(78230)] HRESULT RegisterMessageHandler([in] I_dxj_DirectPlayLobbyEvent *lobbyEvent, [out,retval] LONG *lDPNHandle); [helpcontext(78231)] HRESULT RegisterProgram([in] DPL_PROGRAM_DESC_CDESC *ProgramDesc,[in] LONG lFlags); [helpcontext(78534)] HRESULT UnRegisterProgram([in] BSTR guidApplication,[in] LONG lFlags); [helpcontext(78532)] HRESULT Send([in] LONG Target,[in] SAFEARRAY(BYTE) *Buffer,[in] LONG lBufferSize,[in] LONG lFlags); [helpcontext(78233)] HRESULT SetAppAvailable([in] VARIANT_BOOL fAvailable, [in] CONST_DPLAVAILABLE lFlags); [helpcontext(78235)] HRESULT UpdateStatus([in] LONG LobbyClient, [in] CONST_DPLSESSION lStatus); [helpcontext(78229)] HRESULT Close(); [helpcontext(78038)] HRESULT UnRegisterMessageHandler(); [helpcontext(78039)] HRESULT GetConnectionSettings([in] LONG LobbyClient, [in] LONG lFlags, [out,retval] DPL_CONNECTION_SETTINGS_CDESC *ConnectionSettings); [helpcontext(78040)] HRESULT SetConnectionSettings([in] LONG hTarget, [in] LONG lFlags, [in,out] DPL_CONNECTION_SETTINGS_CDESC *ConnectionSettings, [in] I_dxj_DirectPlayAddress *HostAddress, [in] I_dxj_DirectPlayAddress *Device); }; [ object, uuid(F794A01F-2A0D-46a8-9CEF-D5678A413BEF), helpstring("DirectPlayLobby Event Interface"), pointer_default(unique), oleautomation, local, helpcontext(78041) ] interface I_dxj_DirectPlayLobbyEvent : IUnknown { [helpcontext(78847)] HRESULT Receive([in,out] DPL_MESSAGE_RECEIVE_CDESC *dlNotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78245)] HRESULT Connect([in,out] DPL_MESSAGE_CONNECT_CDESC *dlNotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78246)] HRESULT Disconnect([in] LONG DisconnectID, [in] LONG lReason); [helpcontext(78248)] HRESULT SessionStatus([in] LONG Status, [in] LONG lHandle); [helpcontext(78042)] HRESULT ConnectionSettings([in,out] DPL_MESSAGE_CONNECTION_SETTINGS_CDESC *ConnectionSettings); }; [ object, uuid(F9DCCD1D-E6B9-45ed-B3E2-C32414C71FA4), helpstring("DirectPlay Event Interface"), pointer_default(unique), oleautomation, local, helpcontext(78043) ] interface I_dxj_DirectPlayEvent : IUnknown { [helpcontext(78220)] HRESULT AddRemovePlayerGroup([in] LONG lMsgID, [in] LONG lPlayerID, [in] LONG lGroupID, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78214)] HRESULT AppDesc([in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78215)] HRESULT AsyncOpComplete([in,out] DPNMSG_ASYNC_OP_COMPLETE_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78514)] HRESULT CreateGroup([in] LONG lGroupID, [in] LONG lOwnerID, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78213)] HRESULT CreatePlayer([in] LONG lPlayerID, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78216)] HRESULT ConnectComplete([in,out] DPNMSG_CONNECT_COMPLETE_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78515)] HRESULT DestroyGroup([in] LONG lGroupID, [in] LONG lReason, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78513)] HRESULT DestroyPlayer([in] LONG lPlayerID, [in] LONG lReason, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78218)] HRESULT EnumHostsQuery([in,out] DPNMSG_ENUM_HOSTS_QUERY_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78219)] HRESULT EnumHostsResponse([in,out] DPNMSG_ENUM_HOSTS_RESPONSE_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78522)] HRESULT HostMigrate([in] LONG lNewHostID, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78223)] HRESULT IndicateConnect([in,out] DPNMSG_INDICATE_CONNECT_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78529)] HRESULT IndicatedConnectAborted([in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78224)] HRESULT InfoNotify([in] LONG lMsgID, [in] LONG lNotifyID, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78225)] HRESULT Receive([in,out] DPNMSG_RECEIVE_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78226)] HRESULT SendComplete([in,out] DPNMSG_SEND_COMPLETE_CDESC *dpnotify, [in,out] VARIANT_BOOL *fRejectMsg); [helpcontext(78227)] HRESULT TerminateSession([in,out] DPNMSG_TERMINATE_SESSION_CDESC *dpNotify, [in,out] VARIANT_BOOL *fRejectMsg); }; /////////////////////////////////////////////////////////////////////////// // // DplayVoice Interfaces // /////////////////////////////////////////////////////////////////////////// // DirectPlayVoiceEvents [ object, uuid(26AE5141-8010-46ea-861C-F9FC0F8B61D9), helpstring("DirectPlayVoice Event Interface"), pointer_default(unique), oleautomation, local, helpcontext(78044) ] interface I_dxj_DPVoiceEvent : IUnknown { import "oaidl.idl"; [helpcontext(58341)] HRESULT SessionLost([in] LONG ResultCode); [helpcontext(58342)] HRESULT ConnectResult([in] LONG ResultCode); [helpcontext(58343)] HRESULT DisconnectResult([in] LONG ResultCode); [helpcontext(58344)] HRESULT CreateVoicePlayer([in] LONG PlayerID, [in] LONG Flags); [helpcontext(58345)] HRESULT DeleteVoicePlayer([in] LONG PlayerID); [helpcontext(58346)] HRESULT HostMigrated([in] LONG NewHostID, [in,out] I_dxj_DirectPlayVoiceServer *NewServer); [helpcontext(58347)] HRESULT InputLevel([in] LONG PeakLevel, [in] LONG RecordVolume); [helpcontext(58348)] HRESULT OutputLevel([in] LONG PeakLevel, [in] LONG OutputVolume); [helpcontext(58349)] HRESULT PlayerOutputLevel([in] LONG SourcePlayerID, [in] LONG PeakLevel); [helpcontext(58350)] HRESULT PlayerVoiceStart([in] LONG SourcePlayerID); [helpcontext(58351)] HRESULT PlayerVoiceStop([in] LONG SourcePlayerID); [helpcontext(58352)] HRESULT RecordStart([in] LONG PeakVolume); [helpcontext(58353)] HRESULT RecordStop([in] LONG PeakVolume); }; [ object, uuid(9F76FF0F-8E92-11d1-1515-00C04FC2C312), helpstring("IDirectPlayVoiceClient Interface"), pointer_default(unique), local, helpcontext(78045) ] interface I_dxj_DirectPlayVoiceClient : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); // // *** I_dxj_DirectPlayVoiceClient methods *** // [helpcontext(78332)] HRESULT Initialize([in] IUnknown *DplayObj, [in] LONG lFlags); [helpcontext(78320)] HRESULT Connect([in] DVSOUNDDEVICECONFIG_CDESC *SoundDeviceConfig, [in] DVCLIENTCONFIG_CDESC *ClientConfig, [in] LONG lFlags); [helpcontext(78323)] HRESULT Disconnect([in] LONG lFlags); [helpcontext(78328)] HRESULT GetSessionDesc([out,retval] DVSESSIONDESC_CDESC *SessionDesc); [helpcontext(78325)] HRESULT GetClientConfig([out,retval] DVCLIENTCONFIG_CDESC *ClientConfig); [helpcontext(78333)] HRESULT SetClientConfig([in] DVCLIENTCONFIG_CDESC *ClientConfig); [helpcontext(78324)] HRESULT GetCaps([out,retval] DVCAPS_CDESC *Caps); [helpcontext(78327)] HRESULT GetCompressionTypeCount([out,retval] LONG *v1); [helpcontext(78326)] HRESULT GetCompressionType([in] LONG lIndex, [in,out] DVCOMPRESSIONINFO_CDESC *Data,[in] LONG lFlags); [helpcontext(78335)] HRESULT SetTransmitTargets([in] SAFEARRAY(LONG) *playerIDs, [in] LONG lFlags); [helpcontext(78331)] HRESULT GetTransmitTargets([in] LONG lFlags, [out,retval] SAFEARRAY(LONG) *ret); [helpcontext(78334)] HRESULT SetCurrentSoundDevices([in] I_dxj_DirectSound *DirectSoundObj, [in] I_dxj_DirectSoundCapture *DirectCaptureObj); [helpcontext(78330)] HRESULT GetSoundDevices([in,out] I_dxj_DirectSound *DirectSoundObj, [in,out] I_dxj_DirectSoundCapture *DirectCaptureObj); [helpcontext(78321)] HRESULT Create3DSoundBuffer([in] LONG playerID, [in,optional] I_dxj_DirectSoundBuffer *Buffer,[in,optional] LONG lPriority, [in,optional] CONST_DSBPLAYFLAGS lFlags, [out,retval] I_dxj_DirectSound3dBuffer **UserBuffer); [helpcontext(78322)] HRESULT Delete3DSoundBuffer([in] LONG playerID, [in] I_dxj_DirectSound3dBuffer *UserBuffer); [helpcontext(78329)] HRESULT GetSoundDeviceConfig([out,retval] DVSOUNDDEVICECONFIG_CDESC *SoundDeviceConfig); [helpcontext(78336)] HRESULT StartClientNotification([in] I_dxj_DPVoiceEvent *event); [helpcontext(78047)] HRESULT UnRegisterMessageHandler(); }; [ object, uuid(9F76FF0F-8E92-11d1-1515-00C04FC2C313), helpstring("IDirectPlayVoiceServer Interface"), pointer_default(unique), oleautomation, local, helpcontext(78048) ] interface I_dxj_DirectPlayVoiceServer : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); // // *** I_dxj_DirectPlayVoiceServer methods *** // [helpcontext(78348)] HRESULT Initialize([in] IUnknown *DplayObj, [in] LONG lFlags); [helpcontext(78352)] HRESULT StartSession([in] DVSESSIONDESC_CDESC *SessionDesc,[in] LONG lFlags); [helpcontext(78353)] HRESULT StopSession([in] LONG lFlags); [helpcontext(78346)] HRESULT GetSessionDesc([out,retval] DVSESSIONDESC_CDESC *SessionDesc); [helpcontext(78349)] HRESULT SetSessionDesc([in] DVSESSIONDESC_CDESC *ClientConfig); [helpcontext(78343)] HRESULT GetCaps([out,retval] DVCAPS_CDESC *Caps); [helpcontext(78345)] HRESULT GetCompressionTypeCount([out,retval] LONG *v1); [helpcontext(78344)] HRESULT GetCompressionType([in] LONG lIndex, [in,out] DVCOMPRESSIONINFO_CDESC *Data,[in] LONG lFlags); [helpcontext(78350)] HRESULT SetTransmitTargets([in] LONG playerSourceID,[in] SAFEARRAY(LONG) *playerTargetIDs, [in] LONG lFlags); [helpcontext(78347)] HRESULT GetTransmitTargets([in] LONG playerSourceID, [in] LONG lFlags, [out,retval] SAFEARRAY(LONG) *ret); [helpcontext(78351)] HRESULT StartServerNotification([in] I_dxj_DPVoiceEvent *event); [helpcontext(78049)] HRESULT UnRegisterMessageHandler(); }; [ object, uuid(9F76FF0F-8E92-11d1-1515-00C04FC2C314), helpstring("DirectPlayVoiceTest Interface"), pointer_default(unique), oleautomation, local, helpcontext(78050) ] interface I_dxj_DirectPlayVoiceSetup : IUnknown { import "oaidl.idl"; [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd); [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd); // // *** I_dxj_DirectPlayVoiceSetup methods *** // #ifdef _WIN64 [helpcontext(78355)] HRESULT CheckAudioSetup([in] BSTR guidPlaybackDevice , [in] BSTR guidCaptureDevice , [in] HWND hwndOwner, [in] LONG lFlags, [out,retval] LONG *v1); #else [helpcontext(78355)] HRESULT CheckAudioSetup([in] BSTR guidPlaybackDevice , [in] BSTR guidCaptureDevice , [in] LONG hwndOwner, [in] LONG lFlags, [out,retval] LONG *v1); #endif }; // // Direct Play String Constants // [ dllname("dx8vb.dll") ] module DPLAY8STRINGCONSTANTS { // key names for address components const BSTR DPN_KEY_APPLICATION_INSTANCE = L"applicationinstance"; const BSTR DPN_KEY_BAUD = L"baud"; const BSTR DPN_KEY_DEVICE = L"device"; const BSTR DPN_KEY_FLOWCONTROL = L"flowcontrol"; const BSTR DPN_KEY_HOSTNAME = L"hostname"; const BSTR DPN_KEY_PARITY = L"parity"; const BSTR DPN_KEY_PHONENUMBER = L"phonenumber"; const BSTR DPN_KEY_PORT = L"port"; const BSTR DPN_KEY_PROGRAM = L"program"; const BSTR DPN_KEY_PROVIDER = L"provider"; const BSTR DPN_KEY_STOPBITS = L"stopbits"; // values for baud rate const DWORD DPN_BAUD_RATE_9600 = 9600; const DWORD DPN_BAUD_RATE_14400 = 14400; const DWORD DPN_BAUD_RATE_19200 = 19200; const DWORD DPN_BAUD_RATE_38400 = 38400; const DWORD DPN_BAUD_RATE_56000 = 56000; const DWORD DPN_BAUD_RATE_57600 = 57600; const DWORD DPN_BAUD_RATE_115200 = 115200; // values for stop bits const BSTR DPN_STOP_BITS_ONE = L"1"; const BSTR DPN_STOP_BITS_ONE_FIVE = L"1.5"; const BSTR DPN_STOP_BITS_TWO = L"2"; // values for parity const BSTR DPN_PARITY_NONE = L"NONE"; const BSTR DPN_PARITY_EVEN = L"EVEN"; const BSTR DPN_PARITY_ODD = L"ODD"; const BSTR DPN_PARITY_MARK = L"MARK"; const BSTR DPN_PARITY_SPACE = L"SPACE"; // values for flow control const BSTR DPN_FLOW_CONTROL_NONE = L"NONE"; const BSTR DPN_FLOW_CONTROL_XONXOFF = L"XONXOFF"; const BSTR DPN_FLOW_CONTROL_RTS = L"RTS"; const BSTR DPN_FLOW_CONTROL_DTR = L"DTR"; const BSTR DPN_FLOW_CONTROL_RTSDTR = L"RTSDTR"; const BSTR DPN_SEPARATOR_KEYVALUE = L"="; const BSTR DPN_SEPARATOR_USERDATA = L"#"; const BSTR DPN_SEPARATOR_COMPONENT = L";"; const BSTR DPN_ESCAPECHAR = L"%"; // Header const BSTR DPN_HEADER = L"x-directplay:/"; const BSTR DPN_VALUE_TCPIPPROVIDER = L"IP"; const BSTR DPN_VALUE_IPXPROVIDER = L"IPX"; const BSTR DPN_VALUE_MODEMPROVIDER = L"MODEM"; const BSTR DPN_VALUE_SERIALPROVIDER = L"SERIAL"; const BSTR DP8SP_TCPIP = L"CLSID_DP8SP_TCPIP"; const BSTR DP8SP_IPX = L"CLSID_DP8SP_IPX"; const BSTR DP8SP_MODEM = L"CLSID_DP8SP_MODEM"; const BSTR DP8SP_SERIAL = L"CLSID_DP8SP_SERIAL"; const BSTR DSDEVID_DEFAULTPLAYBACK = L"DSDEVID_DEFAULTPLAYBACK"; const BSTR DSDEVID_DEFAULTCAPTURE = L"DSDEVID_DEFAULTCAPTURE"; const BSTR DSDEVID_DEFAULTVOICEPLAYBACK = L"DSDEVID_DEFAULTVOICEPLAYBACK"; const BSTR DSDEVID_DEFAULTVOICECAPTURE = L"DSDEVID_DEFAULTVOICECAPTURE"; }; #define CALLTYPE _stdcall [ dllname("dx8vb.dll") ] module DPLAYBUFFER_HELPER { [entry(120),helpcontext(79152)] HRESULT CALLTYPE NewBuffer([in,out] SAFEARRAY(BYTE) *Buffer, [out,retval] LONG *lOffSet); [entry(121),helpcontext(79153)] HRESULT CALLTYPE AddDataToBuffer([in,out] SAFEARRAY(BYTE) *Buffer, [in] void *lData, [in] DWORD lSize, [in,out] LONG *lOffSet); [entry(122),helpcontext(79154)] HRESULT CALLTYPE AddStringToBuffer([in,out] SAFEARRAY(BYTE) *Buffer, [in] BSTR StringData, [in,out] LONG *lOffSet); [entry(123),helpcontext(79155)] HRESULT CALLTYPE GetDataFromBuffer([in] SAFEARRAY(BYTE) *Buffer, [in] void *lData, [in] DWORD lSize, [in,out] LONG *lOffSet); [entry(124),helpcontext(79156)] HRESULT CALLTYPE GetStringFromBuffer([in] SAFEARRAY(BYTE) *Buffer, [in,out] LONG *lOffSet, [out,retval] BSTR *sData); };