Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2324 lines
57 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: directxstruct.idl
//
//--------------------------------------------------------------------------
// Direct.idl : IDL source for Direct.dll
// +++++++++++++++++++++++++++++++++++++
// This file will be processed by the MIDL tool to
// produce the type library (Direct.tlb) and marshalling code.
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
///////////////////////////////////////////////////////////
// General Types
#ifdef C_ONLY
#define DXDRIVERINFO_CDESC DxDriverInfo
#define DXDRIVERINFOEX_CDESC DxDriverInfoEx
#define RECT_CDESC Rect
#define DXGUID_CDESC DxGuid
#define DPAPPLICATIONDESC2_CDESC DpApplicationDesc2
#define DIRECTXREGISTERAPP_CDESC DirectXRegisterApp
#define PALETTEENTRY_CDESC PaletteEntry
#define D3DRECT_CDESC D3dRect
#define D3DROTATION_CDESC D3dRotation
#define D3DVECTOR_CDESC D3dVector
#define D3DCOLORVALUE_CDESC D3dColorValue
#define D3DHVERTEX_CDESC D3dHVertex
#define D3DTLVERTEX_CDESC D3dTLVertex
#define D3DLVERTEX_CDESC D3dLVertex
#define D3DVERTEX_CDESC D3dVertex
#define DXVERTEX_CDESC DxVertex
#define D3DCLIPSTATUS_CDESC D3dClipStatus
#define D3DVIEWPORT_CDESC D3dViewport
#define D3DVIEWPORT2_CDESC D3dViewport2
#define D3DVIEWPORT7_CDESC D3dViewport7
#define D3DLIGHTINGCAPS_CDESC D3dLightingCaps
#define D3DPRIMCAPS_CDESC D3dPrimCaps
#define D3DDEVICEDESC_CDESC D3dDeviceDesc
//#define D3DFINDDEVICERESULT_CDESC D3dFindDeviceResult
//#define D3DFINDDEVICERESULT2_CDESC D3dFindDeviceResult2
#define D3DMATERIAL_CDESC D3dMaterial
#define D3DMATERIAL7_CDESC D3dMaterial7
#define D3DLIGHT2_CDESC D3dLight2
#define D3DLIGHT7_CDESC D3dLight7
#define D3DMATRIX_CDESC D3dMatrix
#define D3DRMRAY_CDESC D3dRMRay
#define D3DSTATUS_CDESC D3dStatus
#define D3DDEVINFO_TEXTUREMANAGER_CDESC D3dDevInfo_TextureManager
#define D3DSTATS_CDESC D3dStats
#define D3DTRANSFORMDATA_CDESC D3dTransFormData
#define D3DLIGHTDATA_CDESC D3dLightData
#define D3DRMQUATERNION_CDESC D3dRMQuaternion
#define D3DRMVECTOR4D_CDESC D3dRMVector4d
#define D3DRMBOX_CDESC D3dRMBox
#define D3DRMPICKDESC_CDESC D3dRMPickDesc
#define D3DRMPICKDESC2_CDESC D3dRMPickDesc2
#define D3DRMIMAGE_CDESC D3dRMImage
#define D3DRMVERTEX_CDESC D3dRMVertex
#define D3DVERTEXBUFFERDESC_CDESC D3dVertexBufferDesc
#define D3DRMMATERIALOVERRIDE_CDESC D3dMaterialOverride
#define DDCOLORKEY_CDESC DDColorKey
#define DDSCAPS_CDESC DDSCaps
#define DDPIXELFORMAT_CDESC DDPixelFormat
#define DDSURFACEDESC2_CDESC DDSurfaceDesc2
#define DDCAPS_CDESC DDCaps
#define DDCAPS2_CDESC DDCaps2
#define DDSCAPS2_CDESC DDSCaps2
#define DDBLTFX_CDESC DDBltFx
#define DDVIDEOPORTINFO_CDESC DDVideoPortInfo
#define DDCOLORCONTROL_CDESC DDColorControl
#define DDGAMMARAMP_CDESC DDGammaRamp
#define DDVIDEOPORTBANDWIDTH_CDESC DDVideoPortBandWidth
#define DDVIDEOPORTCAPS_CDESC DDVideoPortCaps
#define DDVIDEOPORTDESC_CDESC DDVideoPortDesc
#define DDVIDEOPORTINFO_CDESC DDVideoPortInfo
#define DDVIDEOPORTCONNECT_CDESC DDVideoPortConnect
#define DSBCAPS_CDESC DSBCaps
#define DSCAPS_CDESC DSCaps
#define WAVEFORMATEX_CDESC WaveFormatex
#define DSBUFFERDESC_CDESC DSBufferDesc
#define DSCURSORS_CDESC DSCursors
#define DSRESOURCEDESC_CDESC DSResourceDesc
#define DS3DBUFFER_CDESC DS3dBuffer
#define DS3DLISTENER_CDESC DS3dListener
#define DSCBCAPS_CDESC DSCBCaps
#define DSCCAPS_CDESC DSCCaps
#define DSCBUFFERDESC_CDESC DSCBufferDesc
#define DSBPOSITIONNOTIFY_CDESC DSBPositionNotify
#define DPCHAT_CDESC DPChat
#define DPCOMPOUNDADDRESSELEMENT_CDESC DPCompoundAddressElement
#define DPCREDENTIALS_CDESC DPCredentials
#define DPSECURITYDESC_CDESC DPSecurityDesc
#define DPSESSIONDESC2_CDESC DPSessionDesc2
#define DPLAPPINFO_CDESC DPLAppInfo
#define DPPLAYERIDS_CDESC DPPlayerIds
#define DPCAPS_CDESC DPCaps
#define DPPLAYERINFO_CDESC DPPlayerInfo
#define DPSERVICEPROVIDERINFO_CDESC DPServiceProviderInfo
#define DPCONNECTION_CDESC DPConnection
#define DPSERVICEPROVIDER_CDESC DPServiceProvider
#define DIDEVCAPS_CDESC DIDevCaps
#define DIDEVICEOBJECTDATA_CDESC DIDeviceObjectData
#define DIDEVICEINSTANCE_CDESC DIDeviceInstance
#define DIDEVICEOBJECTINSTANCE_CDESC DIDeviceObjectInstance
//#define DICONDITION_CDESC DICondition
#define DIPROPERTY_CDESC DIProperty
#define DIENVELOPE_CDESC DIEvelope
#define DICUSTOMFORCE_CDESC DICustomForce
#define DIPERIODIC_CDESC DIPeriodic
#define DICONSTANCEFORCE_CDESC DIConstantForce
#define DIRAMPFORCE_CDESC DIRampForce
#define DIEFFECT_CDESC DIEffect
#define DIEFFESCAPE_CDESC DIEffEscape
#define DIEFFECTINFO_CDESC DIEffectInfo
#define DIOBJECTDATAFORMAT_CDESC DIObjectDataFormat
#define DIDATAFORMAT_CDESC DIDataFormat
#define DIMOUSESTATE_CDESC DIMouseState
#define DIKEYBOARDSTATE_CDESC DIKeyboardState
#define DIJOYSTATE_CDESC DIJoyState
#define DIJOYSTATE2_CDESC DIJoyState2
#define D3DDEVICEDESC7_CDESC D3dDeviceDesc7
//#define D3DFINDDEVICERESULT7_CDESC D3dFindDeviceResult7
#define d3dLightCapsFlags long
#define d3dLightingModelFlags long
#define d3dCapsMisc long
#define d3dCapsRaster long
#define d3dCapsCmp long
#define d3dCapsBlend long
#define d3dCapsTexture long
#define d3dCapsShade long
#define d3dCapsTextureFilter long
//#define d3dCapsTextureBlend long
#define d3dCapsTextureAddress long
#define d3dDeviceDescFlags long
#define d3dColorModel long
#define d3dDeviceDescCaps long
#define d3dTransformCaps long
#define d3dStencilCapsFlags long
#define d3dFVFCapsFlags long
#define d3dTexOpCapsFlags long
#define d3dLightFlags long
#define d3dSetStatusFlags long
#define d3dClipFlags long
#define d3dClipStatusFlags long
//#define d3dFindDeviceSearchFlags long
#define ddSurfaceCapsFlags long
#define ddSurfaceCaps2Flags long
#define ddPixelFormatFlags long
#define ddSurfaceDescFlags long
#define ddSurfaceCapsFlags long
#define ddCaps1Flags long
#define ddCaps2Flags long
#define ddCKeyCapsFlags long
#define ddFXCapsFlags long
#define ddFXAlphaCapsFlags long
#define ddPCapsFlags long
#define ddStereoCapsFlags long
#define ddBltFXFlags long
#define ddColorFlags long
#define d3dVBCapsFlags long
#define d3dFVFFlags long
#define dsbCapsFlags long
#define dsCapsFlags long
#define ds3dModeFlags long
#define dscbCapsFlags long
#define dscCapsFlags long
#define WaveFormatFlags long
#define dpSessionFlags long
#define dpCapsFlags long
#define dpPlayerTypeFlags long
#define diDevCapsFlags long
#define diDeviceType long
#define diDFTFlags long
#define diDeviceObjInstanceFlags long
#define d3drmPMeshStatusFlags long
#define d3drmMaterialOverrideFlags long
#define dBoolFlags long
#define diCommonDataFormats long
#define diDataFormatFlags long
#define ddOverFxFlags long
#define diConditionFlags long
#define CONST_DMUS_PC_CLASS long
#define CONST_DMUS_PC_FLAGS long
#define CONST_DMUS_PORT_TYPE long
#define CONST_DMUS_PORTPARAMS_FLAGS long
#endif
// New types
#ifdef C_ONLY
typedef struct DXDRIVERINFO_CDESC
{
BSTR strGuid;
BSTR strDescription;
BSTR strName;
} DXDRIVERINFO_CDESC;
typedef struct DXDRIVERINFOEX_CDESC
{
BSTR strGuid;
BSTR strDescription;
BSTR strName;
long hMonitor;
} DXDRIVERINFOEX_CDESC;
typedef struct RECT_CDESC
{
long left;
long top;
long right;
long bottom;
} RECT_CDESC;
#else
[helpcontext(400100)]
typedef struct RECT_CDESC
{
long Left;
long Top;
long Right;
long Bottom;
} RECT_CDESC;
#endif
[hidden]
typedef struct DXGUID_CDESC {
long data1;
short data2;
short data3;
Byte data4[8];
} DXGUID_CDESC;
[helpcontext(400200)]
typedef struct DPAPPLICATIONDESC2_CDESC
{
long lFlags;
BSTR strApplicationName;
BSTR strGuid;
BSTR strFilename;
BSTR strCommandLine;
BSTR strPath;
BSTR strCurrentDirectory;
BSTR strDescription;
BSTR strAppLauncherName;
} DPAPPLICATIONDESC2_CDESC;
[helpcontext(400300)]
typedef struct DIRECTXREGISTERAPP_CDESC
{
long lFlags;
BSTR strApplicationName;
BSTR strGuid;
BSTR strFilename;
BSTR strCommandLine;
BSTR strPath;
BSTR strCurrentDirectory;
} DIRECTXREGISTERAPP_CDESC;
[helpcontext(400400)]
typedef struct PALETTEENTRY_CDESC
{
Byte red;
Byte green;
Byte blue;
Byte flags;
} PALETTEENTRY_CDESC;
//
// D3D Types
//
[helpcontext(400500)]
typedef struct D3DRECT_CDESC {
long x1;
long y1;
long x2;
long y2;
} D3DRECT_CDESC;
// not needed according to shanee
// typedef struct D3DROTATION_CDESC {
// float x;
// float y;
// float z;
// float t;
// } D3DROTATION_CDESC;
[helpcontext(400600)]
typedef struct D3DVECTOR_CDESC {
float x;
float y;
float z;
} D3DVECTOR_CDESC;
[helpcontext(400700)]
typedef struct D3DCOLORVALUE_CDESC {
float r;
float g;
float b;
float a;
} D3DCOLORVALUE_CDESC;
[helpcontext(400800)]
typedef struct D3DLINEPATTERN_CDESC {
long repeatFactor;
long linePatern;
} D3DLINEPATTERN_CDESC;
[helpcontext(400900)]
typedef struct D3DTLVERTEX_CDESC {
float sx; /* Screen coordinates */
float sy;
float sz;
float rhw; /* Reciprocal of homogeneous w */
long color; /* Vertex color */
long specular; /* Specular component of vertex */
float tu; /* Texture coordinates */
float tv;
} D3DTLVERTEX_CDESC;
[helpcontext(401000)]
typedef struct D3DLVERTEX_CDESC {
float x; /* Homogeneous coordinates */
float y;
float z;
[hidden] long reserved;
long color; /* Vertex color */
long specular; /* Specular component of vertex */
float tu; /* Texture coordinates */
float tv;
} D3DLVERTEX_CDESC;
[helpcontext(401100)]
typedef struct D3DVERTEX_CDESC {
float x; /* Homogeneous coordinates */
float y;
float z;
float nx; /* Normal */
float ny;
float nz;
float tu; /* Texture coordinates */
float tv;
} D3DVERTEX_CDESC;
[helpcontext(401200)]
typedef struct D3DCLIPSTATUS_CDESC {
d3dClipStatusFlags lFlags;
d3dClipFlags lStatus;
float minx, maxx;
float miny, maxy;
float minz, maxz;
} D3DCLIPSTATUS_CDESC ;
[helpcontext(401300)]
typedef struct D3DVIEWPORT7_CDESC {
long lX;
long lY;
long lWidth;
long lHeight;
float minZ;
float maxZ;
} D3DVIEWPORT7_CDESC;
[helpcontext(401400)]
typedef struct D3DLIGHTINGCAPS_CDESC {
[hidden] long lSize;
d3dLightCapsFlags lCaps;
d3dLightingModelFlags lLightingModel;
long lNumLights;
} D3DLIGHTINGCAPS_CDESC;
[helpcontext(401500)]
typedef struct D3DPRIMCAPS_CDESC {
[hidden] long lSize; // size of structure
d3dCapsMisc lMiscCaps; // miscellaneous caps
d3dCapsRaster lRasterCaps; // raster caps
d3dCapsCmp lZCmpCaps; // z-comparison caps
d3dCapsBlend lSrcBlendCaps; // source blending caps
d3dCapsBlend lDestBlendCaps; // destination blending caps
d3dCapsCmp lAlphaCmpCaps; // alpha-test comparison caps
d3dCapsShade lShadeCaps; // shading caps
d3dCapsTexture lTextureCaps; // texture caps
d3dCapsTextureFilter lTextureFilterCaps; // texture filtering caps
//d3dCapsTextureBlend lTextureBlendCaps; // texture blending caps
long lReserved1;
d3dCapsTextureAddress lTextureAddressCaps; // texture addressing caps
long lStippleWidth; // stipple width
long lStippleHeight; // stipple height
} D3DPRIMCAPS_CDESC;
#ifndef JAVA_ONLY
[helpcontext(401600)]
typedef struct D3DDEVICEDESC7_CDESC
{
d3dDeviceDescCaps lDevCaps;
D3DPRIMCAPS_CDESC dpcLineCaps;
D3DPRIMCAPS_CDESC dpcTriCaps;
long lDeviceRenderBitDepth;
long lDeviceZBufferBitDepth;
long lMinTextureWidth,lMinTextureHeight;
long lMaxTextureWidth,lMaxTextureHeight;
long lMaxTextureRepeat;
long lMaxTextureAspectRatio;
long lMaxAnisotropy;
float dvGuardBandLeft;
float dvGuardBandTop;
float dvGuardBandRight;
float dvGuardBandBottom;
float dvExtentsAdjust;
d3dStencilCapsFlags lStencilCaps;
d3dFVFCapsFlags lFVFCaps;
d3dTexOpCapsFlags lTextureOpCaps;
short nMaxTextureBlendStages;
short nMaxSimultaneousTextures;
long lMaxActiveLights;
float dvMaxVertexW;
[hidden] DXGUID_CDESC deviceGuid;
short nMaxUserClipPlanes;
short nMaxVertexBlendMatrices;
d3dVTXPCapsFlags lVertexProcessingCaps;
[hidden] long lReserved1;
[hidden] long lReserved2;
[hidden] long lReserved3;
[hidden] long lReserved4;
} D3DDEVICEDESC7_CDESC;
#else
typedef struct D3DDEVICEDESC7_CDESC
{
long lDevCaps;
[hidden] long dpcLineCaps_lSize; // size of structure
long dpcLineCaps_lMiscCaps; // miscellaneous caps
long dpcLineCaps_lRasterCaps; // raster caps
long dpcLineCaps_lZCmpCaps; // z-comparison caps
long dpcLineCaps_lSrcBlendCaps; // source blending caps
long dpcLineCaps_lDestBlendCaps; // destination blending caps
long dpcLineCaps_lAlphaCmpCaps; // alpha-test comparison caps
long dpcLineCaps_lShadeCaps; // shading caps
long dpcLineCaps_lTextureCaps; // texture caps
long dpcLineCaps_lTextureFilterCaps; // texture filtering caps
long dpcLineCaps_lTextureBlendCaps; // texture blending caps
long dpcLineCaps_lTextureAddressCaps; // texture addressing caps
long dpcLineCaps_lStippleWidth; // stipple width
long dpcLineCaps_lStippleHeight; // stipple height
[hidden] long dpcTriCaps_lSize; // size of structure
long dpcTriCaps_lMiscCaps; // miscellaneous caps
long dpcTriCaps_lRasterCaps; // raster caps
long dpcTriCaps_lZCmpCaps; // z-comparison caps
long dpcTriCaps_lSrcBlendCaps; // source blending caps
long dpcTriCaps_lDestBlendCaps; // destination blending caps
long dpcTriCaps_lAlphaCmpCaps; // alpha-test comparison caps
long dpcTriCaps_lShadeCaps; // shading caps
long dpcTriCaps_lTextureCaps; // texture caps
long dpcTriCaps_lTextureFilterCaps; // texture filtering caps
long dpcTriCaps_lTextureBlendCaps; // texture blending caps
long dpcTriCaps_lTextureAddressCaps; // texture addressing caps
long dpcTriCaps_lStippleWidth; // stipple width
long dpcTriCaps_lStippleHeight; // stipple height
long lDeviceRenderBitDepth;
long lDeviceZBufferBitDepth;
long lMinTextureWidth,lMinTextureHeight;
long lMaxTextureWidth,lMaxTextureHeight;
long lMaxTextureRepeat;
long lMaxTextureAspectRatio;
long lMaxAnisotropy;
float dvGuardBandLeft;
float dvGuardBandTop;
float dvGuardBandRight;
float dvGuardBandBottom;
float dvExtentsAdjust;
d3dStencilCapsFlags lStencilCaps;
d3dFVFCapsFlags lFVFCaps;
d3dTexOpCapsFlags lTextureOpCaps;
short nMaxTextureBlendStages;
short nMaxSimultaneousTextures;
long lMaxActiveLights;
float dvMaxVertexW;
[hidden] DXGUID_CDESC deviceGuid;
short nMaxUserClipPlanes;
short nMaxVertexBlendMatrices;
d3dVTXCapsFlags lVertexProcessingCaps;
[hidden] long lReserved1;
[hidden] long lReserved2;
[hidden] long lReserved3;
[hidden] long lReserved4;
} D3DDEVICEDESC7_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(401700)]
typedef struct D3DMATERIAL7_CDESC {
D3DCOLORVALUE_CDESC diffuse;
D3DCOLORVALUE_CDESC ambient;
D3DCOLORVALUE_CDESC specular;
D3DCOLORVALUE_CDESC emissive;
float power;
} D3DMATERIAL7_CDESC;
#else
typedef struct D3DMATERIAL7_CDESC {
float diffuse_r; //d3dColorValue
float diffuse_g;
float diffuse_b;
float diffuse_a;
float ambient_r; //D3DCOLORVALUE
float ambient_g;
float ambient_b;
float ambient_a;
float specular_r; //D3DCOLORVALUE
float specular_g;
float specular_b;
float specular_a;
float emissive_r; //D3DCOLORVALUE
float emissive_g;
float emissive_b;
float emissive_a;
float power;
} D3DMATERIAL7_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(401800)]
typedef struct D3DLIGHT7_CDESC {
d3dLightType dltType;
D3DCOLORVALUE diffuse;
D3DCOLORVALUE specular;
D3DCOLORVALUE ambient;
D3DVECTOR_CDESC position;
D3DVECTOR_CDESC direction;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
} D3DLIGHT7_CDESC ;
#else
typedef struct D3DLIGHT7_CDESC {
d3dLightType dltType;
float diffuse_r; //D3DCOLORVALUE
float diffuse_g; //D3DCOLORVALUE
float diffuse_b; //D3DCOLORVALUE
float diffuse_a; //D3DCOLORVALUE
float specular_r; //D3DCOLORVALUE
float specular_g; //D3DCOLORVALUE
float specular_b; //D3DCOLORVALUE
float specular_a; //D3DCOLORVALUE
float ambient_r; //D3DCOLORVALUE
float ambient_g; //D3DCOLORVALUE
float ambient_b; //D3DCOLORVALUE
float ambient_a; //D3DCOLORVALUE
float position_x; //D3DVECTOR
float position_y;
float position_z;
float direction_x; //D3DVECTOR
float direction_y;
float direction_z;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT7_CDESC ;
#endif
[helpcontext(401900)]
typedef struct D3DMATRIX_CDESC {
float rc11;
float rc12;
float rc13;
float rc14;
float rc21;
float rc22;
float rc23;
float rc24;
float rc31;
float rc32;
float rc33;
float rc34;
float rc41;
float rc42;
float rc43;
float rc44;
} D3DMATRIX_CDESC;
#ifndef JAVA_ONLY
[helpcontext(402000)]
typedef struct D3DRMRAY_CDESC
{ D3DVECTOR_CDESC dir;
D3DVECTOR_CDESC pos;
} D3DRMRAY_CDESC;
#else
typedef struct D3DRMRAY_CDESC
{ float dir_x;
float dir_y;
float dir_z;
float pos_x;
float pos_y;
float pos_z;
} D3DRMRAY_CDESC;
#endif
////////////////////////////////////////////////////////////////////
// Direct 3D Retain Mode types
#ifndef JAVA_ONLY
[helpcontext(402100)]
typedef struct D3DRMQUATERNION_CDESC
{
float s;
D3DVECTOR_CDESC v;
} D3DRMQUATERNION_CDESC;
#else
typedef struct D3DRMQUATERNION_CDESC
{
float s;
float v_x;
float v_y;
float v_z;
} D3DRMQUATERNION_CDESC;
#endif
[helpcontext(402200)]
typedef struct D3DRMVECTOR4D_CDESC
{
float x;
float y;
float z;
float w;
} D3DRMVECTOR4D_CDESC;
#ifndef JAVA_ONLY
[helpcontext(402300)]
typedef struct D3DRMBOX_CDESC
{
D3DVECTOR_CDESC min;
D3DVECTOR_CDESC max;
} D3DRMBOX_CDESC;
#else
typedef struct D3DRMBOX_CDESC
{
float min_x; // replaces min - cant concat structures
float min_y;
float min_z;
float max_x; // replaces max - cant concat structures
float max_y;
float max_z;
} D3DRMBOX_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(402400)]
typedef struct D3DRMPICKDESC_CDESC
{
long lFaceIdx;
long lGroupIdx;
D3DVECTOR_CDESC vPosition;
} D3DRMPICKDESC_CDESC;
#else
typedef struct D3DRMPICKDESC_CDESC
{
long lFaceIdx;
long lGroupIdx;
float vPosition_x; // replaces vPosition - cant concat structures
float vPosition_y;
float vPosition_z;
} D3DRMPICKDESC_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(402500)]
typedef struct D3DRMPICKDESC2_CDESC
{
long lFaceIdx;
long lGroupIdx;
D3DVECTOR_CDESC vPostion;
float tu;
float tv;
D3DVECTOR_CDESC vNormal;
long color;
} D3DRMPICKDESC2_CDESC;
#else
typedef struct D3DRMPICKDESC2_CDESC
{
long lFaceIdx;
long lGroupIdx;
float vPostion_x;
float vPostion_y;
float vPostion_z;
float tu;
float tv;
float vNormal_x;
float vNormal_y;
float vNormal_z;
long color;
} D3DRMPICKDESC2_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(402600)]
typedef struct D3DRMVERTEX_CDESC
{
D3DVECTOR_CDESC position;
D3DVECTOR_CDESC normal;
float tu;
float tv;
long color;
} D3DRMVERTEX_CDESC;
#else
typedef struct D3DRMVERTEX_CDESC
{
float position_x; //x position
float position_y; //y
float position_z; //z
float normal_x; //x normal
float normal_y; //y
float normal_z; //z
float tu;
float tv;
long color;
} D3DRMVERTEX_CDESC;
#endif
///////////////////////////////////////////////////////////////
//
// Direct Draw Types
//
///////////////////////////////////////////////////////////////
[helpcontext(402700)]
typedef struct DDCOLORKEY_CDESC {
long low;
long high;
} DDCOLORKEY_CDESC;
[helpcontext(402800)]
typedef struct DDSCAPS2_CDESC {
ddSurfaceCapsFlags lCaps;
ddSurfaceCaps2Flags lCaps2;
long lCaps3;
long lCaps4;
} DDSCAPS2_CDESC;
[helpcontext(402900)]
typedef struct DDPIXELFORMAT_CDESC
{
[hidden]long lSize; //private
ddPixelFormatFlags lFlags;
long lFourCC;
[hidden] long internalVal1;
// union { DWORD dwRGBBitCount;
// DWORD dwYUVBitCount;
// DWORD dwZBufferBitDepth;
// DWORD dwAlphaBitDepth;
// DWORD dwLuminanceBitCount; // new for DirectX 6.0
// DWORD dwBumpBitCount; // new for DirectX 6.0}
[hidden] long internalVal2;
// union DWORD dwRBitMask;
//DWORD dwYBitMask;
//DWORD dwStencilBitDepth; // new for DirectX 6.0
//DWORD dwLuminanceBitMask; // new for DirectX 6.0
//DWORD dwBumpDuBitMask; // new for DirectX 6.0
//} DUMMYUNIONNAMEN(2);
[hidden] long internalVal3;
//union { DWORD dwGBitMask;
// DWORD dwUBitMask;
// DWORD dwZBitMask; // new for DirectX 6.0
// DWORD dwBumpDvBitMask; // new for DirectX 6.0
//} DUMMYUNIONNAMEN(3);
[hidden] long internalVal4;
// union { DWORD dwBBitMask;
// DWORD dwVBitMask;
// DWORD dwStencilBitMask; // new for DirectX 6.0
// DWORD dwBumpLuminanceBitMask; // new for DirectX 6.0
// } DUMMYUNIONNAMEN(4);
[hidden] long internalVal5;
//union { DWORD dwRGBAlphaBitMask;
// DWORD dwYUVAlphaBitMask;
// DWORD dwLuminanceAlphaBitMask; // new for DirectX 6.0
// DWORD dwRGBZBitMask;
// DWORD dwYUVZBitMask;
//} DUMMYUNIONNAMEN(5);
//union for internalVal1
long lRGBBitCount;
long lYUVBitCount;
long lZBufferBitDepth;
long lAlphaBitDepth;
long lLuminanceBitCount;
long lBumpBitCount;
// union for internalVal2
long lRBitMask;
long lYBitMask;
long lStencilBitDepth;
long lLuminanceBitMask;
long lBumpDuBitMask;
// union for internalVal3
long lGBitMask;
long lUBitMask;
long lZBitMask;
long lBumpDvBitMask;
// union for internalVal4
long lBBitMask;
long lVBitMask;
long lStencilBitMask;
long lBumpLuminanceBitMask;
// union for internalVal5
long lRGBAlphaBitMask;
long lYUVAlphaBitMask;
long lLuminanceAlphaBitMask; // new for DirectX 6.0
long lRGBZBitMask;
long lYUVZBitMask;
} DDPIXELFORMAT_CDESC;
#ifndef JAVA_ONLY
[helpcontext(403000)]
typedef struct DDSURFACEDESC2_CDESC {
[hidden] long lSize;
ddSurfaceDescFlags lFlags;
long lHeight;
long lWidth;
long lPitch; //union with lLinearSize
long lBackBufferCount;
long lZBufferBitDepth; //union with lMipMapCount and lRefreshRate
long lAlphaBitDepth;
[hidden]long lReserved;
[hidden]long lpSurface;
DDCOLORKEY_CDESC ddckCKDestOverlay;
DDCOLORKEY_CDESC ddckCKDestBlt;
DDCOLORKEY_CDESC ddckCKSrcOverlay;
DDCOLORKEY_CDESC ddckCKSrcBlt;
DDPIXELFORMAT_CDESC ddpfPixelFormat;
DDSCAPS2_CDESC ddsCaps;
long lTextureStage;
long lLinearSize;
long lMipMapCount;
long lRefreshRate;
} DDSURFACEDESC2_CDESC;
#else
typedef struct DDSURFACEDESC2_CDESC {
[hidden] long lSize;
ddSurfaceDescFlags lFlags;
long lHeight;
long lWidth;
long lPitch; //union with lLinearSize
long lBackBufferCount;
long lZBufferBitDepth; //union with lMipMapCount and lRefreshRate
long lAlphaBitDepth;
long lReserved;
[hidden] long lpSurface;
long ddckCKDestOverlay_low;
long ddckCKDestOverlay_high;
long ddckCKDestBlt_low;
long ddckCKDestBlt_high;
long ddckCKSrcOverlay_low;
long ddckCKSrcOverlay_high;
long ddckCKSrcBlt_low;
long ddckCKSrcBlt_high;
[hidden]long ddpfPixelFormat_lSize; //private
long ddpfPixelFormat_lFlags;
long ddpfPixelFormat_lFourCC;
long ddpfPixelFormat_internalVal1;
long ddpfPixelFormat_internalVal2;
long ddpfPixelFormat_internalVal3;
long ddpfPixelFormat_internalVal4;
long ddpfPixelFormat_internalVal5;
//union for internalVal1
long ddpfPixelFormat_lRGBBitCount;
long ddpfPixelFormat_lYUVBitCount;
long ddpfPixelFormat_lZBufferBitDepth;
long ddpfPixelFormat_lAlphaBitDepth;
long ddpfPixelFormat_lLuminanceBitCount;
long ddpfPixelFormat_lBumpBitCount;
// union for internalVal2
long ddpfPixelFormat_lRBitMask;
long ddpfPixelFormat_lYBitMask;
long ddpfPixelFormat_lStencilBitDepth;
long ddpfPixelFormat_lLuminanceBitMask;
long ddpfPixelFormat_lBumpDiBitMask;
// union for internalVal3
long ddpfPixelFormat_lGBitMask;
long ddpfPixelFormat_lUBitMask;
long ddpfPixelFormat_lZBitMask;
long ddpfPixelFormat_lBumpDvBitMask;
// union for internalVal4
long ddpfPixelFormat_lBBitMask;
long ddpfPixelFormat_lVBitMask;
long ddpfPixelFormat_lStencilBitMask;
long ddpfPixelFormat_lBumpLuminanceBitMask;
// union for internalVal5
long ddpfPixelFormat_lRGBAlphaBitMask;
long ddpfPixelFormat_lYUVAlphaBitMask;
long ddpfPixelFormat_lLuminanceAlphaBitMask; // new for DirectX 6.0
long ddpfPixelFormat_lRGBZBitMask;
long ddpfPixelFormat_lYUVZBitMask;
ddSurfaceCapsFlags ddsCaps_lCaps;
ddSurfaceCaps2Flags ddsCaps_lCaps2;
long ddsCaps_lCaps3;
long ddsCaps_lCaps4;
long lTextureStage;
//unions
long lLinearSize;
long lMipMapCount;
long lRefreshRate;
} DDSURFACEDESC2_CDESC;
#endif
[helpcontext(403100)]
typedef struct DDCAPS_CDESC
{
[hidden]long lSize; //private
ddCaps1Flags lCaps;
ddCaps2Flags lCaps2;
ddCKeyCapsFlags lCKeyCaps;
ddFXCapsFlags lFXCaps;
[hidden] long lFXAlphaCaps;
ddPCapsFlags lPalCaps;
ddStereoCapsFlags lSVCaps;
long lAlphaBltConstBitDepths;
long lAlphaBltPixelBitDepths;
long lAlphaBltSurfaceBitDepths;
long lAlphaOverlayConstBitDepths;
long lAlphaOverlayPixelBitDepths;
long lAlphaOverlaySurfaceBitDepths;
long lZBufferBitDepths;
long lVidMemTotal;
long lVidMemFree;
long lMaxVisibleOverlays;
long lCurrVisibleOverlays;
long lNumFourCCCodes;
long lAlignBoundarySrc;
long lAlignSizeSrc;
long lAlignBoundaryDest;
long lAlignSizeDest;
long lAlignStrideAlign;
#ifndef JAVA_ONLY
long lRops[8];
#else
long lRops_0;
long lRops_1;
long lRops_2;
long lRops_3;
long lRops_4;
long lRops_5;
long lRops_6;
long lRops_7;
#endif
long lReservedCaps;
long lMinOverlayStretch;
long lMaxOverlayStretch;
long lMinLiveVideoStretch;
long lMaxLiveVideoStretch;
long lMinHwCodecStretch;
long lMaxHwCodecStretch;
long lReserved1;
long lReserved2;
long lReserved3;
ddCaps1Flags lSVBCaps;
ddCKeyCapsFlags lSVBCKeyCaps;
ddFXCapsFlags lSVBFXCaps; // .
#ifndef JAVA_ONLY
long lSVBRops[8];
#else
long lSVBRops_0;
long lSVBRops_1;
long lSVBRops_2;
long lSVBRops_3;
long lSVBRops_4;
long lSVBRops_5;
long lSVBRops_6;
long lSVBRops_7;
#endif
ddCaps1Flags lVSBCaps;
ddCKeyCapsFlags lVSBCKeyCaps;
ddFXCapsFlags lVSBFXCaps; // .
#ifndef JAVA_ONLY
long lVSRops[8];
#else
long lVSBRops_0;
long lVSBRops_1;
long lVSBRops_2;
long lVSBRops_3;
long lVSBRops_4;
long lVSBRops_5;
long lVSBRops_6;
long lVSBRops_7;
#endif
ddCaps1Flags lSSBCaps;
ddCKeyCapsFlags lSSBCKeyCaps;
ddFXCapsFlags lSSBFXCaps; // .
#ifndef JAVA_ONLY
long lSSBRops[8];
#else
long lSSBRops_0;
long lSSBRops_1;
long lSSBRops_2;
long lSSBRops_3;
long lSSBRops_4;
long lSSBRops_5;
long lSSBRops_6;
long lSSBRops_7;
#endif
long lMaxVideoPorts; // maximum number of live video ports
long lCurrVideoPorts; // current number of live video ports
ddCaps2Flags lSVBCaps2; // additional system-to-video blit caps
ddCaps1Flags lNLVBCaps; // nonlocal-to-local video memory blit caps
ddCaps2Flags lNLVBCaps2; // .
ddCKeyCapsFlags lNLVBCKeyCaps; // .
ddFXCapsFlags lNLVBFXCaps; // .
#ifndef JAVA_ONLY
long lNLVBRops[8];
#else
long lNLVBRops_0;
long lNLVBRops_1;
long lNLVBRops_2;
long lNLVBRops_3;
long lNLVBRops_4;
long lNLVBRops_5;
long lNLVBRops_6;
long lNLVBRops_7;
#endif
DDSCAPS2 ddsCaps;
} DDCAPS_CDESC;
[helpcontext(403200)]
typedef struct DDBLTFX_CDESC {
[hidden] long lSize; //private
ddBltFXFlags lDDFX;
long lROP;
long lDDROP;
long lRotationAngle;
long lZBufferOpCode;
long lZBufferLow;
long lZBufferHigh;
long lZBufferBaseDest;
long lZDestConstBitDepth;
long lZDestConst; //union with lpDDSZBufferDesc
long lZSrcConstBitDepth;
long lZSrcConst; //union with lpDDSZBufferSrc
long lAlphaEdgeBlendBitDepth;
long lAlphaEdgeBlend;
long lReserved; //private
long lAlphaDestConstBitDepth;
long lAlphaDestConst; //union with lpDDSAlphaDest
long lAlphaSrcConstBitDepth;
long lAlphaSrcConst; //union with lpDDSAlphaSrc
long lFill; //union with FillDepth and FillPixel
long ddckDestColorKey_low;
long ddckDestColorKey_high;
long ddckSrcColorKey_low;
long ddckSrcColorKey_high;
} DDBLTFX_CDESC;
[helpcontext(403300)]
typedef struct DDCOLORCONTROL_CDESC {
[hidden] long lSize;
ddColorFlags lFlags;
long lBrightness;
long lContrast;
long lHue;
long lSaturation;
long lSharpness;
long lGamma;
long lColorEnable;
long lReserved1;
} DDCOLORCONTROL_CDESC;
[helpcontext(403400)]
typedef struct DDGAMMARAMP_CDESC {
short red[256];
short green[256];
short blue[256];
} DDGAMMARAMP_CDESC;
[helpcontext(403500)]
typedef struct D3DVERTEXBUFFERDESC_CDESC {
[hidden] long lSize;
d3dVBCapsFlags lCaps;
d3dFVFFlags lFVF;
long lNumVertices;
} D3DVERTEXBUFFERDESC_CDESC;
//////////////////////////////////////////////////////////////////////
// Direct Sound types
//////////////////////////////////////////////////////////////////////
[helpcontext(403600)]
typedef struct DSBCAPS_CDESC
{
[hidden] long lSize;
dsbCapsFlags lFlags;
long lBufferBytes;
long lUnlockTransferRate;
long lPlayCpuOverhead;
} DSBCAPS_CDESC;
[helpcontext(403700)]
typedef struct DSCAPS_CDESC {
[hidden] long lSize;
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_CDESC;
[helpcontext(403800)]
typedef struct WAVEFORMATEX_CDESC
{
short nFormatTag; /* format type */
short nChannels; /* number of channels (i.e. mono, stereo...) */
long lSamplesPerSec; /* sample rate */
long lAvgBytesPerSec; /* for buffer estimation */
short nBlockAlign; /* block size of data */
short nBitsPerSample; /* number of bits per sample of mono data */
short nSize; /* nbytes of the extra information */
long lExtra; // was byte* seen as an array - extra information (after cbSize)
} WAVEFORMATEX_CDESC;
[helpcontext(403900)]
typedef struct DSBUFFERDESC_CDESC //docdoc: requires WaveFormatex
{
[hidden] long lSize;
dsbCapsFlags lFlags;
long lBufferBytes;
[hidden] long lReserved;
[hidden] long lpwfxFormat; // WaveFormatex *lpwfxFormat;
} DSBUFFERDESC_CDESC;
[helpcontext(404000)]
typedef struct DSCURSORS_CDESC
{
long lPlay; // Play cursor
long lWrite; // Write Cursor
} DSCURSORS_CDESC;
//
// 3D Sound
//
#ifndef JAVA_ONLY
[helpcontext(404100)]
typedef struct DS3DBUFFER_CDESC
{
[hidden] long lSize;
D3DVECTOR_CDESC vPostion;
D3DVECTOR_CDESC vVelocity;
long lInsideConeAngle;
long lOutsideConeAngle;
D3DVECTOR_CDESC vConeOrientation;
long lConeOutsideVolume;
float minDistance;
float maxDistance;
ds3dModeFlags lMode;
}DS3DBUFFER_CDESC;
#else
[helpcontext(404200)]
typedef struct DS3DBUFFER_CDESC
{
[hidden] long lSize;
float vPostion_x;
float vPostion_y;
float vPostion_z;
float vVelocity_x;
float vVelocity_y;
float vVelocity_z;
long lInsideConeAngle;
long lOutsideConeAngle;
float vConeOrientation_x;
float vConeOrientation_y;
float vConeOrientation_z;
long lConeOutsideVolume;
float minDistance;
float maxDistance;
ds3dModeFlags lMode;
}DS3DBUFFER_CDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(404300)]
typedef struct DS3DLISTENER_CDESC
{
[hidden] long lSize; // will be private in java
D3DVECTOR_CDESC vPosition;
D3DVECTOR_CDESC vVelocity;
D3DVECTOR_CDESC vOrientFront;
D3DVECTOR_CDESC vOrientTop;
float distanceFactor;
float rolloffFactor;
float dopplerFactor;
} DS3DLISTENER_CDESC;
#else
typedef struct DS3DLISTENER_CDESC
{
[hidden] long lSize; // will be private in java
float vPostion_x;
float vPostion_y;
float vPostion_z;
float vVelocity_x;
float vVelocity_y;
float vVelocity_z;
float vOrientFront_x;
float vOrientFront_y;
float vOrientFront_z;
float vOrientTop_x;
float vOrientTop_y;
float vOrientTop_z;
float distanceFactor;
float rolloffFactor;
float dopplerFactor;
} DS3DLISTENER_CDESC;
#endif
[helpcontext(404400)]
typedef struct DSCBCAPS_CDESC
{
[hidden] long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
long lReserved;
} DSCBCAPS_CDESC;
[helpcontext(404500)]
typedef struct DSCCAPS_CDESC
{
[hidden] long lSize;
dscCapsFlags lFlags;
WaveFormatFlags lFormats;
long lChannels;
} DSCCAPS_CDESC;
#ifndef JAVA_ONLY
[helpcontext(404600)]
typedef struct DSCBUFFERDESC_CDESC
{
[hidden]long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
[hidden] long lReserved;
[hidden] long pFormat;
WAVEFORMATEX_CDESC fxFormat;
} DSCBUFFERDESC_CDESC;
#else
typedef struct DSCBUFFERDESC_CDESC
{
[hidden]long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
[hidden]long lReserved;
[hidden]long pFormat;
short fxFormat_nFormatTag; /* format type */
short fxFormat_nChannels; /* number of channels (i.e. mono, stereo...) */
long fxFormat_lSamplesPerSec; /* sample rate */
long fxFormat_lAvgBytesPerSec; /* for buffer estimation */
short fxFormat_nBlockAlign; /* block size of data */
short fxFormat_nBitsPerSample; /* number of bits per sample of mono data */
short fxFormat_nSize; /* nbytes of the extra information */
long fxFormat_lExtra; // was byte* seen as an array - extra information (after cbSize)
} DSCBUFFERDESC_CDESC;
#endif
[helpcontext(404700)]
typedef struct DSBPOSITIONNOTIFY_CDESC {
long lOffset;
long hEventNotify;
} DSBPOSITIONNOTIFY_CDESC;
//////////////////////////////////////////////////////////////////////
// Direct Play Types
[helpcontext(404800)]
typedef struct DPCREDENTIALS_CDESC{
long lFlags; //must be zero
BSTR strUsername;
BSTR strPassword;
BSTR strDomain;
} DPCREDENTIALS_CDESC;
[helpcontext(404900)]
typedef struct DPSECURITYDESC_CDESC {
long lFlags; //must be zero
BSTR strSSPIProvider;
BSTR strCAPIProvider;
long lCAPIProviderType;
long lEncryptionAlgorithm;
} DPSECURITYDESC_CDESC;
#ifdef C_ONLY
//internal to our app
typedef struct DPLAPPINFO_CDESC{
BSTR strGuidApplication;
BSTR strAppName;
} DPLAPPINFO_CDESC;
typedef struct DPSESSIONDESC2_CDESC{
dpSessionFlags lFlags;
BSTR strGuidInstance;
BSTR strGuidApplication;
long lMaxPlayers;
long lCurrentPlayers;
BSTR strSessionName;
BSTR strPassword;
long lUser1;
long lUser2;
long lUser3;
long lUser4;
} DPSESSIONDESC2_CDESC;
#endif
// DHF begin - _dxj_DirectPlay2, DirectPlayLobby
[helpcontext(405000)]
typedef struct DPCAPS_CDESC {
[hidden] long lSize;
dpCapsFlags lFlags;
long lMaxBufferSize;
long lMaxQueueSize;
long lMaxPlayers;
long lHundredBaud;
long lLatency;
long lMaxLocalPlayers;
long lHeaderLength;
long lTimeout;
} DPCAPS_CDESC;
#ifdef C_ONLY
typedef struct DPCHAT_CDESC {
[hidden] long lSize;
long lFlags; //mustbe zero
[hidden] long lpszMessage;
[hidden] long lpwzMessage;
BSTR message;
} DPCHAT_CDESC;
typedef struct DPPLAYERINFO_CDESC {
long lDPID;
dpPlayerTypeFlags lPlayerType;
BSTR strShortName;
BSTR strLongName;
long lFlags; //spead across DPENUMGROUPS and DPENUMPLAYERS
} DPPLAYERINFO_CDESC;
typedef struct DPSERVICEPROVIDERINFO_CDESC {
BSTR strGuid;
BSTR strName;
long lMajorVersion;
long lMinorVersion;
long lFlags; //??
} DPSERVICEPROVIDERINFO_CDESC;
typedef struct DPCONNECTION_CDESC {
BSTR strGuid;
BSTR strShortName;
BSTR strLongName;
long lFlags; //not used
} DPCONNECTION_CDESC;
typedef struct DPSERVICEPROVIDER_CDESC
{
BSTR strGuid;
BSTR strName;
long lMajorVersion;
long lMinorVersion;
} DPSERVICEPROVIDER_CDESC;
[hidden] //replaced by object
typedef struct DIDEVICEINSTANCE_CDESC {
[hidden] long lSize;
BSTR strGuidInstance;
BSTR strGuidProduct;
diDeviceType lDevType;
BSTR strInstanceName;
BSTR strProductName;
BSTR strGuidFFDriver;
short nUsagePage;
short nUsage;
} DIDEVICEINSTANCE_CDESC;
[hidden] //replaced by object
typedef struct DIDEVICEOBJECTINSTANCE_CDESC {
[hidden] long lSize;
BSTR strGuidType;
long lOfs;
diDFTFlags lType;
diDeviceObjInstanceFlags lFlags;
BSTR strName;
long lFFMaxForce;
long lFFForceResolution;
short nCollectionNumber;
short nDesignatorIndex;
short nUsagePage;
short nUsage;
long lDimension;
short nExponent;
short nReserved;
} DIDEVICEOBJECTINSTANCE_CDESC;
#endif
//
// DInput
//
[helpcontext(405100)]
typedef struct DIDEVCAPS_CDESC {
[hidden] long lSize;
diDevCapsFlags lFlags;
diDeviceType lDevType;
long lAxes;
long lButtons;
long lPOVs;
long lFFSamplePeriod;
long lFFMinTimeResolution;
long lFirmwareRevision;
long lHardwareRevision;
long lDriverVersion;
} DIDEVCAPS_CDESC;
[helpcontext(405200)]
typedef struct DIDEVICEOBJECTDATA_CDESC{
long lOfs;
long lData;
long lTimeStamp;
long lSequence;
} DIDEVICEOBJECTDATA_CDESC;
[helpcontext(405300)]
typedef struct DIPROPRANGE_CDESC {
long lSize;
[hidden]long lHeaderSize;
long lObj;
long lHow;
long lMin;
long lMax;
} DIPROPRANGE_CDESC;
[helpcontext(405400)]
typedef struct DIPROPLONG_CDESC {
long lSize;
[hidden]long lHeaderSize;
long lObj;
long lHow;
long lData;
} DIPROPLONG_CDESC;
[helpcontext(405500)]
typedef struct DIOBJECTDATAFORMAT_CDESC {
BSTR strGuid;
long lOfs;
diDFTFlags lType;
diDeviceObjInstanceFlags lFlags;
} DIOBJECTDATAFORMAT_CDESC;
[helpcontext(405600)]
typedef struct DIDATAFORMAT_CDESC {
[hidden] long lSize;
long lObjSize;
diDataFormatFlags lFlags;
long dataSize;
long numObjs;
[hidden] long pData;
} DIDATAFORMAT_CDESC;
#ifndef JAVA_ONLY
[helpcontext(405700)]
typedef struct DIMOUSESTATE_CDESC {
long x;
long y;
long z;
Byte buttons[4];
} DIMOUSESTATE_CDESC;
#else
typedef struct DIMOUSESTATE_CDESC {
long x;
long y;
long z;
Byte buttons_0;
Byte buttons_1;
Byte buttons_2;
Byte buttons_3;
} DIMOUSESTATE_CDESC;
#endif
[helpcontext(405800)]
typedef struct DIKEYBOARDSTATE_CDESC {
Byte key[256];
} DIKEYBOARDSTATE_CDESC;
#ifndef JAVA_ONLY
[helpcontext(405900)]
typedef struct DIJOYSTATE_CDESC {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider[2];
long POV[4];
Byte buttons[32];
} DIJOYSTATE_CDESC;
#else
typedef struct DIJOYSTATE_CDESC {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider_0;
long slider_1;
long POV_0;
long POV_1;
long POV_2;
long POV_3;
Byte buttons_0;
Byte buttons_1;
Byte buttons_2;
Byte buttons_3;
Byte buttons_4;
Byte buttons_5;
Byte buttons_6;
Byte buttons_7;
Byte buttons_8;
Byte buttons_9;
Byte buttons_10;
Byte buttons_11;
Byte buttons_12;
Byte buttons_13;
Byte buttons_14;
Byte buttons_15;
Byte buttons_16;
Byte buttons_17;
Byte buttons_18;
Byte buttons_19;
Byte buttons_20;
Byte buttons_21;
Byte buttons_22;
Byte buttons_23;
Byte buttons_24;
Byte buttons_25;
Byte buttons_26;
Byte buttons_27;
Byte buttons_28;
Byte buttons_29;
Byte buttons_30;
Byte buttons_31;
} DIJOYSTATE_CDESC;
#endif
[helpcontext(406000)]
typedef struct DIJOYSTATE2_CDESC {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider[2];
long POV[4];
Byte 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_CDESC;
[helpcontext(406100)]
typedef struct D3DRMPMESHLOADSTATUS_CDESC {
[hidden] long lSize;
long lPMeshSize;
long lBaseMeshSize;
long lBytesLoaded;
long lVerticesLoaded;
long lFacesLoaded;
d3drmPMeshStatusFlags lFlags;
} D3DRMPMESHLOADSTATUS_CDESC;
[helpcontext(406200)]
typedef struct D3DRMANIMATIONKEY_CDESC
{
[hidden] long lSize;
long lKeyType;
float dvTime;
long lID;
float dvX;
float dvY;
float dvZ;
float dvS;
} D3DRMANIMATIONKEY_CDESC;
[helpcontext(406300)]
typedef struct D3DRMMATERIALOVERRIDE_CDESC
{
[hidden] long lSize;
d3drmMaterialOverrideFlags lFlags;
D3DCOLORVALUE dcDiffuse;
D3DCOLORVALUE dcAmbient;
D3DCOLORVALUE dcEmissive;
D3DCOLORVALUE dcSpecular;
float dvPower;
[hidden] LPUNKNOWN pTex;
} D3DRMMATERIALOVERRIDE_CDESC;
// DMUSIC
typedef enum CONST_DMUS_NOTIFICATION_TYPE
{
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;
[helpcontext(406400)]
typedef struct DMUS_TIMESIGNATURE_CDESC {
long mtTime;
Byte beatsPerMeasure;
Byte beat;
short gridsPerBeat;
} DMUS_TIMESIGNATURE_CDESC;
#define MUSIC_TIME long
[helpcontext(406500)]
typedef struct DMUS_NOTIFICATION_PMSG_CDESC
{
[hidden] long lFlags;
long ctTime;
long mtTime;
long lNotificationType;
long lNotificationOption;
long lField1;
long lField2;
} DMUS_NOTIFICATION_PMSG_CDESC;
[helpcontext(406600)]
typedef struct DMUS_CURVE_PMSG_CDESC {
MUSIC_TIME mtDuration;
MUSIC_TIME mtOriginalStart;
MUSIC_TIME mtResetDuration;
short startValue;
short endValue;
short resetValue;
short measure;
short offset;
Byte beat;
Byte grid;
Byte type;
Byte curveShape;
Byte ccData;
Byte flags;
} DMUS_CURVE_PMSG_CDESC;
[helpcontext(406700)]
typedef struct DMUS_NOTE_PMSG_CDESC {
MUSIC_TIME mtDuration;
short musicValue;
short measure;
short offset;
Byte beat;
Byte grid;
Byte velocity;
Byte flags;
Byte timeRange;
Byte durRange;
Byte velRange;
Byte playModeFlags;
Byte subChordLevel;
Byte midiValue;
short transpose; //becomes byte
} DMUS_NOTE_PMSG_CDESC;
[helpcontext(406800)]
typedef struct DMUS_PORTCAPS_CDESC {
[hidden] long dwSize;
CONST_DMUS_PC_FLAGS lFlags;
[hidden] DXGUID guidPort;
CONST_DMUS_PC_CLASS lClass;
CONST_DMUS_PORT_TYPE lType;
long lMemorySize;
long lMaxChannelGroups;
long lMaxVoices;
long lMaxAudioChannels;
long lEffectFlags;
[hidden] short wszDescription[128];
} DMUS_PORTCAPS_CDESC;
#ifdef DX61
[helpcontext(406900)]
typedef struct D3DHVERTEX_CDESC {
long lFlags; /* Homogeneous clipping flags */
float hx;
float hy;
float hz;
} D3DHVERTEX_CDESC;
#ifndef JAVA_ONLY
[helpcontext(407000)]
typedef struct D3DLIGHT2_CDESC {
[hidden] long lSize;
d3dLightType dltType;
D3DCOLORVALUE_CDESC color;
D3DVECTOR_CDESC position;
D3DVECTOR_CDESC direction;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT2_CDESC ;
#else
typedef struct D3DLIGHT2_CDESC {
long lSize;
d3dLightType dltType;
float color_r; //D3DCOLORVALUE
float color_g; //D3DCOLORVALUE
float color_b; //D3DCOLORVALUE
float color_a; //D3DCOLORVALUE
float position_x; //D3DVECTOR
float position_y;
float position_z;
float direction_x; //D3DVECTOR
float direction_y;
float direction_z;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT2_CDESC ;
#endif
[helpcontext(407100)]
typedef struct D3DLIGHTDATA_CDESC
{
long lSize;
[hidden] long pIn;
long lInSize;
[hidden] long pOut;
long lOutSize;
} D3DLIGHTDATA_CDESC;
#ifndef JAVA_ONLY
[helpcontext(407200)]
typedef struct D3DMATERIAL_CDESC {
[hidden] long lSize;
D3DCOLORVALUE_CDESC diffuse;
D3DCOLORVALUE_CDESC ambient;
D3DCOLORVALUE_CDESC specular;
D3DCOLORVALUE_CDESC emmisive;
float power;
long hTexture;
long lRampSize; //union with hTexture!!!
} D3DMATERIAL_CDESC;
#else
typedef struct D3DMATERIAL_CDESC {
long lSize;
float diffuse_r; //d3dColorValue
float diffuse_g;
float diffuse_b;
float diffuse_a;
float ambient_r; //D3DCOLORVALUE
float ambient_g;
float ambient_b;
float ambient_a;
float specular_r; //D3DCOLORVALUE
float specular_g;
float specular_b;
float specular_a;
float emissive_r; //D3DCOLORVALUE
float emissive_g;
float emissive_b;
float emissive_a;
float power;
long hTexture;
long lRampSize; //union with hTexture
} D3DMATERIAL_CDESC;
#endif
[helpcontext(407300)]
typedef struct D3DSTATS_CDESC
{
[hidden] long lSize;
long lTrianglesDrawn;
long lLinesDrawn;
long lPointsDrawn;
long lSpansDrawn;
long lVerticesProcessed;
} D3DSTATS_CDESC;
#ifndef JAVA_ONLY
[helpcontext(407400)]
typedef struct D3DTRANSFORMDATA_CDESC
{
[hidden]long lSize;
[hidden]long pIn;
[hidden]long lInSize;
[hidden]long pOut;
[hidden]long lOutSize;
[hidden]long pHOut;
d3dClipFlags lClip;
d3dClipFlags lClipIntersection;
d3dClipFlags lClipUnion;
D3DRECT_CDESC rExtent;
} D3DTRANSFORMDATA_CDESC;
#else
typedef struct D3DTRANSFORMDATA_CDESC
{
long lSize;
[hidden]long pIn;
long lInSize;
[hidden] long pOut;
long lOutSize;
[hidden]long pHOut;
d3dClipFlags lClip;
d3dClipFlags lClipIntersection;
d3dClipFlags lClipUnion;
long rExtent_x1;
long rExtent_y1;
long rExtent_x2;
long rExtent_y2;
} D3DTRANSFORMDATA_CDESC;
#endif
[helpcontext(407500)]
[hidden] typedef struct D3DVIEWPORT_CDESC {
[hidden] long lSize;
long lX;
long lY;
long lWidth;
long lHeight;
float scaleX;
float scaleY;
float maxX;
float maxY;
float minZ;
float maxZ;
} D3DVIEWPORT_CDESC ;
[helpcontext(407600)]
typedef struct D3DVIEWPORT2_CDESC {
[hidden] long lSize;
long lX;
long lY;
long lWidth;
long lHeight;
float clipX;
float clipY;
float clipWidth;
float clipHeight;
float minZ;
float maxZ;
} D3DVIEWPORT2_CDESC;
#endif
[helpcontext(407700)]
typedef struct DIENVELOPE_CDESC {
[hidden] long lSize;
long lAttackLevel;
long lAttackTime;
long lFadeLevel;
long lFadeTime;
} DIENVELOPE_CDESC;
[helpcontext(407800)]
typedef struct DIRAMPFORCE_CDESC {
long lRangeStart; //ramp force
long lRangeEnd; //ramp force
} DIRAMPFORCE_CDESC;
[helpcontext(407900)]
typedef struct DIPERIODICFORCE_CDESC {
long lMagnitude; //periodic
long lOffset; //periodic
long lPhase; //periodic
long lPeriod; //periodic
} DIPERIODICFORCE_CDESC;
[helpcontext(408000)]
typedef struct DICONDITION_CDESC {
long lOffset; //condition
long lPositiveCoefficient; //condition
long lNegativeCoefficient; //condition
long lPositiveSaturation; //condition
long lNegativeSaturation; //condition
long lDeadBand; //condition
//VARIANT_BOOL bDirectional; //condition
} DICONDITION_CDESC;
[helpcontext(408100)]
typedef struct DICONSTANTFORCE_CDESC {
long lMagnitude;
} DICONSTANTFORCE_CDESC;
[hidden]
typedef struct DIAXISOFFSETS_CDESC{
long x;
long y;
} DIAXISOFFSETS_CDESC;
[helpcontext(408200)]
typedef struct DIEFFECT_CDESC {
[hidden] long dwSize;
long lFlags; //dwTriggerButton and rgdwAxes
//use DIEFF_OBJECTIDS
// DIEFF_OBJECTOFFSETS
//rglDirection
//depends DIEFF_CARTESIAN
// DIEFF_POLAR
// DIEFF_SPHERICAL
long lDuration; //durration of the effect
long lSamplePeriod; //period
long lGain; //magnitude???
long lTriggerButton; //DIEFF_OBJECTIDS
long lTriggerRepeatInterval;
[hidden] long cAxes; //4
[hidden] long lprgdwAxes; //DIEFF_OBJECTIDS
//
[hidden] long lprglDirection;
[hidden] long lpEnvelope;
[hidden] long cbTypeSpecificParams;
[hidden] long lpvTypeSpecificParams;
long lStartDelay;
long x; // x
long y; // y
DIRAMPFORCE_CDESC rampForce;
DIPERIODICFORCE_CDESC periodicForce;
DICONSTANTFORCE_CDESC constantForce;
DICONDITION_CDESC conditionX;
DICONDITION_CDESC conditionY;
diConditionFlags conditionFlags;
BOOL bUseEnvelope;
DIENVELOPE_CDESC envelope;
[hidden] DIAXISOFFSETS_CDESC axisOffsets;
} DIEFFECT_CDESC;
[helpcontext(408300)]
typedef struct D3DDEVINFO_TEXTUREMANAGER_CDESC {
//cant be VARIANT_BOOL because that would only be 16 bit
long bThrashing; /* indicates if thrashing */
long lNumEvicts; /* number of textures evicted */
long lNumVidCreates; /* number of textures created in video memory */
long lNumTexturesUsed; /* number of textures used */
long lNumUsedTexInVid; /* number of used textures present in video memory */
long lWorkingSet; /* number of textures in video memory */
long lWorkingSetBytes; /* number of bytes in video memory */
long lTotalManaged; /* total number of managed textures */
long lTotalBytes; /* total number of bytes of managed textures */
long lLastPri; /* priority of last texture evicted */
} D3DDEVINFO_TEXTUREMANAGER_CDESC;
//need to add to master help
[helpcontext(408400)]
typedef struct DDOVERLAYFX_CDESC{
[hidden] long lSize;
long lAlphaEdgeBlendBitDepth;
long lAlphaEdgeBlend;
[hidden] long lReserved;
long lAlphaDestConstBitDepth;
long lAlphaDestConst; //union LPDIRECTDRAWSURFACE lpDDSAlphaDest;
long lAlphaSrcConstBitDepth;
long lAlphaSrcConst; //union LPDIRECTDRAWSURFACE lpDDSAlphaSrc;
DDCOLORKEY_CDESC dckDestColorkey;
DDCOLORKEY_CDESC dckSrcColorkey;
ddOverFxFlags lDDFX;
long lFlags;
} DDOVERLAYFX_CDESC;
[helpcontext(408500)]
typedef struct D3DDEVINFO_TEXTURING_CDESC {
long lNumLoads; /* counts Load() API calls */
long lApproxBytesLoaded; /* Approximate number bytes loaded via Load() */
long lNumPreLoads; /* counts PreLoad() API calls */
long lNumSet; /* counts SetTexture() API calls */
long lNumCreates; /* counts texture creates */
long lNumDestroys; /* counts texture destroys */
long lNumSetPriorities; /* counts SetPriority() API calls */
long lNumSetLODs; /* counts SetLOD() API calls */
long lNumLocks; /* counts number of texture locks */
long lNumGetDCs; /* counts number of GetDCs to textures */
} D3DDEVINFO_TEXTURING_CDESC;