[PATCH 2/2] dx8vb: Add DirectX8 oclass plus IDirectX8 interface and its dependencies
Fabian Maurer
dark.shadow4 at web.de
Sat Oct 14 08:46:17 CDT 2017
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
dlls/dx8vb/dx8vb.idl | 3864 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 3859 insertions(+), 5 deletions(-)
diff --git a/dlls/dx8vb/dx8vb.idl b/dlls/dx8vb/dx8vb.idl
index b5f6bea851..e81ce6e811 100644
--- a/dlls/dx8vb/dx8vb.idl
+++ b/dlls/dx8vb/dx8vb.idl
@@ -327,6 +327,531 @@ typedef enum {
D3DXIFF_FORCE_DWORD = 2147483647
} CONST_D3DXIMAGE_FILEFORMAT;
+typedef enum {
+ DSSPEAKER_HEADPHONE = 1,
+ DSSPEAKER_MONO = 2,
+ DSSPEAKER_QUAD = 3,
+ DSSPEAKER_STEREO = 4,
+ DSSPEAKER_SURROUND = 5,
+ DSSPEAKER_GEOMETRY_MIN = 5,
+ DSSPEAKER_GEOMETRY_NARROW = 10,
+ DSSPEAKER_GEOMETRY_WIDE = 20,
+ DSSPEAKER_GEOMETRY_MAX = 180
+} CONST_DSSPEAKERFLAGS;
+
+typedef enum {
+ DSCBSTART_DEFAULT = 0,
+ DSCBSTART_LOOPING = 1
+} CONST_DSCBSTARTFLAGS;
+
+typedef enum {
+ DSCBSTATUS_CAPTURING = 1,
+ DSCBSTATUS_LOOPING = 2
+} CONST_DSCBSTATUSFLAGS;
+
+typedef enum {
+ DSCBLOCK_DEFAULT = 0,
+ DSCBLOCK_ENTIREBUFFER = 1
+} CONST_DSCBLOCKFLAGS;
+
+typedef enum {
+ DI8DEVCLASS_ALL = 0,
+ DI8DEVCLASS_DEVICE = 1,
+ DI8DEVCLASS_POINTER = 2,
+ DI8DEVCLASS_KEYBOARD = 3,
+ DI8DEVCLASS_GAMECTRL = 4,
+ DI8DEVTYPE_DEVICE = 17,
+ DI8DEVTYPE_MOUSE = 18,
+ DI8DEVTYPE_KEYBOARD = 19,
+ DI8DEVTYPE_JOYSTICK = 20,
+ DI8DEVTYPE_GAMEPAD = 21,
+ DI8DEVTYPE_DRIVING = 22,
+ DI8DEVTYPE_FLIGHT = 23,
+ DI8DEVTYPE_1STPERSON = 24,
+ DI8DEVTYPE_DEVICECTRL = 25,
+ DI8DEVTYPE_SCREENPOINTER = 26,
+ DI8DEVTYPE_REMOTE = 27,
+ DI8DEVTYPE_SUPPLEMENTAL = 28,
+ DI8DEVTYPE_FORCEDWORD = 2130706432
+} CONST_DI8DEVICETYPE;
+
+typedef enum {
+ DIEDFL_ALLDEVICES = 0,
+ DIEDFL_ATTACHEDONLY = 1,
+ DIEDFL_FORCEFEEDBACK = 256,
+ DIEDFL_INCLUDEALIASES = 65536,
+ DIEDFL_INCLUDEPHANTOMS = 131072,
+ DIEDFL_INCLUDEHIDDEN = 262144
+} CONST_DIENUMDEVICESFLAGS;
+
+typedef enum {
+ DMUS_NOTIFY_ON_RECOMPOSE = 0,
+ DMUS_NOTIFY_ON_CHORD = 1,
+ DMUS_NOTIFY_ON_COMMAND = 2,
+ DMUS_NOTIFY_ON_MEASUREANDBEAT = 3,
+ DMUS_NOTIFY_ON_PERFORMANCE = 4,
+ DMUS_NOTIFY_ON_SEGMENT = 5
+} CONST_DMUS_NOTIFICATION_TYPE;
+
+typedef enum {
+ DMUS_PATH_SEGMENT = 4096,
+ DMUS_PATH_SEGMENT_TRACK = 4352,
+ DMUS_PATH_SEGMENT_GRAPH = 4608,
+ DMUS_PATH_SEGMENT_TOOL = 4864,
+ DMUS_PATH_AUDIOPATH = 8192,
+ DMUS_PATH_AUDIOPATH_GRAPH = 8704,
+ DMUS_PATH_AUDIOPATH_TOOL = 8960,
+ DMUS_PATH_PERFORMANCE = 12288,
+ DMUS_PATH_PERFORMANCE_GRAPH = 12800,
+ DMUS_PATH_PERFORMANCE_TOOL = 13056,
+ DMUS_PATH_PORT = 16384,
+ DMUS_PATH_BUFFER = 24576,
+ DMUS_PATH_BUFFER_DMO = 24832,
+ DMUS_PATH_MIXIN_BUFFER = 28672,
+ DMUS_PATH_MIXIN_BUFFER_DMO = 28928,
+ DMUS_PATH_PRIMARY_BUFFER = 32768
+} CONST_DMUSIC_PATH;
+
+typedef enum {
+ DMUS_AUDIOF_3D = 1,
+ DMUS_AUDIOF_ENVIRON = 2,
+ DMUS_AUDIOF_EAX = 4,
+ DMUS_AUDIOF_DMOS = 8,
+ DMUS_AUDIOF_STREAMING = 16,
+ DMUS_AUDIOF_BUFFERS = 32,
+ DMUS_AUDIOF_ALL = 63
+} CONST_DMUS_AUDIO;
+
+typedef enum {
+ DMUS_SEGF_REFTIME = 64,
+ DMUS_SEGF_SECONDARY = 128,
+ DMUS_SEGF_QUEUE = 256,
+ DMUS_SEGF_CONTROL = 512,
+ DMUS_SEGF_AFTERPREPARETIME = 1024,
+ DMUS_SEGF_GRID = 2048,
+ DMUS_SEGF_BEAT = 4096,
+ DMUS_SEGF_MEASURE = 8192,
+ DMUS_SEGF_DEFAULT = 16384,
+ DMUS_SEGF_NOINVALIDATE = 32768,
+ DMUS_SEGF_ALIGN = 65536,
+ DMUS_SEGF_VALID_START_BEAT = 131072,
+ DMUS_SEGF_VALID_START_GRID = 262144,
+ DMUS_SEGF_VALID_START_TICK = 524288,
+ DMUS_SEGF_AUTOTRANSITION = 1048576,
+ DMUS_SEGF_AFTERQUEUETIME = 2097152,
+ DMUS_SEGF_AFTERLATENCYTIME = 4194304,
+ DMUS_SEGF_SEGMENTEND = 8388608,
+ DMUS_SEGF_MARKER = 16777216,
+ DMUS_SEGF_TIMESIG_ALWAYS = 33554432,
+ DMUS_SEGF_USE_AUDIOPATH = 67108864,
+ DMUS_SEGF_VALID_START_MEASURE = 134217728
+} CONST_DMUS_SEGF_FLAGS;
+
+typedef enum {
+ DVBUFFERAGGRESSIVENESS_MIN = 1,
+ DVBUFFERAGGRESSIVENESS_MAX = 100,
+ DVBUFFERAGGRESSIVENESS_DEFAULT = 0
+} CONST_DVBUFFERAGGRESSIVENESS;
+
+typedef enum {
+ DVCLIENTCONFIG_RECORDMUTE = 1,
+ DVCLIENTCONFIG_PLAYBACKMUTE = 2,
+ DVCLIENTCONFIG_MANUALVOICEACTIVATED = 4,
+ DVCLIENTCONFIG_AUTORECORDVOLUME = 8,
+ DVCLIENTCONFIG_MUTEGLOBAL = 16,
+ DVCLIENTCONFIG_AUTOVOICEACTIVATED = 32,
+ DVCLIENTCONFIG_ECHOSUPPRESSION = 134217728
+} CONST_DVCLIENTCONFIGENUM;
+
+typedef enum {
+ DVBUFFERQUALITY_MIN = 1,
+ DVBUFFERQUALITY_MAX = 100,
+ DVBUFFERQUALITY_DEFAULT = 0
+} CONST_DVBUFFERQUALITY;
+
+typedef enum {
+ DVTHRESHOLD_MIN = 0,
+ DVTHRESHOLD_MAX = 99,
+ DVTHRESHOLD_DEFAULT = -1,
+ DVTHRESHOLD_UNUSED = -2
+} CONST_DVTHRESHOLD;
+
+typedef enum {
+ DVSOUNDCONFIG_NORMALMODE = 1,
+ DVSOUNDCONFIG_AUTOSELECT = 2,
+ DVSOUNDCONFIG_HALFDUPLEX = 4,
+ DVSOUNDCONFIG_SETCONVERSIONQUALITY = 8,
+ DVSOUNDCONFIG_NORECVOLAVAILABLE = 16,
+ DVSOUNDCONFIG_NOFOCUS = 536870912,
+ DVSOUNDCONFIG_STRICTFOCUS = 1073741824
+} CONST_DVSOUNDEFFECT;
+
+typedef enum {
+ DVSESSION_NOHOSTMIGRATION = 1,
+ DVSESSION_SERVERCONTROLTARGET = 2
+} CONST_DVSESSION;
+
+typedef enum {
+ DVSESSIONTYPE_PEER = 1,
+ DVSESSIONTYPE_MIXING = 2,
+ DVSESSIONTYPE_FORWARDING = 3,
+ DVSESSIONTYPE_ECHO = 4
+} CONST_DVSESSIONTYPE;
+
+typedef enum {
+ DPLCONNECT_LAUNCHNEW = 1,
+ DPLCONNECT_LAUNCHNOTFOUND = 2
+} CONST_DPLCONNECT;
+
+typedef enum {
+ DPLSESSION_CONNECTED = 1,
+ DPLSESSION_COULDNOTCONNECT = 2,
+ DPLSESSION_DISCONNECTED = 3,
+ DPLSESSION_TERMINATED = 4,
+ DPLSESSION_HOSTMIGRATED = 5,
+ DPLSESSION_HOSTMIGRATEDHERE = 6
+} CONST_DPLSESSION;
+
+typedef enum {
+ DPLAVAILABLE_ALLOWMULTIPLECONNECT = 1
+} CONST_DPLAVAILABLE;
+
+typedef enum {
+ DPLCONNECTSETTINGS_HOST = 1
+} CONST_DPLCONNECTSETTINGS;
+
+typedef enum {
+ DPNCANCEL_ALL_OPERATIONS = 32768,
+ DPNCANCEL_CONNECT = 1,
+ DPNCANCEL_ENUM = 2,
+ DPNCANCEL_SEND = 4
+} CONST_DPNCANCELFLAGS;
+
+typedef enum {
+ DPNENUM_PLAYERS = 1,
+ DPNENUM_GROUPS = 16
+} CONST_DPNENUMCLIENTGROUPFLAGS;
+
+typedef enum {
+ DPNSESSION_CLIENT_SERVER = 1,
+ DPNSESSION_MIGRATE_HOST = 4,
+ DPNSESSION_NODPNSVR = 64,
+ DPNSESSION_REQUIREPASSWORD = 128
+} CONST_DPNSESSIONFLAGS;
+
+typedef enum {
+ DPNPLAYER_LOCAL = 2,
+ DPNPLAYER_HOST = 4
+} CONST_DPNPLAYINFOFLAGS;
+
+typedef enum {
+ DPNGETSENDQUEUEINFO_PRIORITY_NORMAL = 1,
+ DPNGETSENDQUEUEINFO_PRIORITY_HIGH = 2,
+ DPNGETSENDQUEUEINFO_PRIORITY_LOW = 4
+} CONST_DPNGETSENDQUEUEINFO;
+
+typedef enum {
+ DPNOP_SYNC = -2147483648,
+ DPNCONNECT_SYNC = -2147483648,
+ DPNENUMHOSTS_SYNC = -2147483648,
+ DPNCREATEGROUP_SYNC = -2147483648,
+ DPNDESTROYGROUP_SYNC = -2147483648,
+ DPNADDPLAYERTOGROUP_SYNC = -2147483648,
+ DPNREMOVEPLAYERFROMGROUP_SYNC = -2147483648,
+ DPNSETGROUPINFO_SYNC = -2147483648,
+ DPNSETCLIENTINFO_SYNC = -2147483648,
+ DPNSETSERVERINFO_SYNC = -2147483648,
+ DPNSETPEERINFO_SYNC = -2147483648,
+ DPNHOST_OKTOQUERYFORADDRESSING = 1
+} CONST_DPNOPERATIONS;
+
+typedef enum {
+ DPNSEND_SYNC = -2147483648,
+ DPNSEND_NOCOPY = 1,
+ DPNSEND_NOCOMPLETE = 2,
+ DPNSEND_COMPLETEONPROCESS = 4,
+ DPNSEND_GUARANTEED = 8,
+ DPNSEND_NONSEQUENTIAL = 16,
+ DPNSEND_NOLOOPBACK = 32,
+ DPNSEND_PRIORITY_LOW = 64,
+ DPNSEND_PRIORITY_HIGH = 128
+} CONST_DPNSENDFLAGS;
+
+typedef enum {
+ DMUS_APATH_SHARED_STEREOPLUSREVERB = 1,
+ DMUS_APATH_DYNAMIC_3D = 6,
+ DMUS_APATH_DYNAMIC_MONO = 7,
+ DMUS_APATH_DYNAMIC_STEREO = 8
+} CONST_DMUSIC_STANDARD_AUDIO_PATH;
+
+typedef enum {
+ DMUS_AUDIOPARAMS_FEATURES = 1,
+ DMUS_AUDIOPARAMS_VOICES = 2,
+ DMUS_AUDIOPARAMS_SAMPLERATE = 4,
+ DMUS_AUDIOPARAMS_DEFAULTSYNTH = 8
+} CONST_DMUS_AUDIOPARAMS;
+
+typedef enum {
+ DIDFT_ALL = 0,
+ DIDFT_RELAXIS = 1,
+ DIDFT_ABSAXIS = 2,
+ DIDFT_AXIS = 3,
+ DIDFT_PSHBUTTON = 4,
+ DIDFT_TGLBUTTON = 8,
+ DIDFT_BUTTON = 12,
+ DIDFT_POV = 16,
+ DIDFT_COLLECTION = 64,
+ DIDFT_NODATA = 128,
+ DIDFT_ANYINSTANCE = 16776960,
+ DIDFT_INSTANCEMASK = 16776960,
+ DIDFT_FFACTUATOR = 16777216,
+ DIDFT_FFEFFECTTRIGGER = 33554432,
+ DIDFT_NOCOLLECTION = 16776960,
+ DIDFT_VENDORDEFINED = 67108864,
+ DIDFT_ALIAS = 134217728,
+ DIDFT_OUTPUT = 268435456
+} CONST_DIDFTFLAGS;
+
+typedef enum {
+ DIDOI_FFACTUATOR = 1,
+ DIDOI_FFEFFECTTRIGGER = 2,
+ DIDOI_POLLED = 32768,
+ DIDOI_ASPECTPOSITION = 256,
+ DIDOI_ASPECTVELOCITY = 512,
+ DIDOI_ASPECTACCEL = 768,
+ DIDOI_ASPECTFORCE = 1024,
+ DIDOI_ASPECTMASK = 3840,
+ DIDOI_GUIDISUSAGE = 65536
+} CONST_DIDEVICEOBJINSTANCEFLAGS;
+
+ typedef enum {
+ DIDC_ATTACHED = 1,
+ DIDC_POLLEDDEVICE = 2,
+ DIDC_EMULATED = 4,
+ DIDC_POLLEDDATAFORMAT = 8,
+ DIDC_FORCEFEEDBACK = 256,
+ DIDC_FFATTACK = 512,
+ DIDC_FFFADE = 1024,
+ DIDC_SATURATION = 2048,
+ DIDC_POSNEGCOEFFICIENTS = 4096,
+ DIDC_POSNEGSATURATION = 8192,
+ DIDC_DEADBAND = 16384,
+ DIDC_STARTDELAY = 32768,
+ DIDC_ALIAS = 65536,
+ DIDC_PHANTOM = 131072,
+ DIDC_HIDDEN = 262144
+} CONST_DIDEVCAPSFLAGS;
+
+typedef enum {
+ DIGDD_DEFAULT = 0,
+ DIGDD_PEEK = 1
+} CONST_DIDGDDFLAGS;
+
+typedef enum {
+ DIPH_DEVICE = 0,
+ DIPH_BYOFFSET = 1,
+ DIPH_BYID = 2,
+ DIPH_BYUSAGE = 3
+} CONST_DIPHFLAGS;
+
+typedef enum {
+ DISCL_EXCLUSIVE = 1,
+ DISCL_NONEXCLUSIVE = 2,
+ DISCL_FOREGROUND = 4,
+ DISCL_BACKGROUND = 8,
+ DISCL_NOWINKEY = 16
+} CONST_DISCLFLAGS;
+
+typedef enum {
+ DIFORMAT_KEYBOARD = 1,
+ DIFORMAT_MOUSE = 2,
+ DIFORMAT_JOYSTICK = 3,
+ DIFORMAT_JOYSTICK2 = 4,
+ DIFORMAT_MOUSE2 = 5
+} CONST_DICOMMONDATAFORMATS;
+
+typedef enum {
+ DIDF_ABSAXIS = 1,
+ DIDF_RELAXIS = 2
+} CONST_DIDATAFORMATFLAGS;
+
+typedef enum {
+ DICONDITION_USE_BOTH_AXES = 1,
+ DICONDITION_USE_DIRECTION = 2
+} CONST_DICONDITIONFLAGS;
+
+typedef enum {
+ DIEP_DURATION = 1,
+ DIEP_SAMPLEPERIOD = 2,
+ DIEP_GAIN = 4,
+ DIEP_TRIGGERBUTTON = 8,
+ DIEP_TRIGGERREPEATINTERVAL = 16,
+ DIEP_AXES = 32,
+ DIEP_DIRECTION = 64,
+ DIEP_ENVELOPE = 128,
+ DIEP_TYPESPECIFICPARAMS = 256,
+ DIEP_ALLPARAMS = 1023,
+ DIEP_START = 536870912,
+ DIEP_NORESTART = 1073741824,
+ DIEP_NODOWNLOAD = -2147483648,
+ DIEP_STARTDELAY = 512
+} CONST_DIEPFLAGS;
+
+typedef enum {
+ DISDD_DEFAULT = 0,
+ DISDD_CONTINUE = 1
+} CONST_DISDDFLAGS;
+
+typedef enum {
+ DISFFC_RESET = 1,
+ DISFFC_STOPALL = 2,
+ DISFFC_PAUSE = 4,
+ DISFFC_CONTINUE = 8,
+ DISFFC_SETACTUATORSON = 16,
+ DISFFC_SETACTUATORSOFF = 32
+} CONST_DISFFCFLAGS;
+
+typedef enum {
+ DIGFFS_EMPTY = 1,
+ DIGFFS_STOPPED = 2,
+ DIGFFS_PAUSED = 4,
+ DIGFFS_ACTUATORSON = 16,
+ DIGFFS_ACTUATORSOFF = 32,
+ DIGFFS_POWERON = 64,
+ DIGFFS_POWEROFF = 128,
+ DIGFFS_SAFETYSWITCHON = 256,
+ DIGFFS_SAFETYSWITCHOFF = 512,
+ DIGFFS_USERFFSWITCHON = 1024,
+ DIGFFS_USERFFSWITCHOFF = 2048,
+ DIGFFS_DEVICELOST = -2147483648
+} CONST_DIGFFSFLAGS;
+
+typedef enum {
+ DIEFT_ALL = 0,
+ DIEFT_CONSTANTFORCE = 1,
+ DIEFT_RAMPFORCE = 2,
+ DIEFT_PERIODIC = 3,
+ DIEFT_CONDITION = 4,
+ DIEFT_CUSTOMFORCE = 5,
+ DIEFT_HARDWARE = 255,
+ DIEFT_FFATTACK = 512,
+ DIEFT_FFFADE = 1024,
+ DIEFT_SATURATION = 2048,
+ DIEFT_POSNEGCOEFFICIENTS = 4096,
+ DIEFT_POSNEGSATURATION = 8192,
+ DIEFT_DEADBAND = 16384,
+ DIEFT_STARTDELAY = 32768
+} CONST_DIEFTFLAGS;
+
+typedef enum {
+ DPNINFO_NAME = 1,
+ DPNINFO_DATA = 2
+} CONST_DPNINFO;
+
+typedef enum {
+ DPNGROUP_AUTODESTRUCT = 1
+} CONST_DPNGROUPINFOFLAGS;
+
+typedef enum {
+ DS3D_IMMEDIATE = 0,
+ DS3D_DEFERRED = 1
+} CONST_DS3DAPPLYFLAGS;
+
+typedef enum {
+ DSBSTATUS_PLAYING = 1,
+ DSBSTATUS_BUFFERLOST = 2,
+ DSBSTATUS_LOOPING = 4,
+ DSBSTATUS_LOCHARDWARE = 8,
+ DSBSTATUS_LOCSOFTWARE = 16,
+ DSBSTATUS_TERMINATED = 32
+} CONST_DSBSTATUSFLAGS;
+
+typedef enum {
+ DSBLOCK_DEFAULT = 0,
+ DSBLOCK_FROMWRITECURSOR = 1,
+ DSBLOCK_ENTIREBUFFER = 2
+} CONST_DSBLOCKFLAGS;
+
+typedef enum {
+ DSBPLAY_DEFAULT = 0,
+ DSBPLAY_LOOPING = 1,
+ DSBPLAY_LOCHARDWARE = 2,
+ DSBPLAY_LOCSOFTWARE = 4,
+ DSBPLAY_TERMINATEBY_TIME = 8,
+ DSBPLAY_TERMINATEBY_DISTANCE = 16,
+ DSBPLAY_TERMINATEBY_PRIORITY = 32
+} CONST_DSBPLAYFLAGS;
+
+typedef enum {
+ DSCAPS_PRIMARYMONO = 1,
+ DSCAPS_PRIMARYSTEREO = 2,
+ DSCAPS_PRIMARY8BIT = 4,
+ DSCAPS_PRIMARY16BIT = 8,
+ DSCAPS_CONTINUOUSRATE = 16,
+ DSCAPS_EMULDRIVER = 32,
+ DSCAPS_CERTIFIED = 64,
+ DSCAPS_SECONDARYMONO = 256,
+ DSCAPS_SECONDARYSTEREO = 512,
+ DSCAPS_SECONDARY8BIT = 1024,
+ DSCAPS_SECONDARY16BIT = 2048
+} CONST_DSCAPSFLAGS;
+
+typedef enum {
+ DSSCL_NORMAL = 1,
+ DSSCL_PRIORITY = 2,
+ DSSCL_WRITEPRIMARY = 4
+} CONST_DSSCLFLAGS;
+
+typedef enum {
+ DSCBCAPS_DEFAULT = 0,
+ DSCBCAPS_WAVEMAPPED = -2147483648
+} CONST_DSCBCAPSFLAGS;
+
+typedef enum {
+ DSBCAPS_PRIMARYBUFFER = 1,
+ DSBCAPS_STATIC = 2,
+ DSBCAPS_LOCHARDWARE = 4,
+ DSBCAPS_LOCSOFTWARE = 8,
+ DSBCAPS_CTRL3D = 16,
+ DSBCAPS_CTRLFREQUENCY = 32,
+ DSBCAPS_CTRLPAN = 64,
+ DSBCAPS_CTRLVOLUME = 128,
+ DSBCAPS_CTRLPOSITIONNOTIFY = 256,
+ DSBCAPS_CTRLFX = 512,
+ DSBCAPS_CTRLCHANNELVOLUME = 1024,
+ DSBCAPS_STICKYFOCUS = 16384,
+ DSBCAPS_GLOBALFOCUS = 32768,
+ DSBCAPS_GETCURRENTPOSITION2 = 65536,
+ DSBCAPS_MUTE3DATMAXDISTANCE = 131072,
+ DSBCAPS_LOCDEFER = 262144
+} CONST_DSBCAPSFLAGS;
+
+typedef enum {
+ DS3DMODE_NORMAL = 0,
+ DS3DMODE_HEADRELATIVE = 1,
+ DS3DMODE_DISABLE = 2
+} CONST_DS3DMODEFLAGS;
+
+typedef enum {
+ DSCCAPS_DEFAULT = 0,
+ DSCCAPS_EMULDRIVER = 32
+} CONST_DSCCAPSFLAGS;
+
+typedef enum {
+ WAVE_FORMAT_1M08 = 1,
+ WAVE_FORMAT_1S08 = 2,
+ WAVE_FORMAT_1M16 = 4,
+ WAVE_FORMAT_1S16 = 8,
+ WAVE_FORMAT_2M08 = 16,
+ WAVE_FORMAT_2S08 = 32,
+ WAVE_FORMAT_2M16 = 64,
+ WAVE_FORMAT_2S16 = 128,
+ WAVE_FORMAT_4M08 = 256,
+ WAVE_FORMAT_4S08 = 512,
+ WAVE_FORMAT_4M16 = 1024,
+ WAVE_FORMAT_4S16 = 2048
+} CONST_WAVEFORMATFLAGS;
+
//Structures
typedef struct tagDXGUID {
@@ -630,6 +1155,667 @@ typedef struct tagD3DXBONECOMBINATION {
long pBones;
} D3DXBONECOMBINATION;
+typedef struct tagWAVEFORMATEX {
+ short nFormatTag;
+ short nChannels;
+ long lSamplesPerSec;
+ long lAvgBytesPerSec;
+ short nBlockAlign;
+ short nBitsPerSample;
+ short nSize;
+ long lExtra;
+} WAVEFORMATEX;
+
+typedef struct tagDSBUFFERDESC {
+ long lSize;
+ CONST_DSBCAPSFLAGS lFlags;
+ long lBufferBytes;
+ long lReserved;
+ WAVEFORMATEX fxFormat;
+ BSTR guid3DAlgorithm;
+} DSBUFFERDESC;
+
+typedef struct tagDSCURSORS {
+ long lPlay;
+ long lWrite;
+} DSCURSORS;
+
+typedef struct tagDSCBCAPS {
+ long lSize;
+ CONST_DSCBCAPSFLAGS lFlags;
+ long lBufferBytes;
+ long lReserved;
+} DSCBCAPS;
+
+typedef struct tagDSBPOSITIONNOTIFY {
+ long lOffset;
+ long hEventNotify;
+} DSBPOSITIONNOTIFY;
+
+typedef struct tagDIACTION {
+ long lAppData;
+ long lSemantic;
+ long lFlags;
+ BSTR ActionName;
+ DXGUID guidInstance;
+ long lObjId;
+ long lHow;
+} DIACTION;
+
+typedef struct tagDIACTIONFORMAT {
+ long lActionSize;
+ long lDataSize;
+ BSTR ActionMapName;
+ BSTR guidActionMap;
+ long lGenre;
+ long lAxisMin;
+ long lAxisMax;
+ long lBufferSize;
+ long lActionCount;
+ SAFEARRAY(DIACTION) ActionArray;
+} DIACTIONFORMAT;
+
+typedef struct tagDMUS_TIMESIGNATURE {
+ long mtTime;
+ unsigned char beatsPerMeasure;
+ unsigned char beat;
+ short gridsPerBeat;
+} DMUS_TIMESIGNATURE;
+
+typedef struct tagDMUS_NOTE_PMSG {
+ long mtDuration;
+ short musicValue;
+ short measure;
+ short Offset;
+ unsigned char beat;
+ unsigned char grid;
+ unsigned char velocity;
+ unsigned char flags;
+ unsigned char timeRange;
+ unsigned char durRange;
+ unsigned char velRange;
+ unsigned char playModeFlags;
+ unsigned char subChordLevel;
+ unsigned char midiValue;
+ short transpose;
+} DMUS_NOTE_PMSG;
+
+typedef struct tagDMUS_AUDIOPARAMS {
+ long dwSize;
+ VARIANT_BOOL fInitNow;
+ CONST_DMUS_AUDIOPARAMS lValidData;
+ CONST_DMUS_AUDIO lFeatures;
+ long lVoices;
+ long lSampleRate;
+ BSTR clsidDefaultSynth;
+} DMUS_AUDIOPARAMS;
+
+typedef struct tagDVSOUNDDEVICECONFIG {
+ long lSize;
+ CONST_DVSOUNDEFFECT lFlags;
+ BSTR guidPlaybackDevice;
+ BSTR guidCaptureDevice;
+ long hwndAppWindow;
+ DirectSoundSecondaryBuffer8 *MainSoundBuffer;
+ CONST_DSBPLAYFLAGS lMainBufferFlags;
+ long lMainBufferPriority;
+} DVSOUNDDEVICECONFIG;
+
+typedef struct tagDVCLIENTCONFIG {
+ long lSize;
+ CONST_DVCLIENTCONFIGENUM lFlags;
+ long lRecordVolume;
+ long lPlaybackVolume;
+ CONST_DVTHRESHOLD lThreshold;
+ CONST_DVBUFFERQUALITY lBufferQuality;
+ CONST_DVBUFFERAGGRESSIVENESS lBufferAggressiveness;
+ long lNotifyPeriod;
+} DVCLIENTCONFIG;
+
+typedef struct tagDVSESSIONDESC {
+ long lSize;
+ CONST_DVSESSION lFlags;
+ CONST_DVSESSIONTYPE lSessionType;
+ BSTR guidCT;
+ CONST_DVBUFFERQUALITY lBufferQuality;
+ CONST_DVBUFFERAGGRESSIVENESS lBufferAggressiveness;
+} DVSESSIONDESC;
+
+typedef struct tagDVCOMPRESSIONINFO {
+ long lSize;
+ BSTR guidType;
+ BSTR strName;
+ BSTR strDescription;
+ long lFlags;
+ long lMaxBitsPerSecond;
+} DVCOMPRESSIONINFO;
+
+typedef struct tagDVCAPS {
+ long lSize;
+ long lFlags;
+} DVCAPS;
+
+typedef struct tagDPN_APPLICATION_DESC {
+ long lSize;
+ CONST_DPNSESSIONFLAGS lFlags;
+ BSTR guidInstance;
+ BSTR guidApplication;
+ long lMaxPlayers;
+ long lCurrentPlayers;
+ BSTR SessionName;
+ BSTR Password;
+ long dwReservedDataSize;
+ long dwApplicationReservedDataSize;
+} DPN_APPLICATION_DESC;
+
+typedef struct tagDPL_CONNECTION_SETTINGS {
+ long lSize;
+ CONST_DPLCONNECTSETTINGS lFlags;
+ DPN_APPLICATION_DESC ApplicationDescription;
+ BSTR PlayerName;
+ BSTR AddressSenderUrl;
+ BSTR AddressDeviceUrl;
+} DPL_CONNECTION_SETTINGS;
+
+typedef struct tagDPL_CONNECT_INFO {
+ long lSize;
+ CONST_DPLCONNECT lFlags;
+ BSTR guidApplication;
+ DPL_CONNECTION_SETTINGS ConnectionSettings;
+} DPL_CONNECT_INFO;
+
+typedef struct tagDPL_APPLICATION_INFO {
+ BSTR guidApplication;
+ BSTR ApplicationName;
+ long lNumRunning;
+ long lNumWaiting;
+ CONST_DPLSESSION lFlags;
+} DPL_APPLICATION_INFO;
+
+typedef struct tagDPN_SP_CAPS {
+ long lSize;
+ long lFlags;
+ long lNumThreads;
+ long lDefaultEnumCount;
+ long lDefaultEnumRetryInterval;
+ long lDefaultEnumTimeout;
+ long lMaxEnumPayloadSize;
+ long lBuffersPerThread;
+ long lSystemBufferSize;
+} DPN_SP_CAPS;
+
+typedef struct tagDPN_CONNECTION_INFO {
+ long lSize;
+ long lRoundTripLatencyMS;
+ long lThroughputBPS;
+ long lPeakThroughputBPS;
+ long lBytesSentGuaranteed;
+ long lPacketsSentGuaranteed;
+ long lBytesSentNonGuaranteed;
+ long lPacketsSentNonGuaranteed;
+ long lBytesRetried;
+ long lPacketsRetried;
+ long lBytesDropped;
+ long lPacketsDropped;
+ 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;
+
+typedef struct tagDPL_PROGRAM_DESC {
+ long lSize;
+ long lFlags;
+ BSTR guidApplication;
+ BSTR ApplicationName;
+ BSTR CommandLine;
+ BSTR CurrentDirectory;
+ BSTR Description;
+ BSTR ExecutableFilename;
+ BSTR ExecutablePath;
+ BSTR LauncherFilename;
+ BSTR LauncherPath;
+} DPL_PROGRAM_DESC;
+
+typedef struct tagDPL_MESSAGE_RECEIVE {
+ long lSize;
+ long Sender;
+ SAFEARRAY(unsigned char) Buffer;
+ long lBufferSize;
+} DPL_MESSAGE_RECEIVE;
+
+typedef struct tagDPL_MESSAGE_CONNECT {
+ long lSize;
+ long ConnectId;
+ SAFEARRAY(unsigned char) LobbyConnectData;
+ DPL_CONNECTION_SETTINGS dplMsgCon;
+} DPL_MESSAGE_CONNECT;
+
+typedef struct tagDPL_MESSAGE_CONNECTION_SETTINGS {
+ long lSize;
+ long hSender;
+ DPL_CONNECTION_SETTINGS dplConnectionSettings;
+} DPL_MESSAGE_CONNECTION_SETTINGS;
+
+typedef struct tagDPN_CAPS {
+ long lSize;
+ long lFlags;
+ long lConnectTimeout;
+ long lConnectRetries;
+ long lTimeoutUntilKeepAlive;
+} DPN_CAPS;
+
+typedef struct tagDPN_SERVICE_PROVIDER_INFO {
+ long lFlags;
+ BSTR guid;
+ BSTR name;
+} DPN_SERVICE_PROVIDER_INFO;
+
+typedef struct tagDPNMSG_ASYNC_OP_COMPLETE {
+ long lSize;
+ long AsyncOpHandle;
+ long hResultCode;
+} DPNMSG_ASYNC_OP_COMPLETE;
+
+typedef struct tagDPNMSG_CONNECT_COMPLETE {
+ long lSize;
+ long AsyncOpHandle;
+ long hResultCode;
+ SAFEARRAY(unsigned char) ReplyData;
+} DPNMSG_CONNECT_COMPLETE;
+
+typedef struct tagDPNMSG_ENUM_HOSTS_QUERY {
+ long lSize;
+ SAFEARRAY(unsigned char) ReceivedData;
+ long lMaxResponseDataSize;
+ SAFEARRAY(unsigned char) ResponseData;
+ BSTR AddressSenderUrl;
+ BSTR AddressDeviceUrl;
+} DPNMSG_ENUM_HOSTS_QUERY;
+
+typedef struct tagDPNMSG_ENUM_HOSTS_RESPONSE {
+ long lSize;
+ DPN_APPLICATION_DESC ApplicationDescription;
+ SAFEARRAY(unsigned char) ResponseData;
+ long lRoundTripLatencyMS;
+ BSTR AddressSenderUrl;
+ BSTR AddressDeviceUrl;
+} DPNMSG_ENUM_HOSTS_RESPONSE;
+
+typedef struct tagDPNMSG_INDICATE_CONNECT {
+ long lSize;
+ SAFEARRAY(unsigned char) UserData;
+ long dwReplyDataSize;
+ BSTR AddressPlayerUrl;
+ BSTR AddressDeviceUrl;
+} DPNMSG_INDICATE_CONNECT;
+
+typedef struct tagDPNMSG_RECEIVE {
+ long lSize;
+ long idSender;
+ SAFEARRAY(unsigned char) ReceivedData;
+ long lDataSize;
+ long BufferHandle;
+} DPNMSG_RECEIVE;
+
+typedef struct tagDPNMSG_SEND_COMPLETE {
+ long lSize;
+ long AsyncOpHandle;
+ long hResultCode;
+ long lSendTime;
+} DPNMSG_SEND_COMPLETE;
+
+typedef struct tagDPNMSG_TERMINATE_SESSION {
+ long lSize;
+ long hResultCode;
+ SAFEARRAY(unsigned char) TerminateData;
+} DPNMSG_TERMINATE_SESSION;
+
+typedef struct tagDPN_PLAYER_INFO {
+ long lSize;
+ CONST_DPNINFO lInfoFlags;
+ BSTR name;
+ long lDataSize;
+ CONST_DPNPLAYINFOFLAGS lPlayerFlags;
+} DPN_PLAYER_INFO;
+
+typedef struct tagDPN_GROUP_INFO {
+ long lSize;
+ CONST_DPNINFO lInfoFlags;
+ BSTR name;
+ long lDataSize;
+ CONST_DPNGROUPINFOFLAGS lGroupFlags;
+} DPN_GROUP_INFO;
+
+typedef struct tagDMUS_CURVE_PMSG {
+ long mtDuration;
+ long mtOriginalStart;
+ long mtResetDuration;
+ short startValue;
+ short endValue;
+ short resetValue;
+ short measure;
+ short Offset;
+ unsigned char beat;
+ unsigned char grid;
+ unsigned char Type;
+ unsigned char curveShape;
+ unsigned char ccData;
+ unsigned char flags;
+ short ParamType;
+ short MergeIndex;
+} DMUS_CURVE_PMSG;
+
+typedef struct tagDIDEVCAPS {
+ long lSize;
+ CONST_DIDEVCAPSFLAGS lFlags;
+ long lDevType;
+ long lAxes;
+ long lButtons;
+ long lPOVs;
+ long lFFSamplePeriod;
+ long lFFMinTimeResolution;
+ long lFirmwareRevision;
+ long lHardwareRevision;
+ long lDriverVersion;
+} DIDEVCAPS;
+
+typedef struct tagDIDEVICEOBJECTDATA {
+ long lOfs;
+ long lData;
+ long lTimeStamp;
+ long lSequence;
+ long lUserData;
+} DIDEVICEOBJECTDATA;
+
+typedef struct tagDIKEYBOARDSTATE {
+ unsigned char key[256];
+} DIKEYBOARDSTATE;
+
+typedef struct tagDIMOUSESTATE {
+ long lX;
+ long lY;
+ long lZ;
+ unsigned char Buttons[4];
+} DIMOUSESTATE;
+
+typedef struct tagDIMOUSESTATE2 {
+ long lX;
+ long lY;
+ long lZ;
+ unsigned char Buttons[8];
+} DIMOUSESTATE2;
+
+typedef struct tagDIJOYSTATE {
+ long x;
+ long y;
+ long z;
+ long rx;
+ long ry;
+ long rz;
+ long slider[2];
+ long POV[4];
+ unsigned char Buttons[32];
+} DIJOYSTATE;
+
+typedef struct tagDIJOYSTATE2 {
+ long x;
+ long y;
+ long z;
+ long rx;
+ long ry;
+ long rz;
+ long slider[2];
+ long POV[4];
+ unsigned char Buttons[128];
+ long vx;
+ long vy;
+ long vz;
+ long vrx;
+ long vry;
+ long vrz;
+ long vslider[2];
+ long ax;
+ long ay;
+ long az;
+ long arx;
+ long ary;
+ long arz;
+ long aslider[2];
+ long fx;
+ long fy;
+ long fz;
+ long frx;
+ long fry;
+ long frz;
+ long fslider[2];
+} DIJOYSTATE2;
+
+typedef struct tagDIDATAFORMAT {
+ long lSize;
+ long lObjSize;
+ CONST_DIDATAFORMATFLAGS lFlags;
+ long dataSize;
+ long numObjs;
+ long pData;
+} DIDATAFORMAT;
+
+typedef struct tagDIOBJECTDATAFORMAT {
+ BSTR strGuid;
+ long lOfs;
+ CONST_DIDFTFLAGS lType;
+ CONST_DIDEVICEOBJINSTANCEFLAGS lFlags;
+} DIOBJECTDATAFORMAT;
+
+typedef struct tagDIRAMPFORCE {
+ long lRangeStart;
+ long lRangeEnd;
+} DIRAMPFORCE;
+
+typedef struct tagDIPERIODICFORCE {
+ long lMagnitude;
+ long lOffset;
+ long lPhase;
+ long lPeriod;
+} DIPERIODICFORCE;
+
+typedef struct tagDICONSTANTFORCE {
+ long lMagnitude;
+} DICONSTANTFORCE;
+
+typedef struct tagDICONDITION {
+ long lOffset;
+ long lPositiveCoefficient;
+ long lNegativeCoefficient;
+ long lPositiveSaturation;
+ long lNegativeSaturation;
+ long lDeadBand;
+} DICONDITION;
+
+typedef struct tagDIENVELOPE {
+ long lSize;
+ long lAttackLevel;
+ long lAttackTime;
+ long lFadeLevel;
+ long lFadeTime;
+} DIENVELOPE;
+
+typedef struct tagDIAXISOFFSETS_CDESC {
+ long x;
+ long y;
+} DIAXISOFFSETS_CDESC;
+
+typedef struct tagDIEFFECT {
+ long dwSize;
+ long lFlags;
+ long lDuration;
+ long lSamplePeriod;
+ long lGain;
+ long lTriggerButton;
+ long lTriggerRepeatInterval;
+ long lAxes;
+ long lprgdwAxes;
+ long lprglDirection;
+ long lpEnvelope;
+ long cbTypeSpecificParams;
+ long lpvTypeSpecificParams;
+ long lStartDelay;
+ long x;
+ long y;
+ DIRAMPFORCE rampForce;
+ DIPERIODICFORCE periodicForce;
+ DICONSTANTFORCE constantForce;
+ DICONDITION conditionX;
+ DICONDITION conditionY;
+ CONST_DICONDITIONFLAGS conditionFlags;
+ long bUseEnvelope;
+ DIENVELOPE envelope;
+ DIAXISOFFSETS_CDESC axisOffsets;
+} DIEFFECT;
+
+typedef struct tagDSBCAPS {
+ long lSize;
+ CONST_DSBCAPSFLAGS lFlags;
+ long lBufferBytes;
+ long lUnlockTransferRate;
+ long lPlayCpuOverhead;
+} DSBCAPS;
+
+typedef struct tagDSEFFECTDESC {
+ long lSize;
+ long lFlags;
+ BSTR guidDSFXClass;
+ long lReserved;
+ long lReserved2;
+} DSEFFECTDESC;
+
+typedef struct tagDSCAPS {
+ long lSize;
+ CONST_DSCAPSFLAGS lFlags;
+ long lMinSecondarySampleRate;
+ long lMaxSecondarySampleRate;
+ long lPrimaryBuffers;
+ long lMaxHwMixingAllBuffers;
+ long lMaxHwMixingStaticBuffers;
+ long lMaxHwMixingStreamingBuffers;
+ long lFreeHwMixingAllBuffers;
+ long lFreeHwMixingStaticBuffers;
+ long lFreeHwMixingStreamingBuffers;
+ long lMaxHw3DAllBuffers;
+ long lMaxHw3DStaticBuffers;
+ long lMaxHw3DStreamingBuffers;
+ long lFreeHw3DAllBuffers;
+ long lFreeHw3DStaticBuffers;
+ long lFreeHw3DStreamingBuffers;
+ long lTotalHwMemBytes;
+ long lFreeHwMemBytes;
+ long lMaxContigFreeHwMemBytes;
+ long lUnlockTransferRateHwBuffers;
+ long lPlayCpuOverheadSwBuffers;
+ long lReserved1;
+ long lReserved2;
+} DSCAPS;
+
+typedef struct tagDS3DLISTENER {
+ long lSize;
+ D3DVECTOR vPosition;
+ D3DVECTOR vVelocity;
+ D3DVECTOR vOrientFront;
+ D3DVECTOR vOrientTop;
+ float distanceFactor;
+ float rolloffFactor;
+ float dopplerFactor;
+} DS3DLISTENER;
+
+typedef struct tagDSCBUFFERDESC {
+ long lSize;
+ CONST_DSCBCAPSFLAGS lFlags;
+ long lBufferBytes;
+ long lReserved;
+ WAVEFORMATEX fxFormat;
+ BSTR guid3DAlgorithm;
+} DSCBUFFERDESC;
+
+typedef struct tagDS3DBUFFER {
+ long lSize;
+ D3DVECTOR vPosition;
+ D3DVECTOR vVelocity;
+ long lInsideConeAngle;
+ long lOutsideConeAngle;
+ D3DVECTOR vConeOrientation;
+ long lConeOutsideVolume;
+ float minDistance;
+ float maxDistance;
+ CONST_DS3DMODEFLAGS lMode;
+} DS3DBUFFER;
+
+typedef struct tagDIDEVICEIMAGEINFO {
+ BSTR ImagePath;
+ long flags;
+ long ViewID;
+ RECT OverlayRect;
+ long ObjId;
+ long ValidPts;
+ POINT CalloutLine[5];
+ RECT CalloutRect;
+ long TextAlign;
+} DIDEVICEIMAGEINFO;
+
+typedef struct tagDIDEVICEIMAGEINFOHEADER {
+ long Views;
+ long Buttons;
+ long Axes;
+ long POVs;
+ long ImageCount;
+ SAFEARRAY(DIDEVICEIMAGEINFO) Images;
+} DIDEVICEIMAGEINFOHEADER;
+
+typedef struct tagDICOLORSET {
+ long cTextFore;
+ long cTextHighlight;
+ long cCalloutLine;
+ long cCalloutHighlight;
+ long cBorder;
+ long cControlFill;
+ long cHighlightFill;
+ long cAreaFill;
+} DICOLORSET;
+
+typedef struct tagDICONFIGUREDEVICESPARAMS {
+ long UserCount;
+ SAFEARRAY(BSTR) UserNames;
+ long FormatCount;
+ SAFEARRAY(DIACTIONFORMAT) ActionFormats;
+ long hwnd;
+ DICOLORSET dics;
+ IUnknown *DDSTarget;
+} DICONFIGUREDEVICESPARAMS;
+
+typedef struct tagDSCCAPS {
+ long lSize;
+ CONST_DSCCAPSFLAGS lFlags;
+ CONST_WAVEFORMATFLAGS lFormats;
+ long lChannels;
+} DSCCAPS;
+
+typedef struct tagDMUS_NOTIFICATION_PMSG {
+ long lFlags;
+ long ctTime;
+ long mtTime;
+ long lNotificationType;
+ long lNotificationOption;
+ long lField1;
+ long lField2;
+ IUnknown *User;
+} DMUS_NOTIFICATION_PMSG;
+
//Interfaces
[
@@ -2738,11 +3924,2679 @@ interface ID3DX8 : IUnknown {
);
};
-//Coclasses
+[
+ object,
+ uuid(9f76fb03-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSound3DBuffer Interface"),
+ local
+]
+interface DirectSound3DBuffer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetDirectSoundBuffer(
+ [out, retval] DirectSoundSecondaryBuffer8 **retVal
+ );
+ HRESULT GetAllParameters(
+ [in, out] DS3DBUFFER *buffer
+ );
+ HRESULT GetConeAngles(
+ [in, out] long *inCone,
+ [in, out] long *outCone
+ );
+ HRESULT GetConeOrientation(
+ [in, out] D3DVECTOR *orientation
+ );
+ HRESULT GetConeOutsideVolume(
+ [out, retval] long *coneOutsideVolume
+ );
+ HRESULT GetMaxDistance(
+ [out, retval] float *maxDistance
+ );
+ HRESULT GetMinDistance(
+ [out, retval] float *minDistance
+ );
+ HRESULT GetMode(
+ [out, retval] CONST_DS3DMODEFLAGS *mode
+ );
+ HRESULT GetPosition(
+ [in, out] D3DVECTOR *position
+ );
+ HRESULT GetVelocity(
+ [in, out] D3DVECTOR *velocity
+ );
+ HRESULT SetAllParameters(
+ [in] DS3DBUFFER *buffer,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetConeAngles(
+ [in] long inCone,
+ [in] long outCone,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetConeOrientation(
+ [in] float x,
+ [in] float y,
+ [in] float z,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetConeOutsideVolume(
+ [in] long coneOutsideVolume,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetMaxDistance(
+ [in] float maxDistance,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetMinDistance(
+ [in] float minDistance,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetMode(
+ [in] CONST_DS3DMODEFLAGS mode,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetPosition(
+ [in] float x,
+ [in] float y,
+ [in] float z,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetVelocity(
+ [in] float x,
+ [in] float y,
+ [in] float z,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+};
[
- uuid(58356c5d-0bfd-48ed-93c5-f4520b6233de),
- helpstring("D3DX8"),
- threading(both)
+ object,
+ uuid(9f76fb02-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSound3dListener Interface"),
+ local
]
-coclass D3DX8 { interface ID3DX8; };
+interface DirectSound3DListener8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetAllParameters(
+ [in, out] DS3DLISTENER *listener
+ );
+ HRESULT GetDistanceFactor(
+ [out, retval] float *distanceFactor
+ );
+ HRESULT GetDopplerFactor(
+ [out, retval] float *dopplerFactor
+ );
+ HRESULT GetOrientation(
+ [in, out] D3DVECTOR *orientFront,
+ [in, out] D3DVECTOR *orientTop
+ );
+ HRESULT GetPosition(
+ [out] D3DVECTOR *position
+ );
+ HRESULT GetRolloffFactor(
+ [out, retval] float *rolloffFactor
+ );
+ HRESULT GetVelocity(
+ [out, retval] D3DVECTOR *velocity
+ );
+ HRESULT SetAllParameters(
+ [in] DS3DLISTENER *listener,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetDistanceFactor(
+ [in] float distanceFactor,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetDopplerFactor(
+ [in] float dopplerFactor,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetOrientation(
+ [in] float xFront,
+ [in] float yFront,
+ [in] float zFront,
+ [in] float xTop,
+ [in] float yTop,
+ [in] float zTop,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetPosition(
+ [in] float x,
+ [in] float y,
+ [in] float z,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetRolloffFactor(
+ [in] float rolloffFactor,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT SetVelocity(
+ [in] float x,
+ [in] float y,
+ [in] float z,
+ [in] CONST_DS3DAPPLYFLAGS applyFlag
+ );
+ HRESULT CommitDeferredSettings(
+ );
+ HRESULT GetDirectSoundBuffer(
+ [out, retval] DirectSoundPrimaryBuffer8 **retVal
+ );
+};
+
+[
+ object,
+ uuid(4e6f040e-03fb-4ba1-897c-2265700d5368),
+ helpstring("DirectSoundPrimaryBuffer Interface"),
+ local
+]
+interface DirectSoundPrimaryBuffer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetDirectSound3DListener(
+ [out, retval] DirectSound3DListener8 **lpdsl
+ );
+ HRESULT GetCaps(
+ [in, out] DSBCAPS *caps
+ );
+ HRESULT GetCurrentPosition(
+ [out] DSCURSORS *cursors
+ );
+ HRESULT GetFormat(
+ [in, out] WAVEFORMATEX *format
+ );
+ HRESULT GetVolume(
+ [out, retval] long *volume
+ );
+ HRESULT GetPan(
+ [out, retval] long *pan
+ );
+ HRESULT GetStatus(
+ [out, retval] CONST_DSBSTATUSFLAGS *status
+ );
+ HRESULT Initialize(
+ [in] DirectSound8 *directSound,
+ [in, out] DSBUFFERDESC *bufferDesc,
+ [in, out] unsigned char *wbuf
+ );
+ HRESULT WriteBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSBLOCKFLAGS flags
+ );
+ HRESULT ReadBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSBLOCKFLAGS flags
+ );
+ HRESULT Play(
+ [in] CONST_DSBPLAYFLAGS flags
+ );
+ HRESULT SetFormat(
+ [in] WAVEFORMATEX *format
+ );
+ HRESULT SetVolume(
+ [in] long volume
+ );
+ HRESULT SetPan(
+ [in] long pan
+ );
+ HRESULT Stop(
+ );
+ HRESULT Restore(
+ );
+};
+
+[
+ object,
+ uuid(9f76fb00-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSound Interface"),
+ local
+]
+interface DirectSound8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CreateSoundBuffer(
+ [in] DSBUFFERDESC *bufferDesc,
+ [out, retval] DirectSoundSecondaryBuffer8 **soundBuffer
+ );
+ HRESULT CreateSoundBufferFromFile(
+ [in] BSTR filename,
+ [in, out] DSBUFFERDESC *bufferDesc,
+ [out, retval] DirectSoundSecondaryBuffer8 **soundBuffer
+ );
+ HRESULT CreateSoundBufferFromResource(
+ [in] BSTR dll,
+ [in] BSTR resourceName,
+ [in, out] DSBUFFERDESC *bufferDesc,
+ [out, retval] DirectSoundSecondaryBuffer8 **soundBuffer
+ );
+ HRESULT GetCaps(
+ [in, out] DSCAPS *caps
+ );
+ HRESULT DuplicateSoundBuffer(
+ [in] DirectSoundSecondaryBuffer8 *original,
+ [out, retval] DirectSoundSecondaryBuffer8 **duplicate
+ );
+ HRESULT SetCooperativeLevel(
+ [in] long hwnd,
+ [in] CONST_DSSCLFLAGS level
+ );
+ HRESULT GetSpeakerConfig(
+ [out, retval] CONST_DSSPEAKERFLAGS *speakerConfig
+ );
+ HRESULT SetSpeakerConfig(
+ [in] CONST_DSSPEAKERFLAGS speakerConfig
+ );
+ HRESULT CreatePrimarySoundBuffer(
+ [in] DSBUFFERDESC *bufferDesc,
+ [out, retval] DirectSoundPrimaryBuffer8 **soundBuffer
+ );
+};
+
+[
+ object,
+ uuid(9f76fb01-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSoundBuffer Interface"),
+ local
+]
+interface DirectSoundSecondaryBuffer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetDirectSound3DBuffer(
+ [out, retval] DirectSound3DBuffer8 **lpdsb
+ );
+ HRESULT GetCaps(
+ [in, out] DSBCAPS *caps
+ );
+ HRESULT GetCurrentPosition(
+ [out] DSCURSORS *cursors
+ );
+ HRESULT GetFormat(
+ [in, out] WAVEFORMATEX *format
+ );
+ HRESULT GetVolume(
+ [out, retval] long *volume
+ );
+ HRESULT GetPan(
+ [out, retval] long *pan
+ );
+ HRESULT GetFrequency(
+ [out, retval] long *frequency
+ );
+ HRESULT GetStatus(
+ [out, retval] CONST_DSBSTATUSFLAGS *status
+ );
+ HRESULT Initialize(
+ [in] DirectSound8 *directSound,
+ [in, out] DSBUFFERDESC *bufferDesc,
+ [in, out] unsigned char *wbuf
+ );
+ HRESULT WriteBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSBLOCKFLAGS flags
+ );
+ HRESULT ReadBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSBLOCKFLAGS flags
+ );
+ HRESULT Play(
+ [in] CONST_DSBPLAYFLAGS flags
+ );
+ HRESULT SetCurrentPosition(
+ [in] long newPosition
+ );
+ HRESULT SetVolume(
+ [in] long volume
+ );
+ HRESULT SetPan(
+ [in] long pan
+ );
+ HRESULT SetFrequency(
+ [in] long frequency
+ );
+ HRESULT Stop(
+ );
+ HRESULT Restore(
+ );
+ HRESULT SetNotificationPositions(
+ long nElements,
+ SAFEARRAY(DSBPOSITIONNOTIFY) *psa
+ );
+ HRESULT SaveToFile(
+ [in] BSTR filename
+ );
+ HRESULT SetFX(
+ [in] long lEffectsCount,
+ SAFEARRAY(DSEFFECTDESC) *buffers,
+ SAFEARRAY(long) *lResultIDs
+ );
+ HRESULT AcquireResources(
+ [in] long lFlags,
+ [in, out] SAFEARRAY(long) *lEffectsResults
+ );
+ HRESULT GetObjectinPath(
+ [in] BSTR guidFX,
+ [in] long lIndex,
+ [in] BSTR iidInterface,
+ [out, retval] IUnknown **ret
+ );
+};
+
+[
+ object,
+ uuid(9f76fb05-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSoundCaptureBuffer Interface"),
+ local
+]
+interface DirectSoundCaptureBuffer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetCaps(
+ [in, out] DSCBCAPS *caps
+ );
+ HRESULT GetCurrentPosition(
+ [in, out] DSCURSORS *cursors
+ );
+ HRESULT GetFormat(
+ [in, out] WAVEFORMATEX *waveformat
+ );
+ HRESULT GetStatus(
+ [out, retval] CONST_DSCBSTATUSFLAGS *status
+ );
+ HRESULT Initialize(
+ [in] DirectSoundCaptureBuffer8 *captureBuffer,
+ [in] DSCBUFFERDESC *bufferDesc
+ );
+ HRESULT start(
+ [in] CONST_DSCBSTARTFLAGS flags
+ );
+ HRESULT Stop(
+ );
+ HRESULT WriteBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSCBLOCKFLAGS flags
+ );
+ HRESULT ReadBuffer(
+ [in] long start,
+ [in] long size,
+ [in] void *buffer,
+ [in] CONST_DSCBLOCKFLAGS flags
+ );
+ HRESULT SetNotificationPositions(
+ long nElements,
+ SAFEARRAY(DSBPOSITIONNOTIFY) *psa
+ );
+};
+
+[
+ object,
+ uuid(9f76fb04-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DirectSoundCapture Interface"),
+ local
+]
+interface DirectSoundCapture8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CreateCaptureBuffer(
+ [in] DSCBUFFERDESC *bufferDesc,
+ [out, retval] DirectSoundCaptureBuffer8 **ret
+ );
+ HRESULT GetCaps(
+ [in, out] DSCCAPS *caps
+ );
+};
+
+[
+ object,
+ uuid(9f76fb07-8e92-11d1-8808-00c04fc2c603),
+ helpstring("DSEnum Interface"),
+ local
+]
+interface DirectSoundEnum8 : IUnknown {
+ HRESULT GetGuid(
+ [in] long index,
+ [out, retval] BSTR *guid
+ );
+ HRESULT GetDescription(
+ [in] long index,
+ [out, retval] BSTR *guid
+ );
+ HRESULT GetName(
+ [in] long index,
+ [out, retval] BSTR *guid
+ );
+ HRESULT GetCount(
+ [out, retval] long *count
+ );
+};
+
+[
+ object,
+ uuid(9f76fa05-8e92-11d1-8808-00c04fc2c602),
+ helpstring("I_dxj_DirectInputDeviceObjectInstance Interface"),
+ local
+]
+interface DirectInputDeviceObjectInstance : IUnknown {
+ HRESULT GetGuidType(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetOfs(
+ [out, retval] long *ret
+ );
+ HRESULT GetType(
+ [out, retval] long *ret
+ );
+ HRESULT GetFlags(
+ [out, retval] CONST_DIDEVICEOBJINSTANCEFLAGS *ret
+ );
+ HRESULT GetName(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetCollectionNumber(
+ [out, retval] short *ret
+ );
+ HRESULT GetDesignatorIndex(
+ [out, retval] short *ret
+ );
+ HRESULT GetUsagePage(
+ [out, retval] short *ret
+ );
+ HRESULT GetUsage(
+ [out, retval] short *ret
+ );
+ HRESULT GetDimension(
+ [out, retval] long *ret
+ );
+ HRESULT GetExponent(
+ [out, retval] short *ret
+ );
+};
+
+[
+ object,
+ uuid(9f76fa08-8e92-11d1-8808-00c04fc2c602),
+ helpstring("I_dxj_DIEnumDeviceObjects Interface"),
+ local
+]
+interface DirectInputEnumDeviceObjects : IUnknown {
+ HRESULT GetItem(
+ [in] long index,
+ [out, retval] DirectInputDeviceObjectInstance **info
+ );
+ HRESULT GetCount(
+ [out, retval] long *count
+ );
+};
+
+[
+ object,
+ uuid(819d20c2-8ad2-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectInputDeviceInstance8 Interface"),
+ local
+]
+interface DirectInputDeviceInstance8 : IUnknown {
+ HRESULT GetGuidInstance(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetGuidProduct(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetProductName(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetInstanceName(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetGuidFFDriver(
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetUsagePage(
+ [out, retval] short *ret
+ );
+ HRESULT GetUsage(
+ [out, retval] short *ret
+ );
+ HRESULT GetDevType(
+ [out, retval] long *ret
+ );
+};
+
+[
+ object,
+ uuid(bcaa7da9-f7ef-11d2-93fd-00c04fc2c602),
+ helpstring("I_dxj_DirectInputEffect Interface"),
+ local
+]
+interface DirectInputEffect : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT Download(
+ );
+ HRESULT GetEffectGuid(
+ [out, retval] BSTR *guid
+ );
+ HRESULT GetEffectStatus(
+ [out, retval] long *ret
+ );
+ HRESULT start(
+ [in] long iterations,
+ [in] long flags
+ );
+ HRESULT Stop(
+ );
+ HRESULT Unload(
+ );
+ HRESULT SetParameters(
+ [in] DIEFFECT *effectinfo,
+ [in] CONST_DIEPFLAGS flags
+ );
+ HRESULT GetParameters(
+ [in, out] DIEFFECT *effectinfo
+ );
+};
+
+[
+ object,
+ uuid(bcaa7daa-f7ef-11d2-93fd-00c04fc2c602),
+ helpstring("I_dxj_DirectInputEnumEffects Interface"),
+ local
+]
+interface DirectInputEnumEffects : IUnknown {
+ HRESULT GetCount(
+ [out, retval] long *ret
+ );
+ HRESULT GetEffectGuid(
+ [in] long i,
+ [out, retval] BSTR *ret
+ );
+ HRESULT GetType(
+ [in] long i,
+ [out, retval] CONST_DIEFTFLAGS *ret
+ );
+ HRESULT GetStaticParams(
+ [in] long i,
+ [out, retval] CONST_DIEPFLAGS *ret
+ );
+ HRESULT GetDynamicParams(
+ [in] long i,
+ [out, retval] CONST_DIEPFLAGS *ret
+ );
+ HRESULT GetName(
+ [in] long i,
+ [out, retval] BSTR *ret
+ );
+};
+
+[
+ object,
+ uuid(819d20c3-8ad2-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectInputDevice8 Interface"),
+ local
+]
+interface DirectInputDevice8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT Acquire(
+ );
+ HRESULT GetDeviceObjectsEnum(
+ [in] CONST_DIDFTFLAGS flags,
+ [out, retval] DirectInputEnumDeviceObjects **ppret
+ );
+ HRESULT GetCapabilities(
+ [in, out] DIDEVCAPS *caps
+ );
+ HRESULT GetDeviceData(
+ [in, out] SAFEARRAY(DIDEVICEOBJECTDATA) *deviceObjectDataArray,
+ [in] CONST_DIDGDDFLAGS flags,
+ [out, retval] long *c
+ );
+ HRESULT GetDeviceInfo(
+ [out, retval] DirectInputDeviceInstance8 **deviceInstance
+ );
+ HRESULT GetDeviceStateKeyboard(
+ [in, out] DIKEYBOARDSTATE *state
+ );
+ HRESULT GetDeviceStateMouse(
+ [in, out] DIMOUSESTATE *state
+ );
+ HRESULT GetDeviceStateMouse2(
+ [in, out] DIMOUSESTATE2 *state
+ );
+ HRESULT GetDeviceStateJoystick(
+ [in, out] DIJOYSTATE *state
+ );
+ HRESULT GetDeviceStateJoystick2(
+ [in, out] DIJOYSTATE2 *state
+ );
+ HRESULT GetDeviceState(
+ [in] long cb,
+ [in] void *state
+ );
+ HRESULT GetObjectInfo(
+ [in] long obj,
+ [in] CONST_DIPHFLAGS how,
+ [out, retval] DirectInputDeviceObjectInstance **ret
+ );
+ HRESULT GetProperty(
+ [in] BSTR guid,
+ [out] void *propertyInfo
+ );
+ HRESULT RunControlPanel(
+ [in] long hwnd
+ );
+ HRESULT SetCooperativeLevel(
+ [in] long hwnd,
+ [in] CONST_DISCLFLAGS flags
+ );
+ HRESULT SetCommonDataFormat(
+ [in] CONST_DICOMMONDATAFORMATS format
+ );
+ HRESULT SetDataFormat(
+ [in] DIDATAFORMAT *format,
+ SAFEARRAY(DIOBJECTDATAFORMAT) *formatArray
+ );
+ HRESULT SetEventNotification(
+ [in] long hEvent
+ );
+ HRESULT SetProperty(
+ [in] BSTR guid,
+ [in] void *propertyInfo
+ );
+ HRESULT Unacquire(
+ );
+ HRESULT Poll(
+ );
+ HRESULT CreateEffect(
+ [in] BSTR effectGuid,
+ [in] DIEFFECT *effectinfo,
+ [out, retval] DirectInputEffect **ret
+ );
+ HRESULT CreateCustomEffect(
+ [in] DIEFFECT *effectinfo,
+ [in] long channels,
+ [in] long samplePeriod,
+ [in] long nSamples,
+ [in] SAFEARRAY(long) *sampledata,
+ [out, retval] DirectInputEffect **ret
+ );
+ HRESULT SendDeviceData(
+ [in] long count,
+ [in] SAFEARRAY(DIDEVICEOBJECTDATA) *data,
+ [in] CONST_DISDDFLAGS flags,
+ [out, retval] long *retcount
+ );
+ HRESULT SendForceFeedbackCommand(
+ [in] CONST_DISFFCFLAGS flags
+ );
+ HRESULT GetForceFeedbackState(
+ [out, retval] CONST_DIGFFSFLAGS *state
+ );
+ HRESULT GetEffectsEnum(
+ [in] CONST_DIEFTFLAGS effType,
+ [out, retval] DirectInputEnumEffects **ret
+ );
+ HRESULT BuildActionMap(
+ [in, out] DIACTIONFORMAT *format,
+ [in] BSTR username,
+ [in] long flags
+ );
+ HRESULT SetActionMap(
+ [in, out] DIACTIONFORMAT *format,
+ [in] BSTR username,
+ [in] long flags
+ );
+ HRESULT GetImageInfo(
+ [out] DIDEVICEIMAGEINFOHEADER *info
+ );
+ HRESULT GetImageInfoCount(
+ [out, retval] long *c
+ );
+ HRESULT WriteEffectToFile(
+ [in] BSTR filename,
+ [in] long flags,
+ [in] BSTR guid,
+ [in] BSTR name,
+ [in] DIEFFECT *coverEffect
+ );
+ HRESULT CreateEffectFromFile(
+ [in] BSTR filename,
+ [in] long flags,
+ [in] BSTR effectName,
+ [out, retval] DirectInputEffect **ret
+ );
+};
+
+[
+ object,
+ uuid(819d20c4-8ad2-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DIEnumDevices8 Interface"),
+ local
+]
+interface DirectInputEnumDevices8 : IUnknown {
+ HRESULT GetItem(
+ [in] long index,
+ [out, retval] DirectInputDeviceInstance8 **info
+ );
+ HRESULT GetCount(
+ [out, retval] long *count
+ );
+};
+
+[
+ object,
+ uuid(819d20c1-8ad2-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectInput8 Interface"),
+ local
+]
+interface DirectInput8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CreateDevice(
+ [in] BSTR guid,
+ [out, retval] DirectInputDevice8 **dev
+ );
+ HRESULT GetDIDevices(
+ [in] CONST_DI8DEVICETYPE deviceType,
+ [in] CONST_DIENUMDEVICESFLAGS flags,
+ [out, retval] DirectInputEnumDevices8 **retVal
+ );
+ HRESULT GetDeviceStatus(
+ [in] BSTR guid,
+ [out, retval] VARIANT_BOOL *status
+ );
+ HRESULT RunControlPanel(
+ [in] long hwndOwner
+ );
+ HRESULT GetDevicesBySemantics(
+ [in] BSTR str1,
+ [in] DIACTIONFORMAT *format,
+ [in] long flags,
+ [out, retval] DirectInputEnumDevices8 **ret
+ );
+ HRESULT ConfigureDevices(
+ [in] long hEvent,
+ [in] DICONFIGUREDEVICESPARAMS *CDParams,
+ [in] long flags
+ );
+};
+
+[
+ object,
+ uuid(fafa35a5-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicChordMap Interface"),
+ local
+]
+interface DirectMusicChordMap8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetScale(
+ [out, retval] long *scale
+ );
+};
+
+[
+ object,
+ uuid(fafa35a8-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicCollection Interface"),
+ local
+]
+interface DirectMusicCollection8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+};
+
+[
+ object,
+ uuid(fafa35a4-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicStyle Interface"),
+ local
+]
+interface DirectMusicStyle8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetBandName(
+ [in] long index,
+ [out, retval] BSTR *name
+ );
+ HRESULT GetBandCount(
+ [out, retval] long *count
+ );
+ HRESULT GetBand(
+ [in] BSTR name,
+ [out, retval] DirectMusicBand8 **ret
+ );
+ HRESULT GetDefaultBand(
+ [out, retval] DirectMusicBand8 **ret
+ );
+ HRESULT GetMotifName(
+ [in] long index,
+ [out, retval] BSTR *name
+ );
+ HRESULT GetMotifCount(
+ [out, retval] long *count
+ );
+ HRESULT GetMotif(
+ [in] BSTR name,
+ [out, retval] DirectMusicSegment8 **ret
+ );
+ HRESULT GetTimeSignature(
+ [in, out] DMUS_TIMESIGNATURE *pTimeSig
+ );
+ HRESULT GetTempo(
+ [out, retval] double *pTempo
+ );
+};
+
+[
+ object,
+ uuid(fafa35a1-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicSegment Interface"),
+ local
+]
+interface DirectMusicSegment8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT Clone(
+ [in] long mtStart,
+ [in] long mtEnd,
+ [out, retval] DirectMusicSegment8 **ppSegment
+ );
+ HRESULT SetStartPoint(
+ [in] long mtStart
+ );
+ HRESULT GetStartPoint(
+ [out, retval] long *pmtStart
+ );
+ HRESULT SetLoopPoints(
+ [in] long mtStart,
+ [in] long mtEnd
+ );
+ HRESULT GetLoopPointStart(
+ [out, retval] long *pmtStart
+ );
+ HRESULT GetLoopPointEnd(
+ [out, retval] long *pmtEnd
+ );
+ HRESULT GetLength(
+ [out, retval] long *pmtLength
+ );
+ HRESULT SetLength(
+ [in] long mtLength
+ );
+ HRESULT GetRepeats(
+ [out, retval] long *lRepeats
+ );
+ HRESULT SetRepeats(
+ [in] long lRepeats
+ );
+ HRESULT Download(
+ [in] IUnknown *downloadpath
+ );
+ HRESULT Unload(
+ [in] IUnknown *downloadpath
+ );
+ HRESULT SetAutoDownloadEnable(
+ [in] VARIANT_BOOL b
+ );
+ HRESULT SetTempoEnable(
+ [in] VARIANT_BOOL b
+ );
+ HRESULT SetTimeSigEnable(
+ [in] VARIANT_BOOL b
+ );
+ HRESULT SetStandardMidiFile(
+ );
+ HRESULT ConnectToCollection(
+ [in] DirectMusicCollection8 *c
+ );
+ HRESULT GetAudioPathConfig(
+ [out, retval] IUnknown **ret
+ );
+ HRESULT GetStyle(
+ [in] long lTrack,
+ [out, retval] DirectMusicStyle8 **ret
+ );
+ HRESULT GetChordMap(
+ [in] long lTrack,
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] DirectMusicChordMap8 **ret
+ );
+ HRESULT GetName(
+ [out, retval] BSTR *ret
+ );
+};
+
+[
+ object,
+ uuid(fafa35a6-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicSegmentState Interface"),
+ local
+]
+interface DirectMusicSegmentState8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetRepeats(
+ [out, retval] long *repeats
+ );
+ HRESULT GetSeek(
+ [out, retval] long *seek
+ );
+ HRESULT GetStartPoint(
+ [out, retval] long *seek
+ );
+ HRESULT GetStartTime(
+ [out, retval] long *seek
+ );
+ HRESULT GetSegment(
+ [out, retval] DirectMusicSegment8 **segment
+ );
+};
+
+[
+ object,
+ uuid(a4a8597a-ba7a-4648-b321-1701598844d8),
+ helpstring("DirectMusicAudioPath Interface"),
+ local
+]
+interface DirectMusicAudioPath8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT GetObjectinPath(
+ [in] long lPChannel,
+ [in] CONST_DMUSIC_PATH lStage,
+ [in] long lBuffer,
+ [in] BSTR guidObject,
+ [in] long lIndex,
+ [in] BSTR iidInterface,
+ [out, retval] IUnknown **ppObject
+ );
+ HRESULT Activate(
+ [in] VARIANT_BOOL fActive
+ );
+ HRESULT SetVolume(
+ [in] long lVolume,
+ [in] long lDuration
+ );
+};
+
+[
+ object,
+ uuid(fafa35a7-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicPerformance Interface"),
+ local
+]
+interface DirectMusicPerformance8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CloseDown(
+ );
+ HRESULT GetSegmentState(
+ [in] long mtTime,
+ [out, retval] DirectMusicSegmentState8 **ret
+ );
+ HRESULT Invalidate(
+ [in] long mtTime,
+ [in] long flags
+ );
+ HRESULT IsPlaying(
+ [in] DirectMusicSegment8 *segment,
+ [in] DirectMusicSegmentState8 *segmentState,
+ [out, retval] VARIANT_BOOL *b
+ );
+ HRESULT AddNotificationType(
+ [in] CONST_DMUS_NOTIFICATION_TYPE type
+ );
+ HRESULT RemoveNotificationType(
+ [in] CONST_DMUS_NOTIFICATION_TYPE type
+ );
+ HRESULT SetNotificationHandle(
+ [in] long hnd
+ );
+ HRESULT GetNotificationPMSG(
+ [in, out] DMUS_NOTIFICATION_PMSG *message,
+ [out, retval] VARIANT_BOOL *success
+ );
+ HRESULT MusicToClockTime(
+ [in] long mtTime,
+ [out, retval] long *ctTime
+ );
+ HRESULT ClockToMusicTime(
+ [in] long ctTime,
+ [out, retval] long *mtTime
+ );
+ HRESULT GetMusicTime(
+ [out, retval] long *ret
+ );
+ HRESULT GetClockTime(
+ [out, retval] long *ret
+ );
+ HRESULT GetPrepareTime(
+ [out, retval] long *lMilliSeconds
+ );
+ HRESULT GetBumperLength(
+ [out, retval] long *lMilliSeconds
+ );
+ HRESULT GetLatencyTime(
+ [out, retval] long *ctTime
+ );
+ HRESULT GetQueueTime(
+ [out, retval] long *ctTime
+ );
+ HRESULT GetResolvedTime(
+ [in] long ctTime,
+ [in] long flags,
+ [out, retval] long *ret
+ );
+ HRESULT SetPrepareTime(
+ [in] long lMilliSeconds
+ );
+ HRESULT SetBumperLength(
+ [in] long lMilliSeconds
+ );
+ HRESULT AdjustTime(
+ [in] long tAmount
+ );
+ HRESULT SetMasterAutoDownload(
+ [in] VARIANT_BOOL b
+ );
+ HRESULT GetMasterAutoDownload(
+ [out, retval] VARIANT_BOOL *b
+ );
+ HRESULT SetMasterTempo(
+ [in] float tempo
+ );
+ HRESULT GetMasterTempo(
+ [out, retval] float *tempo
+ );
+ HRESULT SetMasterVolume(
+ [in] long vol
+ );
+ HRESULT GetMasterVolume(
+ [out, retval] long *v
+ );
+ HRESULT SetMasterGrooveLevel(
+ [in] short level
+ );
+ HRESULT GetMasterGrooveLevel(
+ [out, retval] short *level
+ );
+ HRESULT Reset(
+ [in] long resetflags
+ );
+ HRESULT GetStyle(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] DirectMusicStyle8 **ret
+ );
+ HRESULT GetChordMap(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] DirectMusicChordMap8 **ret
+ );
+ HRESULT GetCommand(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] unsigned char *command
+ );
+ HRESULT GetGrooveLevel(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] unsigned char *level
+ );
+ HRESULT GetTempo(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [out, retval] double *tempo
+ );
+ HRESULT GetTimeSig(
+ [in] long mtTime,
+ [in, out] long *mtUntil,
+ [in, out] DMUS_TIMESIGNATURE *timeSig
+ );
+ HRESULT SendNotePMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] long channel,
+ [in] DMUS_NOTE_PMSG *msg
+ );
+ HRESULT SendCurvePMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] long channel,
+ [in] DMUS_CURVE_PMSG *msg
+ );
+ HRESULT SendMIDIPMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] long channel,
+ [in] unsigned char status,
+ [in] unsigned char byte1,
+ [in] unsigned char byte2
+ );
+ HRESULT SendPatchPMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] long channel,
+ [in] unsigned char instrument,
+ [in] unsigned char byte1,
+ [in] unsigned char byte2
+ );
+ HRESULT SendTempoPMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] double tempo
+ );
+ HRESULT SendTransposePMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] long channel,
+ [in] short transpose
+ );
+ HRESULT SendTimeSigPMSG(
+ [in] long lTime,
+ [in] long flags,
+ [in] DMUS_TIMESIGNATURE *timeSig
+ );
+ HRESULT InitAudio(
+ [in] long hwnd,
+ [in] CONST_DMUS_AUDIO lFlags,
+ [in, out] DMUS_AUDIOPARAMS *audioParams,
+ [in, out, optional] DirectSound8 **directSound,
+ [in, optional] CONST_DMUSIC_STANDARD_AUDIO_PATH lDefaultPathType,
+ [in, optional] long lPChannelCount
+ );
+ HRESULT PlaySegmentEx(
+ [in] IUnknown *source,
+ [in] CONST_DMUS_SEGF_FLAGS lFlags,
+ [in] long startTime,
+ [in, optional] IUnknown *from,
+ [in, optional] IUnknown *audioPath,
+ [out, retval] DirectMusicSegmentState8 **ppSegmentState
+ );
+ HRESULT StopEx(
+ [in] IUnknown *objectToStop,
+ [in] long lStopTime,
+ [in] CONST_DMUS_SEGF_FLAGS lFlags
+ );
+ HRESULT CreateAudioPath(
+ [in] IUnknown *sourceConfig,
+ [in] VARIANT_BOOL fActive,
+ [out, retval] DirectMusicAudioPath8 **ppNewPath
+ );
+ HRESULT CreateStandardAudioPath(
+ [in] CONST_DMUSIC_STANDARD_AUDIO_PATH lType,
+ [in] long lPChannelCount,
+ [in] VARIANT_BOOL fActive,
+ [out, retval] DirectMusicAudioPath8 **ppNewPath
+ );
+ HRESULT SetDefaultAudioPath(
+ [in, out] DirectMusicAudioPath8 *audioPath
+ );
+ HRESULT GetDefaultAudioPath(
+ [out, retval] DirectMusicAudioPath8 **ppAudioPath
+ );
+};
+
+[
+ object,
+ uuid(fafa35a3-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicBand Interface"),
+ local
+]
+interface DirectMusicBand8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CreateSegment(
+ [out, retval] DirectMusicSegment8 **ret
+ );
+ HRESULT Download(
+ [in] DirectMusicPerformance8 *downloadpath
+ );
+ HRESULT Unload(
+ [in] DirectMusicPerformance8 *downloadpath
+ );
+};
+
+[
+ object,
+ uuid(fafa35a0-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicLoader Interface"),
+ local
+]
+interface DirectMusicLoader8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT LoadSegment(
+ [in] BSTR filename,
+ [out, retval] DirectMusicSegment8 **ret
+ );
+ HRESULT LoadStyle(
+ [in] BSTR filename,
+ [out, retval] DirectMusicStyle8 **ret
+ );
+ HRESULT LoadBand(
+ [in] BSTR filename,
+ [out, retval] DirectMusicBand8 **ret
+ );
+ HRESULT LoadCollection(
+ [in] BSTR filename,
+ [out, retval] DirectMusicCollection8 **ret
+ );
+ HRESULT LoadSegmentFromResource(
+ [in] BSTR moduleName,
+ [in] BSTR resourceName,
+ [out, retval] DirectMusicSegment8 **ret
+ );
+ HRESULT LoadStyleFromResource(
+ [in] BSTR moduleName,
+ [in] BSTR resourceName,
+ [out, retval] DirectMusicStyle8 **ret
+ );
+ HRESULT LoadBandFromResource(
+ [in] BSTR moduleName,
+ [in] BSTR resourceName,
+ [out, retval] DirectMusicBand8 **ret
+ );
+ HRESULT LoadCollectionFromResource(
+ [in] BSTR moduleName,
+ [in] BSTR resourceName,
+ [out, retval] DirectMusicCollection8 **ret
+ );
+ HRESULT SetSearchDirectory(
+ [in] BSTR dir
+ );
+ HRESULT LoadChordMap(
+ [in] BSTR filename,
+ [out, retval] DirectMusicChordMap8 **ret
+ );
+ HRESULT LoadChordMapFromResource(
+ [in] BSTR moduleName,
+ [in] BSTR resourceName,
+ [out, retval] DirectMusicChordMap8 **ret
+ );
+};
+
+[
+ object,
+ uuid(fafa35a2-8b72-11d2-90b2-00c04fc2c603),
+ helpstring("DirectMusicComposer Interface"),
+ local
+]
+interface DirectMusicComposer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT AutoTransition(
+ [in] DirectMusicPerformance8 *performance,
+ [in] DirectMusicSegment8 *toSeg,
+ [in] long lCommand,
+ [in] long lFlags,
+ [in] DirectMusicChordMap8 *chordmap,
+ [out, retval] DirectMusicSegment8 **ppTransSeg
+ );
+ HRESULT ComposeSegmentFromTemplate(
+ [in] DirectMusicStyle8 *style,
+ [in] DirectMusicSegment8 *templateSeg,
+ [in] short activity,
+ [in] DirectMusicChordMap8 *chordmap,
+ [out, retval] DirectMusicSegment8 **sectionSeg
+ );
+ HRESULT ComposeSegmentFromShape(
+ [in] DirectMusicStyle8 *style,
+ [in] short numberOfMeasures,
+ [in] short shape,
+ [in] short activity,
+ [in] VARIANT_BOOL bIntro,
+ [in] VARIANT_BOOL bEnd,
+ [in] DirectMusicChordMap8 *chordmap,
+ [out, retval] DirectMusicSegment8 **sectionSeg
+ );
+ HRESULT ComposeTransition(
+ [in] DirectMusicSegment8 *fromSeg,
+ [in] DirectMusicSegment8 *toSeg,
+ [in] long mtTime,
+ [in] long lCommand,
+ [in] long lFlags,
+ [in] DirectMusicChordMap8 *chordmap,
+ [out, retval] DirectMusicSegment8 **sectionSeg
+ );
+ HRESULT ComposeTemplateFromShape(
+ [in] short numMeasures,
+ [in] short shape,
+ [in] VARIANT_BOOL bIntro,
+ [in] VARIANT_BOOL bEnd,
+ [in] short endLength,
+ [out, retval] DirectMusicSegment8 **tempSeg
+ );
+ HRESULT ChangeChordMap(
+ [in] DirectMusicSegment8 *segment,
+ [in] VARIANT_BOOL trackScale,
+ [in] DirectMusicChordMap8 *chordmap
+ );
+};
+
+[
+ object,
+ uuid(d1ca9b18-9ed2-43b5-8759-7a5c892d4c5c),
+ helpstring("I_dxj_DirectXEvent8 Interface"),
+ local,
+ oleautomation
+]
+interface DirectXEvent8 : IUnknown {
+ HRESULT DXCallback(
+ [in] long eventid
+ );
+};
+
+[
+ object,
+ uuid(26ae5141-8010-46ea-861c-f9fc0f8b61d9),
+ helpstring("DirectPlayVoice Event Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlayVoiceEvent8 : IUnknown {
+ HRESULT SessionLost(
+ [in] long resultCode
+ );
+ HRESULT ConnectResult(
+ [in] long resultCode
+ );
+ HRESULT DisconnectResult(
+ [in] long resultCode
+ );
+ HRESULT CreateVoicePlayer(
+ [in] long playerID,
+ [in] long flags
+ );
+ HRESULT DeleteVoicePlayer(
+ [in] long playerID
+ );
+ HRESULT HostMigrated(
+ [in] long newHostID,
+ [in, out] DirectPlayVoiceServer8 *newServer
+ );
+ HRESULT InputLevel(
+ [in] long peakLevel,
+ [in] long recordVolume
+ );
+ HRESULT OutputLevel(
+ [in] long peakLevel,
+ [in] long outputVolume
+ );
+ HRESULT PlayerOutputLevel(
+ [in] long sourcePlayerID,
+ [in] long peakLevel
+ );
+ HRESULT PlayerVoiceStart(
+ [in] long sourcePlayerID
+ );
+ HRESULT PlayerVoiceStop(
+ [in] long sourcePlayerID
+ );
+ HRESULT RecordStart(
+ [in] long peakVolume
+ );
+ HRESULT RecordStop(
+ [in] long peakVolume
+ );
+};
+
+[
+ object,
+ uuid(9f76ff0f-8e92-11d1-1515-00c04fc2c313),
+ helpstring("IDirectPlayVoiceServer Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlayVoiceServer8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT Initialize(
+ [in] IUnknown *DplayObj,
+ [in] long lFlags
+ );
+ HRESULT StartSession(
+ [in] DVSESSIONDESC *sessionDesc,
+ [in] long lFlags
+ );
+ HRESULT StopSession(
+ [in] long lFlags
+ );
+ HRESULT GetSessionDesc(
+ [out, retval] DVSESSIONDESC *sessionDesc
+ );
+ HRESULT SetSessionDesc(
+ [in] DVSESSIONDESC *clientConfig
+ );
+ HRESULT GetCaps(
+ [out, retval] DVCAPS *caps
+ );
+ HRESULT GetCompressionTypeCount(
+ [out, retval] long *v1
+ );
+ HRESULT GetCompressionType(
+ [in] long lIndex,
+ [in, out] DVCOMPRESSIONINFO *data,
+ [in] long lFlags
+ );
+ HRESULT SetTransmitTargets(
+ [in] long playerSourceID,
+ [in] SAFEARRAY(long) *playerTargetIDs,
+ [in] long lFlags
+ );
+ HRESULT GetTransmitTargets(
+ [in] long playerSourceID,
+ [in] long lFlags,
+ [out, retval] SAFEARRAY(long) *ret
+ );
+ HRESULT StartServerNotification(
+ [in] DirectPlayVoiceEvent8 *event
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+};
+
+[
+ object,
+ uuid(9f76ff0f-8e92-11d1-1515-00c04fc2c312),
+ helpstring("IDirectPlayVoiceClient Interface"),
+ local
+]
+interface DirectPlayVoiceClient8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT Initialize(
+ [in] IUnknown *DplayObj,
+ [in] long lFlags
+ );
+ HRESULT Connect(
+ [in] DVSOUNDDEVICECONFIG *soundDeviceConfig,
+ [in] DVCLIENTCONFIG *clientConfig,
+ [in] long lFlags
+ );
+ HRESULT Disconnect(
+ [in] long lFlags
+ );
+ HRESULT GetSessionDesc(
+ [out, retval] DVSESSIONDESC *sessionDesc
+ );
+ HRESULT GetClientConfig(
+ [out, retval] DVCLIENTCONFIG *clientConfig
+ );
+ HRESULT SetClientConfig(
+ [in] DVCLIENTCONFIG *clientConfig
+ );
+ HRESULT GetCaps(
+ [out, retval] DVCAPS *caps
+ );
+ HRESULT GetCompressionTypeCount(
+ [out, retval] long *v1
+ );
+ HRESULT GetCompressionType(
+ [in] long lIndex,
+ [in, out] DVCOMPRESSIONINFO *data,
+ [in] long lFlags
+ );
+ HRESULT SetTransmitTargets(
+ [in] SAFEARRAY(long) *playerIDs,
+ [in] long lFlags
+ );
+ HRESULT GetTransmitTargets(
+ [in] long lFlags,
+ [out, retval] SAFEARRAY(long) *ret
+ );
+ HRESULT SetCurrentSoundDevices(
+ [in] DirectSound8 *directSoundObj,
+ [in] DirectSoundCapture8 *directCaptureObj
+ );
+ HRESULT GetSoundDevices(
+ [in, out] DirectSound8 *directSoundObj,
+ [in, out] DirectSoundCapture8 *directCaptureObj
+ );
+ HRESULT Create3DSoundBuffer(
+ [in] long playerID,
+ [in, optional] DirectSoundSecondaryBuffer8 *buffer,
+ [in, optional] long lPriority,
+ [in, optional] CONST_DSBPLAYFLAGS lFlags,
+ [out, retval] DirectSound3DBuffer8 **userBuffer
+ );
+ HRESULT Delete3DSoundBuffer(
+ [in] long playerID,
+ [in] DirectSound3DBuffer8 *userBuffer
+ );
+ HRESULT GetSoundDeviceConfig(
+ [out, retval] DVSOUNDDEVICECONFIG *soundDeviceConfig
+ );
+ HRESULT StartClientNotification(
+ [in] DirectPlayVoiceEvent8 *event
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+};
+
+[
+ object,
+ uuid(9f76ff0f-8e92-11d1-1515-00c04fc2c314),
+ helpstring("DirectPlayVoiceTest Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlayVoiceTest8 : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT CheckAudioSetup(
+ [in] BSTR guidPlaybackDevice,
+ [in] BSTR guidCaptureDevice,
+ [in] long hwndOwner,
+ [in] long lFlags,
+ [out, retval] long *v1
+ );
+};
+
+[
+ object,
+ uuid(e7ff12e6-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectXFileObject Interface"),
+ local
+]
+interface DirectXFileObject : IUnknown {
+ HRESULT GetName(
+ [out, retval] BSTR *name
+ );
+ HRESULT GetId(
+ [out, retval] BSTR *name
+ );
+};
+
+[
+ object,
+ uuid(e7ff12e7-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectXFileData Interface"),
+ local
+]
+interface DirectXFileData : IUnknown {
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **ret
+ );
+ HRESULT InternalSetObject(
+ [in] IUnknown *realinterface
+ );
+ HRESULT GetName(
+ [out, retval] BSTR *name
+ );
+ HRESULT GetId(
+ [out, retval] BSTR *name
+ );
+ HRESULT GetDataSize(
+ [in] BSTR name,
+ [out, retval] long *size
+ );
+ HRESULT GetData(
+ [in] BSTR name,
+ [in] void *data
+ );
+ HRESULT GetType(
+ [out, retval] BSTR *type
+ );
+ HRESULT GetNextObject(
+ [out, retval] DirectXFileObject **type
+ );
+ HRESULT AddDataObject(
+ [in] DirectXFileData *data
+ );
+ HRESULT AddDataReference(
+ [in] BSTR name,
+ [in] BSTR guid
+ );
+ HRESULT AddBinaryObject(
+ [in] BSTR name,
+ [in] BSTR guidObject,
+ [in] BSTR MimeType,
+ [in] void *data,
+ [in] long size
+ );
+ HRESULT GetDataFromOffset(
+ [in] BSTR name,
+ [in] long offset,
+ [in] long bytecount,
+ [in] void *data
+ );
+};
+
+[
+ object,
+ uuid(e7ff12e4-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectXFileEnum Interface"),
+ local
+]
+interface DirectXFileEnum : IUnknown {
+ HRESULT GetNextDataObject(
+ [out, retval] DirectXFileData **ret
+ );
+ HRESULT GetDataObjectById(
+ [in] BSTR id,
+ DirectXFileData **ret
+ );
+ HRESULT GetDataObjectByName(
+ [in] BSTR id,
+ DirectXFileData **ret
+ );
+};
+
+[
+ object,
+ uuid(e7ff12e5-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectXFileSave Interface"),
+ local
+]
+interface DirectXFileSave : IUnknown {
+ HRESULT SaveTemplates(
+ [in] long count,
+ SAFEARRAY(BSTR) *templateGuids
+ );
+ HRESULT CreateDataObject(
+ [in] BSTR templateGuid,
+ [in] BSTR name,
+ [in] BSTR dataTypeGuid,
+ [in] long bytecount,
+ [in] void *data,
+ [out, retval] DirectXFileData **ret
+ );
+ HRESULT SaveData(
+ [in] DirectXFileData *dataObj
+ );
+};
+
+[
+ object,
+ uuid(e7ff12e3-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("I_dxj_DirectXFile Interface"),
+ local
+]
+interface DirectXFile : IUnknown {
+ HRESULT CreateEnumObject(
+ [in] BSTR filename,
+ [out, retval] DirectXFileEnum **ret
+ );
+ HRESULT CreateSaveObject(
+ [in] BSTR filename,
+ [in] long flags,
+ [out, retval] DirectXFileSave **ret
+ );
+ HRESULT RegisterTemplates(
+ [in] void *templatedata,
+ [in] long size
+ );
+ HRESULT RegisterDefaultTemplates(
+ );
+};
+
+[
+ object,
+ uuid(eca8bd2a-7154-4b23-904b-61ff852a906b),
+ helpstring("DirectPlayAddress Interface"),
+ local
+]
+interface DirectPlay8Address : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT BuildFromURL(
+ [in] BSTR SourceURL
+ );
+ HRESULT Duplicate(
+ [out, retval] DirectPlay8Address **newAddress
+ );
+ HRESULT Clear(
+ );
+ HRESULT GetURL(
+ [out, retval] BSTR *url
+ );
+ HRESULT GetSP(
+ [out, retval] BSTR *guidSP
+ );
+ HRESULT GetUserData(
+ [in, out] void *userData,
+ [out, retval] long *lBufferSize
+ );
+ HRESULT SetSP(
+ [in] BSTR guidSP
+ );
+ HRESULT SetUserData(
+ [in] void *userData,
+ [in] long lDataSize
+ );
+ HRESULT GetNumComponents(
+ [out, retval] long *lNumComponents
+ );
+ HRESULT GetDevice(
+ [out, retval] BSTR *guidDevice
+ );
+ HRESULT SetDevice(
+ [in] BSTR guidDevice
+ );
+ HRESULT SetEqual(
+ [in] DirectPlay8Address *address
+ );
+ HRESULT AddComponentLong(
+ [in] BSTR sComponent,
+ [in] long lValue
+ );
+ HRESULT AddComponentString(
+ [in] BSTR sComponent,
+ [in] BSTR sValue
+ );
+ HRESULT GetComponentLong(
+ [in] BSTR sComponent,
+ [out, retval] long *lValue
+ );
+ HRESULT GetComponentString(
+ [in] BSTR sComponent,
+ [out, retval] BSTR *sValue
+ );
+};
+
+[
+ object,
+ uuid(f9dccd1d-e6b9-45ed-b3e2-c32414c71fa4),
+ helpstring("DirectPlay Event Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlay8Event : IUnknown {
+ HRESULT AddRemovePlayerGroup(
+ [in] long lMsgID,
+ [in] long lPlayerID,
+ [in] long lGroupID,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT appDesc(
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT AsyncOpComplete(
+ [in, out] DPNMSG_ASYNC_OP_COMPLETE *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT CreateGroup(
+ [in] long lGroupID,
+ [in] long lOwnerID,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT CreatePlayer(
+ [in] long lPlayerID,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT ConnectComplete(
+ [in, out] DPNMSG_CONNECT_COMPLETE *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT DestroyGroup(
+ [in] long lGroupID,
+ [in] long lReason,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT DestroyPlayer(
+ [in] long lPlayerID,
+ [in] long lReason,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT EnumHostsQuery(
+ [in, out] DPNMSG_ENUM_HOSTS_QUERY *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT EnumHostsResponse(
+ [in, out] DPNMSG_ENUM_HOSTS_RESPONSE *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT HostMigrate(
+ [in] long lNewHostID,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT IndicateConnect(
+ [in, out] DPNMSG_INDICATE_CONNECT *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT IndicatedConnectAborted(
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT InfoNotify(
+ [in] long lMsgID,
+ [in] long lNotifyID,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT Receive(
+ [in, out] DPNMSG_RECEIVE *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT SendComplete(
+ [in, out] DPNMSG_SEND_COMPLETE *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT TerminateSession(
+ [in, out] DPNMSG_TERMINATE_SESSION *dpnotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+};
+
+[
+ object,
+ uuid(f794a01f-2a0d-46a8-9cef-d5678a413bef),
+ helpstring("DirectPlayLobby Event Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlay8LobbyEvent : IUnknown {
+ HRESULT Receive(
+ [in, out] DPL_MESSAGE_RECEIVE *dlNotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT Connect(
+ [in, out] DPL_MESSAGE_CONNECT *dlNotify,
+ [in, out] VARIANT_BOOL *fRejectMsg
+ );
+ HRESULT Disconnect(
+ [in] long disconnectID,
+ [in] long lReason
+ );
+ HRESULT SessionStatus(
+ [in] long status,
+ [in] long lHandle
+ );
+ HRESULT connectionSettings(
+ [in, out] DPL_MESSAGE_CONNECTION_SETTINGS *connectionSettings
+ );
+};
+
+[
+ object,
+ uuid(ef390476-6ea0-4ad3-9ea3-768dcb68038d),
+ helpstring("DirectPlayLobbiedApplication Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlay8LobbiedApplication : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT RegisterMessageHandler(
+ [in] DirectPlay8LobbyEvent *lobbyEvent,
+ [out, retval] long *lDPNHandle
+ );
+ HRESULT RegisterProgram(
+ [in] DPL_PROGRAM_DESC *programDesc,
+ [in] long lFlags
+ );
+ HRESULT UnRegisterProgram(
+ [in] BSTR guidApplication,
+ [in] long lFlags
+ );
+ HRESULT Send(
+ [in] long target,
+ [in] SAFEARRAY(unsigned char) *buffer,
+ [in] long lBufferSize,
+ [in] long lFlags
+ );
+ HRESULT SetAppAvailable(
+ [in] VARIANT_BOOL fAvailable,
+ [in] CONST_DPLAVAILABLE lFlags
+ );
+ HRESULT UpdateStatus(
+ [in] long lobbyClient,
+ [in] CONST_DPLSESSION lStatus
+ );
+ HRESULT Close(
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+ HRESULT GetConnectionSettings(
+ [in] long lobbyClient,
+ [in] long lFlags,
+ [out, retval] DPL_CONNECTION_SETTINGS *connectionSettings
+ );
+ HRESULT SetConnectionSettings(
+ [in] long hTarget,
+ [in] long lFlags,
+ [in, out] DPL_CONNECTION_SETTINGS *connectionSettings,
+ [in] DirectPlay8Address *hostAddress,
+ [in] DirectPlay8Address *device
+ );
+};
+
+[
+ object,
+ uuid(7c34602a-7b81-4c6d-9533-658f2d471efc),
+ helpstring("DirectPlay Peer Interface"),
+ local
+]
+interface DirectPlay8Peer : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT SendTo(
+ [in] long idSend,
+ [in] SAFEARRAY(unsigned char) *bufferData,
+ [in] long lTimeOut,
+ [in, optional] CONST_DPNSENDFLAGS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT CreateGroup(
+ [in, out] DPN_GROUP_INFO *groupInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT AddPlayerToGroup(
+ [in] long idGroup,
+ [in] long idClient,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetSendQueueInfo(
+ [in] long idPlayer,
+ [in, out] long *lNumMsgs,
+ [in, out] long *lNumBytes,
+ [in, optional] CONST_DPNGETSENDQUEUEINFO lFlags
+ );
+ HRESULT SetGroupInfo(
+ [in] long idGroup,
+ [in, out] DPN_GROUP_INFO *playerInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetGroupInfo(
+ [in] long idGroup,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] DPN_GROUP_INFO *layerInfo
+ );
+ HRESULT SetPeerInfo(
+ [in] DPN_PLAYER_INFO *playerInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetPeerInfo(
+ [in] long idPeer,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] DPN_PLAYER_INFO *layerInfo
+ );
+ HRESULT DestroyGroup(
+ [in] long idGroup,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT RemovePlayerFromGroup(
+ [in] long idGroup,
+ [in] long idClient,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT DestroyPeer(
+ [in] long idClient,
+ [in] long lFlags,
+ [in] void *userData,
+ [in] long userDataSize
+ );
+ HRESULT Connect(
+ [in] DPN_APPLICATION_DESC *appDesc,
+ [in] DirectPlay8Address *address,
+ [in] DirectPlay8Address *deviceInfo,
+ [in] CONST_DPNOPERATIONS lFlags,
+ [in] void *userData,
+ [in] long userDataSize,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT RegisterMessageHandler(
+ [in] DirectPlay8Event *event
+ );
+ HRESULT EnumHosts(
+ [in] DPN_APPLICATION_DESC *applicationDesc,
+ [in] DirectPlay8Address *addrHost,
+ [in] DirectPlay8Address *deviceInfo,
+ [in] long lEnumCount,
+ [in] long lRetryInterval,
+ [in] long lTimeOut,
+ [in] CONST_DPNOPERATIONS lFlags,
+ [in] void *userData,
+ [in] long userDataSize,
+ [out, retval] long *lAsync
+ );
+ HRESULT GetCountServiceProviders(
+ [in, optional] long lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetServiceProvider(
+ [in] long lIndex,
+ [out, retval] DPN_SERVICE_PROVIDER_INFO *ret
+ );
+ HRESULT GetCountPlayersAndGroups(
+ [in, optional] CONST_DPNENUMCLIENTGROUPFLAGS lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetPlayerOrGroup(
+ [in] long lIndex,
+ [out, retval] long *ret
+ );
+ HRESULT GetCountGroupMembers(
+ [in] long dpid,
+ [in, optional] long lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetGroupMember(
+ [in] long lIndex,
+ [in] long dpid,
+ [out, retval] long *ret
+ );
+ HRESULT ReturnBuffer(
+ [in] long lBufferHandle
+ );
+ HRESULT Host(
+ [in] DPN_APPLICATION_DESC *appDesc,
+ [in] DirectPlay8Address *address,
+ [in, optional] long lFlags
+ );
+ HRESULT CancelAsyncOperation(
+ [in] long lAsyncHandle,
+ [in, optional] CONST_DPNCANCELFLAGS lFlags
+ );
+ HRESULT GetApplicationDesc(
+ [in, optional] long lFlags,
+ [out, retval] DPN_APPLICATION_DESC *ret
+ );
+ HRESULT SetApplicationDesc(
+ [in, out] DPN_APPLICATION_DESC *appDesc,
+ [in, optional] long lFlags
+ );
+ HRESULT Close(
+ [in, optional] long lFlags
+ );
+ HRESULT GetCaps(
+ [in, optional] long lFlags,
+ [out, retval] DPN_CAPS *ret
+ );
+ HRESULT SetCaps(
+ [in, out] DPN_CAPS *caps,
+ [in, optional] long lFlags
+ );
+ HRESULT RegisterLobby(
+ [in] long dpnHandle,
+ [in] DirectPlay8LobbiedApplication *lobbyApp,
+ [in, optional] long lFlags
+ );
+ HRESULT GetConnectionInfo(
+ [in] long idPlayer,
+ [in, optional] long lFlags,
+ [out, retval] DPN_CONNECTION_INFO *pdpConnectionInfo
+ );
+ HRESULT GetPeerAddress(
+ [in] long idPlayer,
+ [in, optional] long lFlags,
+ [out, retval] DirectPlay8Address **pAddress
+ );
+ HRESULT GetLocalHostAddress(
+ [in, optional] long lFlags,
+ [out, retval] DirectPlay8Address **pAddress
+ );
+ HRESULT SetSPCaps(
+ [in] BSTR guidSP,
+ [in] DPN_SP_CAPS *spCaps,
+ [in, optional] long lFlags
+ );
+ HRESULT GetSPCaps(
+ [in] BSTR guidSP,
+ [in, optional] long lFlags,
+ [out, retval] DPN_SP_CAPS *spCaps
+ );
+ HRESULT TerminateSession(
+ [in] long lFlags,
+ [in] void *userData,
+ [in] long userDataSize
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+};
+
+[
+ object,
+ uuid(7584bba4-1b39-4dcd-a334-d168cbb5a915),
+ helpstring("DirectPlay Server Interface"),
+ local
+]
+interface DirectPlay8Server : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT RegisterMessageHandler(
+ [in] DirectPlay8Event *event
+ );
+ HRESULT GetCountPlayersAndGroups(
+ [in, optional] CONST_DPNENUMCLIENTGROUPFLAGS lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetPlayerOrGroup(
+ [in] long lIndex,
+ [out, retval] long *ret
+ );
+ HRESULT GetCountGroupMembers(
+ [in] long dpid,
+ [in, optional] long lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetGroupMember(
+ [in] long lIndex,
+ [in] long dpid,
+ [out, retval] long *ret
+ );
+ HRESULT GetCountServiceProviders(
+ [in, optional] long lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetServiceProvider(
+ [in] long lIndex,
+ [out, retval] DPN_SERVICE_PROVIDER_INFO *ret
+ );
+ HRESULT CancelAsyncOperation(
+ [in] long lAsyncHandle,
+ [in, optional] CONST_DPNCANCELFLAGS lFlags
+ );
+ HRESULT SendTo(
+ [in] long idSend,
+ [in] SAFEARRAY(unsigned char) *bufferData,
+ [in] long lTimeOut,
+ [in, optional] CONST_DPNSENDFLAGS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT CreateGroup(
+ [in] DPN_GROUP_INFO *groupInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT AddPlayerToGroup(
+ [in] long idGroup,
+ [in] long idClient,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetSendQueueInfo(
+ [in] long idPlayer,
+ [in, out] long *lNumMsgs,
+ [in, out] long *lNumBytes,
+ [in, optional] CONST_DPNGETSENDQUEUEINFO lFlags
+ );
+ HRESULT SetGroupInfo(
+ [in] long idGroup,
+ [in] DPN_GROUP_INFO *playerInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetGroupInfo(
+ [in] long idGroup,
+ [in, optional] long lFlags,
+ [out, retval] DPN_GROUP_INFO *layerInfo
+ );
+ HRESULT SetServerInfo(
+ [in] DPN_PLAYER_INFO *playerInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetClientInfo(
+ [in] long idPeer,
+ [in, optional] long lFlags,
+ [out, retval] DPN_PLAYER_INFO *layerInfo
+ );
+ HRESULT GetApplicationDesc(
+ [in, optional] long lFlags,
+ [out, retval] DPN_APPLICATION_DESC *ret
+ );
+ HRESULT SetApplicationDesc(
+ [in, out] DPN_APPLICATION_DESC *appDesc,
+ [in, optional] long lFlags
+ );
+ HRESULT Host(
+ [in] DPN_APPLICATION_DESC *appDesc,
+ [in] DirectPlay8Address *address,
+ [in, optional] long lFlags
+ );
+ HRESULT Close(
+ [in, optional] long lFlags
+ );
+ HRESULT GetCaps(
+ [in, optional] long lFlags,
+ [out, retval] DPN_CAPS *ret
+ );
+ HRESULT SetCaps(
+ [in, out] DPN_CAPS *caps,
+ [in, optional] long lFlags
+ );
+ HRESULT RemovePlayerFromGroup(
+ [in] long idGroup,
+ [in] long idClient,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT ReturnBuffer(
+ [in] long lBufferHandle
+ );
+ HRESULT DestroyClient(
+ [in] long idClient,
+ [in] long lFlags,
+ [in] void *userData,
+ [in] long userDataSize
+ );
+ HRESULT DestroyGroup(
+ [in] long idGroup,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT RegisterLobby(
+ [in] long dpnHandle,
+ [in] DirectPlay8LobbiedApplication *lobbyApp,
+ [in, optional] long lFlags
+ );
+ HRESULT GetConnectionInfo(
+ [in] long idPlayer,
+ [in, optional] long lFlags,
+ [out, retval] DPN_CONNECTION_INFO *pdpConnectionInfo
+ );
+ HRESULT GetClientAddress(
+ [in] long idPlayer,
+ [in, optional] long lFlags,
+ [out, retval] DirectPlay8Address **pAddress
+ );
+ HRESULT GetLocalHostAddress(
+ [in, optional] long lFlags,
+ [out, retval] DirectPlay8Address **pAddress
+ );
+ HRESULT SetSPCaps(
+ [in] BSTR guidSP,
+ [in] DPN_SP_CAPS *spCaps,
+ [in, optional] long lFlags
+ );
+ HRESULT GetSPCaps(
+ [in] BSTR guidSP,
+ [in, optional] long lFlags,
+ [out, retval] DPN_SP_CAPS *spCaps
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+};
+
+[
+ object,
+ uuid(3f6521e5-94bc-4a7a-a049-3d199eb59e72),
+ helpstring("DirectPlay Client Interface"),
+ local
+]
+interface DirectPlay8Client : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT RegisterMessageHandler(
+ [in] DirectPlay8Event *event
+ );
+ HRESULT EnumHosts(
+ [in] DPN_APPLICATION_DESC *applicationDesc,
+ [in] DirectPlay8Address *addrHost,
+ [in] DirectPlay8Address *deviceInfo,
+ [in] long lRetryCount,
+ [in] long lRetryInterval,
+ [in] long lTimeOut,
+ [in] CONST_DPNOPERATIONS lFlags,
+ [in] void *userData,
+ [in] long userDataSize,
+ [out, retval] long *lAsync
+ );
+ HRESULT GetCountServiceProviders(
+ [in, optional] long lFlags,
+ [out, retval] long *ret
+ );
+ HRESULT GetServiceProvider(
+ [in] long lIndex,
+ [out, retval] DPN_SERVICE_PROVIDER_INFO *ret
+ );
+ HRESULT CancelAsyncOperation(
+ [in] long lAsyncHandle,
+ [in, optional] CONST_DPNCANCELFLAGS lFlags
+ );
+ HRESULT Connect(
+ [in] DPN_APPLICATION_DESC *appDesc,
+ [in] DirectPlay8Address *address,
+ [in] DirectPlay8Address *deviceInfo,
+ [in] CONST_DPNOPERATIONS lFlags,
+ [in] void *userData,
+ [in] long userDataSize,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT Send(
+ [in] SAFEARRAY(unsigned char) *bufferData,
+ [in] long lTimeOut,
+ [in, optional] CONST_DPNSENDFLAGS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetSendQueueInfo(
+ [in, out] long *lNumMsgs,
+ [in, out] long *lNumBytes,
+ [in, optional] CONST_DPNGETSENDQUEUEINFO lFlags
+ );
+ HRESULT GetApplicationDesc(
+ [in, optional] long lFlags,
+ [out, retval] DPN_APPLICATION_DESC *ret
+ );
+ HRESULT SetClientInfo(
+ [in] DPN_PLAYER_INFO *playerInfo,
+ [in, optional] CONST_DPNOPERATIONS lFlags,
+ [out, retval] long *hAsyncHandle
+ );
+ HRESULT GetServerInfo(
+ [in, optional] long lFlags,
+ [out, retval] DPN_PLAYER_INFO *layerInfo
+ );
+ HRESULT Close(
+ [in, optional] long lFlags
+ );
+ HRESULT ReturnBuffer(
+ [in] long lBufferHandle
+ );
+ HRESULT GetCaps(
+ [in, optional] long lFlags,
+ [out, retval] DPN_CAPS *ret
+ );
+ HRESULT SetCaps(
+ [in, out] DPN_CAPS *caps,
+ [in, optional] long lFlags
+ );
+ HRESULT RegisterLobby(
+ [in] long dpnHandle,
+ [in] DirectPlay8LobbiedApplication *lobbyApp,
+ [in, optional] long lFlags
+ );
+ HRESULT GetConnectionInfo(
+ [in, optional] long lFlags,
+ [out, retval] DPN_CONNECTION_INFO *pdpConnectionInfo
+ );
+ HRESULT GetServerAddress(
+ [in, optional] long lFlags,
+ [out, retval] DirectPlay8Address **pAddress
+ );
+ HRESULT SetSPCaps(
+ [in] BSTR guidSP,
+ [in] DPN_SP_CAPS *spCaps,
+ [in, optional] long lFlags
+ );
+ HRESULT GetSPCaps(
+ [in] BSTR guidSP,
+ [in, optional] long lFlags,
+ [out, retval] DPN_SP_CAPS *spCaps
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+};
+
+[
+ object,
+ uuid(14716737-3005-4758-896f-b48d001929a5),
+ helpstring("DirectPlayLobbyClient Interface"),
+ local,
+ oleautomation
+]
+interface DirectPlay8LobbyClient : IUnknown {
+ HRESULT InternalSetObject(
+ [in] IUnknown *lpdd
+ );
+ HRESULT InternalGetObject(
+ [out, retval] IUnknown **lpdd
+ );
+ HRESULT RegisterMessageHandler(
+ [in] DirectPlay8LobbyEvent *lobbyEvent
+ );
+ HRESULT GetCountLocalPrograms(
+ [in] BSTR guidApplication,
+ [out, retval] long *lCount
+ );
+ HRESULT GetLocalProgram(
+ [in] long lProgID,
+ [out, retval] DPL_APPLICATION_INFO *app
+ );
+ HRESULT ConnectApplication(
+ [in] DPL_CONNECT_INFO *connectionInfo,
+ [in] long lTimeOut,
+ [in] CONST_DPLCONNECT lFlags,
+ [out, retval] long *hApplication
+ );
+ HRESULT Send(
+ [in] long target,
+ [in] SAFEARRAY(unsigned char) *buffer,
+ [in] long lBufferSize,
+ [in] long lFlags
+ );
+ HRESULT ReleaseApplication(
+ [in] long application
+ );
+ HRESULT Close(
+ );
+ HRESULT UnRegisterMessageHandler(
+ );
+ HRESULT GetConnectionSettings(
+ [in] long hLobbyClient,
+ [in] long lFlags,
+ [out, retval] DPL_CONNECTION_SETTINGS *connectionSettings
+ );
+ HRESULT SetConnectionSettings(
+ [in] long hTarget,
+ [in] long lFlags,
+ [in, out] DPL_CONNECTION_SETTINGS *connectionSettings,
+ [in] DirectPlay8Address *hostAddress,
+ [in] DirectPlay8Address *device
+ );
+};
+
+[
+ object,
+ uuid(e7ff1301-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("DirectX8 root object functions"),
+ local
+]
+interface IDirectX8 : IUnknown {
+ HRESULT DirectSoundCreate(
+ [in] BSTR guid,
+ [out, retval] DirectSound8 **ret
+ );
+ HRESULT DirectSoundCaptureCreate(
+ [in] BSTR guid,
+ [out, retval] DirectSoundCapture8 **ret
+ );
+ HRESULT GetDSEnum(
+ [out, retval] DirectSoundEnum8 **retVal
+ );
+ HRESULT GetDSCaptureEnum(
+ [out, retval] DirectSoundEnum8 **retVal
+ );
+ HRESULT DirectInputCreate(
+ [out, retval] DirectInput8 **ret
+ );
+ HRESULT DirectMusicLoaderCreate(
+ [out, retval] DirectMusicLoader8 **ret
+ );
+ HRESULT DirectMusicComposerCreate(
+ [out, retval] DirectMusicComposer8 **ret
+ );
+ HRESULT DirectMusicPerformanceCreate(
+ [out, retval] DirectMusicPerformance8 **ret
+ );
+ HRESULT CreateEvent(
+ [in] DirectXEvent8 *event,
+ [out, retval] long *h
+ );
+ HRESULT SetEvent(
+ [in] long eventid
+ );
+ HRESULT DestroyEvent(
+ [in] long eventid
+ );
+ HRESULT CreateNewGuid(
+ [out, retval] BSTR *retGuid
+ );
+ HRESULT DirectPlayVoiceClientCreate(
+ [out, retval] DirectPlayVoiceClient8 **ret
+ );
+ HRESULT DirectPlayVoiceServerCreate(
+ [out, retval] DirectPlayVoiceServer8 **ret
+ );
+ HRESULT DirectPlayVoiceTestCreate(
+ [out, retval] DirectPlayVoiceTest8 **ret
+ );
+ HRESULT DirectXFileCreate(
+ [out, retval] DirectXFile **ret
+ );
+ HRESULT DirectPlayPeerCreate(
+ [out, retval] DirectPlay8Peer **ret
+ );
+ HRESULT DirectPlayServerCreate(
+ [out, retval] DirectPlay8Server **ret
+ );
+ HRESULT DirectPlayClientCreate(
+ [out, retval] DirectPlay8Client **ret
+ );
+ HRESULT DirectPlayAddressCreate(
+ [out, retval] DirectPlay8Address **ret
+ );
+ HRESULT Direct3DCreate(
+ [out, retval] Direct3D8 **ret
+ );
+ HRESULT DirectPlayLobbyClientCreate(
+ [out, retval] DirectPlay8LobbyClient **ret
+ );
+ HRESULT DirectPlayLobbiedApplicationCreate(
+ [out, retval] DirectPlay8LobbiedApplication **ret
+ );
+};
+
+//Coclasses
+
+[
+ uuid(58356c5d-0bfd-48ed-93c5-f4520b6233de),
+ helpstring("D3DX8"),
+ threading(both)
+]
+coclass D3DX8 { interface ID3DX8; };
+
+[
+ uuid(e7ff1300-96a5-11d3-ac85-00c04fc2c602),
+ helpstring("DirectX8"),
+ threading(both)
+]
+coclass DirectX8 { interface IDirectX8; };
--
2.14.2
More information about the wine-patches
mailing list