windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx8vb/dpi.idl
2020-09-26 16:20:57 +08:00

1513 lines
60 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// 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);
};