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.

4086 lines
182 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: direct.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. // Direct.idl : IDL source for Direct.dll
  11. // +++++++++++++++++++++++++++++++++++++
  12. // This file will be processed by the MIDL tool to
  13. // produce the type library (Direct.tlb) and marshalling code.
  14. //
  15. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  16. #define VB_ONLY 1
  17. //
  18. // from windef.h
  19. #define MAX_PATH 256
  20. //
  21. // from mmsystem.h
  22. //
  23. #define MAXPNAMELEN 32 /* max product name length (including NULL) */
  24. #define MAX_JOYSTICKOEMVXDNAME 260 /* max oem vxd name length (including NULL) */
  25. //
  26. // Direct 3D Retain mode
  27. //
  28. interface Direct3DRM2;
  29. interface Direct3DRMArray;
  30. interface Direct3DRMFrameArray;
  31. interface Direct3DRMLightArray;
  32. interface Direct3DRMPickArray;
  33. interface Direct3DRMPick2Array;
  34. interface Direct3DRMFaceArray;
  35. interface Direct3DRMViewportArray;
  36. interface Direct3DRMDeviceArray;
  37. interface Direct3DRMVisualArray;
  38. interface Direct3DRMLight;
  39. interface Direct3DRMVisual;
  40. interface Direct3DRMViewport2;
  41. interface Direct3DRMMeshBuilder2;
  42. interface Direct3DRMFace;
  43. interface Direct3DRMMaterial;
  44. interface Direct3DRMMaterial2;
  45. interface Direct3DRMMesh;
  46. interface Direct3DRMDevice2;
  47. interface Direct3DRMFrame2;
  48. interface Direct3DRMAnimationSet;
  49. interface Direct3DRMWinDevice;
  50. interface Direct3DRMAnimation;
  51. interface Direct3DRMObject;
  52. interface Direct3DRMWrap;
  53. //interface Direct3DRMUserVisual;
  54. interface Direct3DRMShadow;
  55. interface Direct3DRMCallback; //reserved for DestroyObjectCallback
  56. interface Direct3DRMDeviceUpdateCallback3;
  57. //interface Direct3DRMUserVisualCallback;
  58. interface Direct3DRMLoadTextureCallback3;
  59. interface Direct3DRMLoadCallback;
  60. interface Direct3DRMFrameMoveCallback2;
  61. interface Direct3DRMEnumerateObjectsCallback;
  62. //
  63. //new RM interfaces
  64. //
  65. interface Direct3DRMFrame3;
  66. interface Direct3DRMMeshBuilder3;
  67. interface Direct3DRMTexture3;
  68. interface Direct3DRMDevice3;
  69. interface Direct3DRMAnimationArray;
  70. interface Direct3DRMAnimation2;
  71. interface Direct3DRMProgressiveMesh;
  72. interface Direct3DRMClippedVisual;
  73. interface Direct3DRMObjectArray;
  74. interface Direct3DRMInterpolator;
  75. interface Direct3DRMMeshInterpolator;
  76. interface Direct3DRMFrameInterpolator;
  77. interface Direct3DRMMaterialInterpolator;
  78. interface Direct3DRMTextureInterpolator;
  79. interface Direct3DRMLightInterpolator;
  80. interface Direct3DRMViewportInterpolator;
  81. //
  82. // Direct Draw
  83. //
  84. interface DirectDraw4;
  85. interface DirectDrawSurface4;
  86. interface DirectDraw7;
  87. interface DirectDrawSurface7;
  88. interface DirectDrawEnumSurfaces;
  89. interface DirectDrawClipper;
  90. interface DirectDrawPalette;
  91. interface DirectDrawColorControl;
  92. interface DirectDrawGammaControl;
  93. interface DirectDrawEnum;
  94. interface DirectDrawEnumModes;
  95. interface DirectDrawIdentifier;
  96. //interface DirectDrawEnumVideoPorts;
  97. //interface DirectDrawVideoPort;
  98. //interface DDVideoPortContainer;
  99. //
  100. // Direct 3D Imediate mode
  101. //
  102. //interface Direct3DViewport3;
  103. //interface Direct3DMaterial3;
  104. //interface Direct3DLight;
  105. //interface D3DValidateCallback;
  106. interface Direct3D7;
  107. interface Direct3DDevice7;
  108. interface Direct3DVertexBuffer7;
  109. interface Direct3DEnumDevices;
  110. interface Direct3DEnumPixelFormats;
  111. //
  112. // Direct Input
  113. //
  114. // interface IdInputDevice;
  115. interface DirectInput;
  116. interface DirectInputDevice;
  117. interface DirectInputDevice2;
  118. interface DirectInputEffect;
  119. interface DirectInputEnumEffects;
  120. interface DirectInputEnumDevices;
  121. interface DirectInputEnumDeviceObjects;
  122. interface DIEnumCreatedEffectObjects;
  123. //
  124. // DirectSound
  125. //
  126. interface DirectSound;
  127. interface DirectSoundBuffer;
  128. interface DirectSound3DBuffer;
  129. interface DirectSound3DListener;
  130. interface DirectSoundCapture;
  131. interface DirectSoundCaptureBuffer;
  132. interface DirectSoundNotify;
  133. interface DirectSoundEnum;
  134. //
  135. // DirectPlay & DirectPlayLobby
  136. //
  137. interface DirectPlay4;
  138. interface DirectPlayLobbyConnection;
  139. interface DirectPlayAddress;
  140. interface DirectPlayLobby3;
  141. interface DirectPlayEnumConnections;
  142. interface DirectPlayEnumPlayers2;
  143. interface DirectPlayEnumAddress;
  144. interface DirectPlayEnumSessions2;
  145. interface DirectPlayEnumAddressTypes;
  146. interface DirectPlayEnumLocalApplications;
  147. interface DirectPlayEnumServiceProviders;
  148. interface DirectPlaySessionData;
  149. //
  150. // Direct Music
  151. interface DirectMusicLoader;
  152. interface DirectMusicSegment;
  153. interface DirectMusicPerformance;
  154. interface DirectMusicComposer;
  155. interface DirectMusicBand;
  156. interface DirectMusicStyle;
  157. interface DirectMusicChordMap;
  158. interface DirectMusicSegmentState;
  159. interface DirectMusicCollection;
  160. #include "ocidl.idl"
  161. //
  162. // Base types
  163. //
  164. import "wtypes.idl";
  165. [
  166. uuid(E1211242-8E94-11d1-8808-00C04FC2C602),
  167. version(1.0),
  168. helpstring("DirectX 7 for Visual Basic Type Library"),
  169. helpfile ("directx.chm")
  170. ]
  171. library DxVBLib
  172. {
  173. #ifndef C_ONLY
  174. #define USERARG IDispatch
  175. #define RMCLONEOBJECT Direct3DRMObject
  176. #include "directvbconst.idl"
  177. typedef long Handle;
  178. typedef long HWnd;
  179. typedef float D3Dval;
  180. typedef long D3Dcolor ;
  181. typedef long D3DMaterialHandle;
  182. typedef long D3DMatrixHandle;
  183. typedef long D3DTextureHandle;
  184. typedef long D3DRMGroupIndex;
  185. typedef long Dpid;
  186. typedef unsigned char Byte;
  187. typedef long HRSrc;
  188. #define DirectPlayEnumPlayers2 DirectPlayEnumPlayers
  189. #define DirectPlayEnumSessions2 DirectPlayEnumSessions
  190. #define DirectDrawEnumModes2 DirectDrawEnumModes
  191. #define DirectDrawEnumSurfaces2 DirectDrawEnumSurfaces
  192. #else
  193. #define USERARG IUnknown
  194. #define RMCLONEOBJECT IUnknown
  195. typedef unsigned char Byte;
  196. typedef long Handle;
  197. typedef long HWnd;
  198. typedef float D3Dvalue;
  199. typedef long D3Dcolor ;
  200. typedef long HRSrc;
  201. typedef long Dpid;
  202. typedef long D3DMatrixHandle;
  203. typedef long D3DTextureHandle;
  204. typedef long D3DColorModel;
  205. typedef long D3DLightType;
  206. typedef long D3DMaterialHandle;
  207. typedef long D3DRMSaveFlags;
  208. typedef long D3DPrimitiveType;
  209. typedef long D3DFVFFlags;
  210. typedef long D3DVertexType;
  211. typedef long D3DLightStateType;
  212. typedef long D3DRenderStateType;
  213. typedef long D3DRenderStateSingle;
  214. typedef long D3DTransformStateType;
  215. typedef long D3DRMCombineType;
  216. typedef long D3DRMColorModel;
  217. typedef long D3DRMLightType;
  218. typedef long D3DRMFogMode;
  219. typedef long D3DRMProjectionType;
  220. typedef long D3DRMGroupIndex;
  221. typedef long D3DRMMappingFlags;
  222. //ENUMERATORS
  223. typedef long D3DRMRenderQuality;
  224. typedef long D3DRMTextureQuality;
  225. typedef long D3DRMAnimationOptions;
  226. typedef long D3DRMWrapType;
  227. typedef long D3DRMColorSource;
  228. typedef long D3DRMMaterialMode;
  229. typedef long D3DRMSortMode;
  230. typedef long D3DRMFrameConstraint;
  231. typedef long D3DRMZbufferMode;
  232. typedef long D3DRMXofFormat;
  233. typedef long D3DRMLoadFlags;
  234. //typedef long D3DRMUserVisualReason;
  235. //FLAGS
  236. #define DBOOLFlags long
  237. #define dplConnectionFlags long
  238. #define dpGroupFlags long
  239. #define DPPlayerFlags long
  240. #define DPEnumConnectionFlags long
  241. #define DPEnumGroupFlags long
  242. #define DPEnumPlayerFlags long
  243. #define DPEnumSessionFlags long
  244. #define DPCapsFlags long
  245. #define DPGetFlags long
  246. #define DPGetCapsFlags long
  247. #define DPOpenFlags long
  248. #define DPMessageQueueFlags long
  249. #define DPReceiveFlags long
  250. #define DPSendFlags long
  251. #define DPSetFlags long
  252. #define DPLMsg long
  253. #define DPLWait long
  254. #define DPSessionFlags long
  255. #define D3DDPFlags long
  256. #define D3DNextFlags long
  257. #define D3DClearFlags long
  258. #define D3DTransformFlags long
  259. #define D3DTextureStageStateType long
  260. #define D3DTextureStageSingle long
  261. #define D3DProcessVerticesFlags long
  262. #define D3DStateBlockType long
  263. #define DDLockFlags long
  264. #define D3DVopFlags long
  265. #define DDPCapsFlags long
  266. #define DPConnectFlags long
  267. #define DDPCapsFlags long
  268. #define DDEDMFlags long
  269. #define DDSCLFlags long
  270. #define DDBltFlags long
  271. #define DDBltFastFlags long
  272. #define DDFlipFlags long
  273. #define DDOverZFlags long
  274. #define DDOverFlags long
  275. #define DDEnumOverFlags long
  276. #define DDEnumOverlayZFlags long
  277. #define DDGFSFlags long
  278. #define DDGfsFlags long
  279. #define DDCKeyFlags long
  280. #define DDSGRFlags long
  281. #define DDEnumSurfacesFlags long
  282. #define DDBitDepthFlags long
  283. #define DDSDMFlags long
  284. #define DDWaitVBFlags long
  285. #define DDDeviceIDFlags long
  286. #define D3DDevInfoId long
  287. #define D3DVertexComponent long
  288. #define D3DTAFlags long
  289. #define D3DVTXPCapsFlags long
  290. #define D3DRMViewportClearFlags long
  291. #define D3DRMLoadFlags long
  292. #define D3DRMCreateDeviceFlags long
  293. #define D3DRMHandedness long
  294. #define D3DRMCallbackOrderFlags long
  295. #define D3DRMFogMethod long
  296. #define D3DRMFogMode long
  297. #define D3DRMTravesalFlags long
  298. #define D3DRMZBufferMode long
  299. #define D3DRMRayPickFlags long
  300. #define D3DRMAddFacesFlags long
  301. #define D3DRMAddMeshbuilderFlags long
  302. #define D3DRMAddTrianglesVt long
  303. #define D3DRMAddMeshBuilderFlags long
  304. #define D3DRMGenerateNormalsFlags long
  305. #define D3DRMParentingFlags long
  306. #define D3DRMFptfFlags long
  307. #define D3DRMRenderModeFlags long
  308. #define D3DRMWireFrameFlags long
  309. #define D3DRMTextureChangedFlags long
  310. #define D3DRMTextureCacheFlags long
  311. #define D3DRMTraversalFlags long
  312. #define D3DRMInterpolationFlags long
  313. #define D3DRMShadowFlags long
  314. #define DSSCLFlags long
  315. #define DSSpeakerFlags long
  316. #define DSBStatusFlags long
  317. #define DSBPlayFlags long
  318. #define DSBLockFlags long
  319. #define DS3DApplyFlags long
  320. #define DS3DModeFlags long
  321. #define DSCBStatusFlags long
  322. #define DSCBStartFlags long
  323. #define DSCBLockFlags long
  324. #define DIEnumDevicesFlags long
  325. #define DIDeviceType long
  326. #define DIDFTFlags long
  327. #define DIDGDDFlags long
  328. #define DIPHFlags long
  329. #define DISCLFlags long
  330. #define diDataFormatFlags long
  331. #define diCommonDataFormats long
  332. #define DIDeviceObjInstanceFlags long
  333. #define disddFlags long
  334. #define DIEFTFLAGS long
  335. #define DIEFTFLAGS long
  336. #define DIGFFSFLAGS long
  337. #define DISFFCFLAGS long
  338. #define DIEPFLAGS long
  339. #define DIEFFFLAGS long
  340. #endif
  341. //- clone is a keyword in Java so we need to rename it to cloneObject
  342. // consider renaming the C entry point
  343. #ifdef C_ONLY
  344. #include "directxstruct.idl"
  345. #define cloneObject clone
  346. #else
  347. #include "directvbstruct.idl"
  348. #endif
  349. #ifdef JAVA_ONLY
  350. #define AVERT float
  351. #define AD3DRECT long
  352. #define AD3DLIGHTDATA long
  353. #define APAL Byte
  354. #define ATYPE Byte
  355. #define ABYTE Byte
  356. #define ALONG long
  357. #else
  358. #define AVERT void
  359. #define ATYPE void
  360. #define ABYTE void
  361. #define ALONG void
  362. #define AD3DRECT D3DRECT
  363. #define AD3DLIGHTDATA D3DLIGHTDATA
  364. #define APAL PALETTEENTRY
  365. #endif
  366. ///////////////////////////////////////////////////////////////////////////
  367. //
  368. // DirectPlay and DirectPlayLobby Interfaces
  369. //
  370. ///////////////////////////////////////////////////////////////////////////
  371. [
  372. object,
  373. uuid(9F76FF05-8E92-11d1-8808-00C04FC2C602),
  374. helpstring("DirectPlayAddress Interface"),
  375. pointer_default(unique),
  376. local,
  377. helpcontext(300200)
  378. ]
  379. interface DirectPlayAddress : IUnknown
  380. {
  381. import "oaidl.idl";
  382. [hidden] [helpcontext(300201)] HRESULT SetAddress([in] long pAddress,[in] long length);
  383. [hidden] [helpcontext(300202)] HRESULT GetAddress([out] long *pAddress,[out] long * length);
  384. };
  385. [
  386. object,
  387. uuid(9F76FF06-8E92-11d1-8808-00C04FC2C602),
  388. helpstring("DirectPlayLobbyConnection Interface"),
  389. pointer_default(unique),
  390. local,
  391. helpcontext(300400)
  392. ]
  393. interface DirectPlayLobbyConnection : IUnknown
  394. {
  395. import "oaidl.idl";
  396. [hidden] HRESULT GetConnectionStruct([out] long *connect);
  397. [hidden] HRESULT SetConnectionStruct([in] long connect);
  398. [helpcontext(300401)] HRESULT SetFlags([in] DPLConnectionFlags flags);
  399. [helpcontext(300402)] HRESULT GetFlags([out,retval] DPLConnectionFlags *ret);
  400. [helpcontext(300403)] HRESULT SetSessionDesc([in] DirectPlaySessionData *sessionDesc);
  401. [helpcontext(300404)] HRESULT GetSessionDesc([out,retval] DirectPlaySessionData **sessionDesc);
  402. [helpcontext(300405)] HRESULT SetGuidSP([in] BSTR guid);
  403. [helpcontext(300406)] HRESULT GetGuidSP([out,retval] BSTR *guid);
  404. [helpcontext(300407)] HRESULT SetAddress([in] DirectPlayAddress *address);
  405. [helpcontext(300408)] HRESULT GetAddress([out,retval] DirectPlayAddress **address);
  406. [helpcontext(300409)] HRESULT SetPlayerShortName([in] BSTR name);
  407. [helpcontext(300410)] HRESULT GetPlayerShortName([out,retval] BSTR *name);
  408. [helpcontext(300411)] HRESULT SetPlayerLongName([in] BSTR name);
  409. [helpcontext(300412)] HRESULT GetPlayerLongName([out,retval] BSTR *name);
  410. };
  411. [
  412. object,
  413. uuid(9F76FF0A-8E92-11d1-8808-00C04FC2C602),
  414. helpstring("DirectPlayEnumConnections Interface"),
  415. pointer_default(unique),
  416. local,
  417. helpcontext(300600)
  418. ]
  419. interface DirectPlayEnumConnections : IUnknown
  420. {
  421. import "oaidl.idl";
  422. [helpcontext(300601)] HRESULT GetAddress([in] long index, [out,retval] DirectPlayAddress **retV);
  423. [helpcontext(300602)] HRESULT GetFlags([in] long index, [out,retval] long *retV);
  424. [helpcontext(300603)] HRESULT GetGuid([in] long index, [out,retval] BSTR *retV);
  425. [helpcontext(300604)] HRESULT GetName([in] long index, [out,retval] BSTR *retV);
  426. [helpcontext(300605)] HRESULT GetCount([out,retval]long *count);
  427. };
  428. [
  429. object,
  430. uuid(9F76FF0B-8E92-11d1-8808-00C04FC2C602),
  431. helpstring("DirectPlayEnumPlayers2 Interface"),
  432. pointer_default(unique),
  433. local,
  434. helpcontext(300800)
  435. ]
  436. interface DirectPlayEnumPlayers2 : IUnknown
  437. {
  438. import "oaidl.idl";
  439. [helpcontext(300801)] HRESULT GetCount([out,retval]long *count);
  440. [helpcontext(300802)] HRESULT GetFlags([in] long index, [out,retval]long *count);
  441. [helpcontext(300803)] HRESULT GetType([in] long index, [out,retval]long *count);
  442. [helpcontext(300804)] HRESULT GetDPID([in] long index, [out,retval]long *count);
  443. [helpcontext(300805)] HRESULT GetShortName([in] long index, [out,retval] BSTR *retV);
  444. [helpcontext(300806)] HRESULT GetLongName([in] long index, [out,retval] BSTR *retV);
  445. };
  446. [
  447. object,
  448. uuid(9F76FF0C-8E92-11d1-8808-00C04FC2C602),
  449. helpstring("DirectPlayEnumSessions2 Interface"),
  450. pointer_default(unique),
  451. local,
  452. helpcontext(301000)
  453. ]
  454. interface DirectPlayEnumSessions2 : IUnknown
  455. {
  456. import "oaidl.idl";
  457. [helpcontext(301001)] HRESULT GetItem( [in]long index, [out,retval] DirectPlaySessionData **retval);
  458. [helpcontext(301002)] HRESULT GetCount([out,retval]long *count);
  459. };
  460. [
  461. object,
  462. uuid(9F76FF0D-8E92-11d1-8808-00C04FC2C602),
  463. helpstring("DirectPlayEnumServiceProviders Interface"),
  464. pointer_default(unique),
  465. hidden,
  466. local,
  467. helpcontext(301200)
  468. ]
  469. interface DirectPlayEnumServiceProviders : IUnknown
  470. {
  471. import "oaidl.idl";
  472. [helpcontext(301201)] HRESULT GetCount([out,retval]long *count);
  473. [helpcontext(301202)] HRESULT GetName([in] long index,[out,retval] BSTR *ret);
  474. [helpcontext(301203)] HRESULT GetGuid([in] long index,[out,retval] BSTR *ret);
  475. [helpcontext(301204)] HRESULT GetVersion([in] long index,[in] long *majorVersion,[in,out] long *minorVersion);
  476. };
  477. [
  478. object,
  479. uuid(9F76FF0E-8E92-11d1-8808-00C04FC2C602),
  480. helpstring("DirectPlayEnumLocalApplications Interface"),
  481. pointer_default(unique),
  482. local,
  483. helpcontext(301400)
  484. ]
  485. interface DirectPlayEnumLocalApplications : IUnknown
  486. {
  487. import "oaidl.idl";
  488. [helpcontext(301401)] HRESULT GetCount([out,retval]long *count);
  489. [helpcontext(301402)] HRESULT GetName([in] long index,[out,retval] BSTR *ret);
  490. [helpcontext(301403)] HRESULT GetGuid([in] long index,[out,retval] BSTR *ret);
  491. };
  492. [
  493. object,
  494. uuid(9F76FF11-8E92-11d1-8808-00C04FC2C602),
  495. helpstring("DirectPlayMessage Interface"),
  496. pointer_default(unique),
  497. local,
  498. helpcontext(301600)
  499. ]
  500. interface DirectPlayMessage : IUnknown
  501. {
  502. import "oaidl.idl";
  503. [helpcontext(301601)] HRESULT WriteGuid([in] BSTR val);
  504. [helpcontext(301602)] HRESULT ReadGuid([out,retval] BSTR *val);
  505. [helpcontext(301603)] HRESULT WriteString([in] BSTR val);
  506. [helpcontext(301604)] HRESULT ReadString([out,retval] BSTR *val);
  507. [helpcontext(301605)] HRESULT WriteLong([in] long val);
  508. [helpcontext(301606)] HRESULT ReadLong([out,retval] long *val);
  509. [helpcontext(301607)] HRESULT WriteShort([in] short val);
  510. [helpcontext(301608)] HRESULT ReadShort([out,retval] short *val);
  511. [helpcontext(301609)] HRESULT WriteSingle([in] float val);
  512. [helpcontext(301610)] HRESULT ReadSingle([out,retval] float *val);
  513. [helpcontext(301611)] HRESULT WriteDouble([in] double val);
  514. [helpcontext(301612)] HRESULT ReadDouble([out,retval] double *val);
  515. [helpcontext(301613)] HRESULT WriteByte([in] Byte val);
  516. [helpcontext(301614)] HRESULT ReadByte([out,retval] Byte *val);
  517. [helpcontext(301615)] HRESULT MoveToTop();
  518. [helpcontext(301616)] HRESULT Clear();
  519. [helpcontext(301617)] HRESULT GetMessageSize([out,retval] long *ret);
  520. [helpcontext(301618)] HRESULT GetMessageData([in,out] void *userDefinedType);
  521. [helpcontext(301619)] HRESULT SetMessageData([in] void *userDefinedType,[in] long size);
  522. [hidden] HRESULT GetPointer([out,retval] long *ret);
  523. //new methods need to be put in master help id list
  524. [helpcontext(301620)] HRESULT ReadSysMsgConnection([out,retval] DirectPlayLobbyConnection **ret);
  525. [helpcontext(301621), hidden] HRESULT ReadSysMsgSessionDesc([out,retval] DirectPlaySessionData **ret);
  526. [helpcontext(301622), hidden] HRESULT ReadSysMsgData([out,retval] BSTR *ret);
  527. [helpcontext(301623)] HRESULT ReadSysChatString([out,retval] BSTR *ret);
  528. [helpcontext(301624)] HRESULT MoveToSecureMessage ();
  529. };
  530. [
  531. object,
  532. uuid(9F76FF12-8E92-11d1-8808-00C04FC2C602),
  533. helpstring("DirectPlaySessionData Interface"),
  534. pointer_default(unique),
  535. local,
  536. helpcontext(301800)
  537. ]
  538. interface DirectPlaySessionData : IUnknown
  539. {
  540. import "oaidl.idl";
  541. [helpcontext(301801)] HRESULT SetGuidInstance([in] BSTR guid);
  542. [helpcontext(301802)] HRESULT GetGuidInstance([out,retval] BSTR *guid);
  543. [helpcontext(301803)] HRESULT SetGuidApplication([in] BSTR guid);
  544. [helpcontext(301804)] HRESULT GetGuidApplication([out,retval] BSTR *guid);
  545. [helpcontext(301805)] HRESULT SetMaxPlayers([in] long val);
  546. [helpcontext(301806)] HRESULT GetMaxPlayers([out,retval] long *val);
  547. [hidden,helpcontext(301807)] HRESULT SetCurrentPlayers([in] long val);
  548. [helpcontext(301808)] HRESULT GetCurrentPlayers([out,retval] long *val);
  549. [helpcontext(301809)] HRESULT SetSessionName([in] BSTR val);
  550. [helpcontext(301810)] HRESULT GetSessionName([out,retval] BSTR *val);
  551. [helpcontext(301811)] HRESULT SetSessionPassword([in] BSTR val);
  552. [helpcontext(301812)] HRESULT GetSessionPassword([out,retval] BSTR *val);
  553. [helpcontext(301813)] HRESULT SetUser1([in] long val);
  554. [helpcontext(301814)] HRESULT GetUser1([out,retval] long *val);
  555. [helpcontext(301815)] HRESULT SetUser2([in] long val);
  556. [helpcontext(301816)] HRESULT GetUser2([out,retval] long *val);
  557. [helpcontext(301817)] HRESULT SetUser3([in] long val);
  558. [helpcontext(301818)] HRESULT GetUser3([out,retval] long *val);
  559. [helpcontext(301819)] HRESULT SetUser4([in] long val);
  560. [helpcontext(301820)] HRESULT GetUser4([out,retval] long *val);
  561. [helpcontext(301821)] HRESULT SetFlags([in] DPSessionFlags val);
  562. [helpcontext(301822)] HRESULT GetFlags([out,retval] long *val);
  563. [hidden,helpcontext(301823)] HRESULT GetData([out] void *val);
  564. };
  565. [
  566. object,
  567. uuid(9F76FF0F-8E92-11d1-8808-00C04FC2C602),
  568. helpstring("IDirectPlay4 Interface"),
  569. pointer_default(unique),
  570. local,
  571. helpcontext(302000)
  572. ]
  573. interface DirectPlay4 : IUnknown
  574. {
  575. import "oaidl.idl";
  576. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  577. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  578. //
  579. // *** DirectPlay4 methods ***
  580. //
  581. [helpcontext(302001)] HRESULT AddGroupToGroup([in] long ParentGroupId, [in] long GroupId);
  582. [helpcontext(302002)] HRESULT AddPlayerToGroup([in] long groupId, [in] long playerId);
  583. [helpcontext(302003)] HRESULT CancelMessage([in] long msgid); //FLAGS ALWAYS 0
  584. [helpcontext(302004)] HRESULT CancelPriority([in] long minPrority ,[in] long maxPriority); //FLAGS ALWAYS 0
  585. [helpcontext(302005)] HRESULT Close();
  586. [helpcontext(302006)] HRESULT CreateGroup([in] BSTR friendlyName, [in] BSTR formalName, [in] DPGroupFlags flags,
  587. [out,retval] long *v1);
  588. [helpcontext(302007)] HRESULT CreateGroupInGroup([in] long parentid,[in] BSTR friendlyName, [in] BSTR formalName,
  589. [in] DPGroupFlags flags, [out,retval] long *v1);
  590. [helpcontext(302008)] HRESULT CreatePlayer([in] BSTR friendlyName, [in] BSTR formalName,
  591. [in] long receiveEvent, [in] DPPlayerFlags flags,
  592. [out,retval] long *v1);
  593. [helpcontext(302009)] HRESULT DeleteGroupFromGroup([in] long groupParentId, [in] long groupId);
  594. [helpcontext(302010)] HRESULT DeletePlayerFromGroup([in] long groupId, [in] long playerId);
  595. [helpcontext(302011)] HRESULT DestroyGroup([in] long groupId);
  596. [helpcontext(302012)] HRESULT DestroyPlayer([in] long playerId);
  597. [helpcontext(302013)] HRESULT GetDPEnumConnections([in] BSTR guid,[in] DPEnumConnectionFlags flags, [out,retval] DirectPlayEnumConnections **retVal);
  598. [helpcontext(302014)] HRESULT GetDPEnumGroupPlayers([in] long groupId, [in] BSTR sessionGuid, [in] DPEnumPlayerFlags flags, [out,retval] DirectPlayEnumPlayers2 **retVal);
  599. [helpcontext(302015)] HRESULT GetDPEnumGroups( [in] BSTR sessionGuid, [in] DPEnumGroupFlags flags, [out,retval] DirectPlayEnumPlayers2 **retVal);
  600. [helpcontext(302016)] HRESULT GetDPEnumGroupsInGroup( [in] long groupId,[in] BSTR sessionGuid, [in] DPEnumGroupFlags flags, [out,retval] DirectPlayEnumPlayers2 **retVal);
  601. [helpcontext(302017)] HRESULT GetDPEnumPlayers( [in] BSTR sessionGuid, [in] DPEnumPlayerFlags flags, [out,retval] DirectPlayEnumPlayers2 **retVal);
  602. [helpcontext(302018)] HRESULT GetDPEnumSessions([in] DirectPlaySessionData *sessionDesc, [in] long timeOut, [in] DPEnumSessionFlags flags, [out,retval] DirectPlayEnumSessions2 **retVal);
  603. [helpcontext(302019)] HRESULT GetCaps([in,out] DPCAPS *caps, [in] dpGetCapsFlags flags);
  604. [helpcontext(302020)] HRESULT GetGroupData([in] long groupId,[in] DPGetFlags flags,[out,retval] BSTR *ret);
  605. [helpcontext(302021)] HRESULT GetGroupFlags([in] long groupId, [out,retval] DPGroupFlags * flags);
  606. [helpcontext(302022)] HRESULT GetGroupLongName([in] long groupId, [out,retval] BSTR *name);
  607. [helpcontext(302023)] HRESULT GetGroupShortName([in] long groupId, [out,retval] BSTR *name);
  608. [helpcontext(302024)] HRESULT GetGroupParent([in] long groupId,[out,retval] long* ret);
  609. [helpcontext(302025)] HRESULT GetGroupOwner([in] long groupId, [out,retval] long * ret);
  610. [helpcontext(302026)] HRESULT GetMessageCount([in] long playerId, [out,retval] long *count);
  611. [helpcontext(302027)] HRESULT GetMessageQueue([in] long from, [in] long to, [in] DPMessageQueueFlags flags, [in,out] long *nMessage,[in,out] long *nBytes);
  612. [helpcontext(302028)] HRESULT GetPlayerAccountId([in] long playerid,[out,retval] BSTR *acctid);
  613. [helpcontext(302029)] HRESULT GetPlayerAddress([in] long playerId, [out,retval] DirectPlayAddress **ret);
  614. [helpcontext(302030)] HRESULT GetPlayerCaps([in] long playerId, [out] DPCAPS *caps, [in] dpGetCapsFlags flags);
  615. [helpcontext(302031)] HRESULT GetPlayerData([in] long playerId, [in] DPGetFlags flags, [out,retval] BSTR *ret);
  616. [helpcontext(302032)] HRESULT GetPlayerFlags([in] long playerid,[out,retval] DPPlayerFlags *retflags);
  617. // docdoc GetPlayerName replaced by two below.
  618. [helpcontext(302033)] HRESULT GetPlayerFormalName([in] long playerId, [out,retval] BSTR *name);
  619. [helpcontext(302034)] HRESULT GetPlayerFriendlyName([in] long playerId, [out,retval] BSTR *name);
  620. [helpcontext(302035)] HRESULT GetSessionDesc([in,out] DirectPlaySessionData **sessionDesc);
  621. [helpcontext(302036)] HRESULT InitializeConnection([in] DirectPlayAddress *address); //flags not used
  622. [helpcontext(302037)] HRESULT Open([in,out] DirectPlaySessionData *sessionDesc,
  623. [in] DPOpenFlags flags); //flags must be zero
  624. [helpcontext(302038)] HRESULT Receive([in, out] long* fromPlayerId, [in, out] long* toPlayerId,
  625. [in] DPReceiveFlags flags, [out,retval] DirectPlayMessage **ret);
  626. [hidden,helpcontext(302039)] HRESULT ReceiveSize([in, out] long* fromPlayerId, [in, out] long* toPlayerId,
  627. [in] DPReceiveFlags flags, [out,retval] int* dataSize);
  628. [helpcontext(302040)] HRESULT SecureOpen(
  629. [in] DirectPlaySessionData *sessiondesc,
  630. [in] DPOpenFlags flags,
  631. [in] DPSECURITYDESC *security,
  632. [in] DPCREDENTIALS *credentials);
  633. [helpcontext(302041)] HRESULT Send([in] long fromPlayerId, [in] long toPlayerId,
  634. [in] DPSendFlags flags, [in] DirectPlayMessage *msg);
  635. [helpcontext(302042)] HRESULT SendChatMessage([in] long fromPlayerId, [in] long toPlayerId,
  636. [in] DPSendFlags flags, [in] BSTR message);
  637. [helpcontext(302043)] HRESULT SendEx([in] long fromPlayerId, [in] long toPlayerId,
  638. [in] DPSendFlags flags, [in] DirectPlayMessage *msg, [in] long priority,
  639. [in] long timeout, [in] long context,[out,retval] long *messageid);
  640. [helpcontext(302044)] HRESULT CreateMessage([out,retval] DirectPlayMessage **msg);
  641. [helpcontext(302045)] HRESULT SetGroupConnectionSettings([in] long id,[in] DirectPlayLobbyConnection *connection); //flags must be zero
  642. [helpcontext(302046)] HRESULT SetGroupData([in] long groupId, [in] BSTR data, [in] DPSetFlags flags);
  643. [helpcontext(302047)] HRESULT SetGroupName([in] long groupId, [in] BSTR friendlyName,
  644. [in] BSTR formalName, [in] DPSetFlags flags);
  645. [helpcontext(302048)] HRESULT SetGroupOwner([in] long groupId, [in] long ownerId);
  646. [helpcontext(302049)] HRESULT SetPlayerData([in] long playerId, [in] BSTR data, [in] DPSetFlags flags);
  647. [helpcontext(302050)] HRESULT SetPlayerName([in] long playerId, [in] BSTR friendlyName, [in] BSTR formalName, [in] DPSetFlags flags);
  648. [helpcontext(302051)] HRESULT SetSessionDesc([in] DirectPlaySessionData *sessionDesc); //flags not used
  649. [helpcontext(302052)] HRESULT StartSession([in] long id); //flags not used
  650. [helpcontext(302053)] HRESULT CreateSessionData([out,retval] DirectPlaySessionData **sessionDesc);
  651. };
  652. [
  653. object,
  654. uuid(9F76FF10-8E92-11d1-8808-00C04FC2C602),
  655. helpstring("DirectPlayLobby3 Interface"),
  656. pointer_default(unique),
  657. local,
  658. helpcontext(302200)
  659. ]
  660. interface DirectPlayLobby3 : IUnknown
  661. {
  662. import "oaidl.idl";
  663. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  664. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  665. [helpcontext(302201)] HRESULT Connect([in] DPConnectFlags flags, [out,retval] DirectPlay4 **directPlay);
  666. [helpcontext(302202)] HRESULT GetDPEnumLocalApplications( [out,retval] DirectPlayEnumLocalApplications **retVal); //flags are zero
  667. [helpcontext(302203)] HRESULT GetConnectionSettings([in] long applicationId,
  668. [out,retval] DirectPlayLobbyConnection **connection);
  669. [helpcontext(302204)] HRESULT ReceiveLobbyMessage([in] long applicationId,
  670. [in,out] long *messageFlags,
  671. [out,retval] DirectPlayMessage **data);
  672. [hidden,helpcontext(302205)] HRESULT ReceiveLobbyMessageSize([in] long applicationId,
  673. [in,out] long *messageFlags,
  674. [out,retval] long *dataSize);
  675. //TODO CONSIDER CHANGING THIS!!!
  676. [helpcontext(302206)] HRESULT RunApplication(
  677. [in] DirectPlayLobbyConnection *connection,
  678. [in] long receiveEvent,
  679. [out,retval] long * applicationId);
  680. [helpcontext(302207)] HRESULT SendLobbyMessage([in] DPLMsg flags,
  681. [in] long applicationId,
  682. [in] DirectPlayMessage *msg);
  683. [helpcontext(302208)] HRESULT SetConnectionSettings([in] long applicationId,
  684. [in] DirectPlayLobbyConnection *connection);
  685. [helpcontext(302209)] HRESULT SetLobbyMessageEvent([in] long applicationId, [in] long receiveEvent);
  686. [helpcontext(302210)] HRESULT RegisterApplication( [in] DPAPPLICATIONDESC2 *ApplicationInfo);
  687. [helpcontext(302211)] HRESULT UnregisterApplication( [in] BSTR guidApplication);
  688. [helpcontext(302212)] HRESULT WaitForConnectionSettings([in] DPLWait flags);
  689. [helpcontext(302213)] HRESULT CreateMessage([out,retval] DirectPlayMessage **msg);
  690. [helpcontext(302214)] HRESULT CreateConnectionData([out,retval] DirectPlayLobbyConnection **connection);
  691. [helpcontext(302215)] HRESULT CreateINetAddress([in] BSTR addr,[in] int port,[out,retval] DirectPlayAddress **ret);
  692. [helpcontext(302216)] HRESULT CreateComPortAddress([in] long port,[in] long baudRate, [in] long stopBits, [in] long parity, [in] long flowcontrol,[out,retval] DirectPlayAddress **ret);
  693. [helpcontext(302217)] HRESULT CreateLobbyProviderAddress([in] BSTR guid,[out,retval] DirectPlayAddress **ret);
  694. [helpcontext(302218)] HRESULT CreateServiceProviderAddress([in] BSTR guid,[out,retval] DirectPlayAddress **ret);
  695. [helpcontext(302219)] HRESULT CreateModemAddress([in] BSTR modem, [in] BSTR phone, [out,retval] DirectPlayAddress **ret);
  696. [helpcontext(302220)] HRESULT CreateIPXAddress([out,retval] DirectPlayAddress **ret);
  697. [helpcontext(302221),hidden] HRESULT CreateCustomAddress([in] long size, [in] void *data,[out,retval] DirectPlayAddress **ret);
  698. [helpcontext(302222)] HRESULT GetModemName([in] long index,[out,retval] BSTR *name);
  699. [helpcontext(302223)] HRESULT GetModemCount([out,retval] long *count);
  700. };
  701. ///////////////////////////////////////////////////////////////////////////
  702. //
  703. // RM INTERFACE CALLBACKS
  704. //
  705. ///////////////////////////////////////////////////////////////////////////
  706. [ object,
  707. uuid(BBD5AD04-8E91-11d1-8808-00C04FC2C602), // Direct44
  708. helpstring("Direct3DRMEnumerateObjectsCallback Interface"),
  709. pointer_default(unique),
  710. helpcontext(302400)
  711. ]
  712. interface Direct3DRMEnumerateObjectsCallback : IUnknown
  713. {
  714. import "oaidl.idl";
  715. [helpcontext(302401)] HRESULT CallbackRMEnumerateObjects([in] Direct3DRMObject *object, [in] USERARG *userArgument);
  716. };
  717. [ object,
  718. uuid(BBD5AD03-8E91-11d1-8808-00C04FC2C602), //Direct54
  719. helpstring("Direct3DRMCallback Interface"),
  720. pointer_default(unique),
  721. helpcontext(302600)
  722. ]
  723. interface Direct3DRMCallback : IUnknown
  724. {
  725. import "oaidl.idl";
  726. // This function is called after the object has been destroyed,
  727. // so this function cannot be called with the object as argument.
  728. [helpcontext(302601)] HRESULT CallbackRMDestroyObject([in] USERARG *args);
  729. };
  730. /*
  731. [ object,
  732. uuid(BBD5AD06-8E91-11d1-8808-00C04FC2C602),
  733. helpstring("Direct3DRMUserVisualCallback Interface"),
  734. pointer_default(unique),
  735. helpcontext(302800)
  736. ]
  737. interface Direct3DRMUserVisualCallback : IUnknown
  738. {
  739. import "oaidl.idl";
  740. [helpcontext(302801)] HRESULT CallbackRMUserVisual([in] Direct3DRMUserVisual *uv,
  741. [in] USERARG *userArgument, [in] D3DRMUserVisualReason r,
  742. [in] Direct3DRMDevice3 *d, [in] Direct3dRMViewport2 *v, [out,retval] DBOOLFlags *retv);
  743. };
  744. */
  745. ///////////////////////////////////////////////////////////////////////////
  746. [ object,
  747. uuid(BBD5AD0A-8E91-11d1-8808-00C04FC2C602),
  748. helpstring("Direct3DRMLoadCallback Interface"),
  749. pointer_default(unique),
  750. helpcontext(303000)
  751. ]
  752. interface Direct3DRMLoadCallback : IUnknown
  753. {
  754. import "oaidl.idl";
  755. [helpcontext(303001)] HRESULT CallbackRMLoad([in] Direct3DRMObject **Obj, [in] BSTR guid, [in] USERARG *userArgument);
  756. };
  757. ///////////////////////////////////////////////////////////////////////////
  758. [ object,
  759. uuid(BBD5AD16-8E91-11d1-8808-00C04FC2C602),
  760. helpstring("Direct3DRMLoadTextureCallback3 Interface"),
  761. pointer_default(unique),
  762. helpcontext(303200)
  763. ]
  764. interface Direct3DRMLoadTextureCallback3 : IUnknown
  765. {
  766. import "oaidl.idl";
  767. [helpcontext(303201)] HRESULT CallbackRMLoadTexture([in] BSTR textureName, [in] USERARG *userArgument,
  768. [out, retval] Direct3DRMTexture3 **retv);
  769. };
  770. ///////////////////////////////////////////////////////////////////////////
  771. //
  772. // Direct3DIM
  773. //
  774. ///////////////////////////////////////////////////////////////////////////
  775. [
  776. object,
  777. uuid(9F76FDD5-8E92-11d1-8808-00C04FC2C602),
  778. helpstring("Direct3D7 Interface"),
  779. pointer_default(unique),
  780. local,
  781. helpcontext(303400)
  782. ]
  783. interface Direct3D7 : IUnknown
  784. {
  785. import "oaidl.idl";
  786. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  787. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  788. [helpcontext(303401)] HRESULT CreateDevice([in] BSTR guid, DirectDrawSurface7 *surf, [out, retval] Direct3DDevice7 **ret);
  789. [helpcontext(303402)] HRESULT CreateVertexBuffer([in] D3DVERTEXBUFFERDESC *desc,[in] D3DDPFlags flags,[out,retval] Direct3dVertexBuffer7 **f);
  790. [helpcontext(303403)] HRESULT EvictManagedTextures();
  791. [helpcontext(303404)] HRESULT GetDevicesEnum([out,retval] Direct3DEnumDevices **retv);
  792. [helpcontext(303405)] HRESULT GetDirectDraw([out,retval] DirectDraw7 **retv);
  793. [helpcontext(303406)] HRESULT GetEnumZBufferFormats([in] BSTR guid, [out,retval] Direct3DEnumPixelFormats **retv);
  794. };
  795. [
  796. object,
  797. local,
  798. uuid(9F76FDD7-8E92-11d1-8808-00C04FC2C602),
  799. helpstring("Direct3DDevice7 Interface"),
  800. pointer_default(unique),
  801. helpcontext(303600)
  802. ]
  803. interface Direct3DDevice7 : IUnknown
  804. {
  805. import "oaidl.idl";
  806. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  807. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  808. [helpcontext(303601)] HRESULT ApplyStateBlock([in] long blockHandle);
  809. [helpcontext(303602)] HRESULT BeginScene();
  810. [helpcontext(303603)] HRESULT BeginStateBlock();
  811. [helpcontext(303604)] HRESULT CaptureStateBlock([in] long blockHandle);
  812. [helpcontext(303605)] HRESULT Clear([in] long count, [in] SAFEARRAY(D3DRECT) *recs, [in] d3dClearFlags flags, [in] long color,[in] float z,[in] long stencil);
  813. [helpcontext(303606)] HRESULT ComputeSphereVisibility(D3DVECTOR *center,float *radius ,[out,retval] long *returnVal);
  814. [helpcontext(303607)] HRESULT DeleteStateBlock([in] long blockHandle);
  815. [helpcontext(303608)] HRESULT DrawIndexedPrimitive(
  816. [in] D3DPrimitiveType d3dpt,[in] d3dFVFFlags d3dfvf,
  817. [in] AVERT *vertices,[in] long VertexCount,
  818. [in] SAFEARRAY(short) *indices, [in] long IndicesCount,
  819. [in] D3DDPFlags flags);
  820. [helpcontext(303609)] HRESULT DrawIndexedPrimitiveVB([in] D3DPrimitiveType d3dpt,
  821. [in] Direct3DVertexBuffer7 *vertexBuffer,
  822. [in] long startVertex,
  823. [in] long numVertices,
  824. [in] SAFEARRAY(short) *indexArray,
  825. [in] long indexcount,
  826. [in] D3DDPFlags flags);
  827. [helpcontext(303610)] HRESULT DrawPrimitive(
  828. [in] D3DPrimitiveType d3dpt,[in] d3dFVFFlags d3dfvf,
  829. [in] AVERT *vertices, [in] long VertexCount,
  830. [in] D3DDPFlags flags);
  831. [helpcontext(303611)] HRESULT DrawPrimitiveVB([in] D3DPrimitiveType d3dpt,
  832. [in] Direct3DVertexBuffer7 *vertexBuffer,
  833. [in] long startVertex,
  834. [in] long numVertices,
  835. [in] D3DDPFlags flags);
  836. //[helpcontext(303612)] HRESULT DuplicateStateBlock([in] long hndl,[out,retval] long * ret);
  837. [helpcontext(303613)] HRESULT EndScene();
  838. [helpcontext(303614)] HRESULT EndStateBlock([in] long *blockHandle);
  839. [helpcontext(303615)] HRESULT GetCaps( [in,out] D3DDEVICEDESC7 *desc);
  840. [helpcontext(303616)] HRESULT GetClipStatus( [in,out] D3DCLIPSTATUS *clipStatus);
  841. [helpcontext(303617)] HRESULT GetDirect3D( [out, retval] Direct3d7 **dev);
  842. [helpcontext(303618)] HRESULT GetLight([in] long LightIndex, [in,out] D3DLIGHT7 *Light);
  843. [helpcontext(303619)] HRESULT GetLightEnable([in] long LightIndex, [out,retval] VARIANT_BOOL *b);
  844. [helpcontext(303620)] HRESULT GetMaterial([in,out] D3DMATERIAL7 *Material);
  845. [helpcontext(303621)] HRESULT GetRenderState([in]D3DRenderStateType state ,[out,retval] long *renderstate);
  846. [helpcontext(303622)] HRESULT GetRenderTarget([out,retval] DirectDrawSurface7 **ppval);
  847. [helpcontext(303623)] HRESULT GetTexture([in] long stage,[out,retval] DirectDrawSurface7 **retv);
  848. [helpcontext(303624)] HRESULT GetTextureFormatsEnum([out,retval] Direct3DEnumPixelFormats **retval);
  849. [helpcontext(303625)] HRESULT GetTextureStageState([in]long stage,[in] D3DTextureStageStateType state,[out,retval] long *val);
  850. [helpcontext(303626)] HRESULT GetTransform([in] D3DTransformStateType transformType,[in,out] D3DMATRIX *matrix);
  851. [helpcontext(303627)] HRESULT GetViewport([in,out] D3DVIEWPORT7 *viewport);
  852. [helpcontext(303628)] HRESULT LightEnable([in] long LightIndex, [in] VARIANT_BOOL bEnable);
  853. [helpcontext(303629)] HRESULT Load([in] DirectDrawSurface7 *DestTex,[in] long xDest, [in] long yDest,[in] DirectDrawSurface7 *SrcTex, [in] RECT *rcSrcRect,[in] long flags);
  854. [helpcontext(303630)] HRESULT MultiplyTransform([in] D3DTransformStateType dstTransfromStateType,[in,out] D3DMATRIX *matrix);
  855. //[helpcontext(303631)] HRESULT OverlayStateBlock([in] long blockHandle);
  856. [helpcontext(303632)] HRESULT PreLoad([in] DirectDrawSurface7 *texture );
  857. [helpcontext(303633)] HRESULT SetClipStatus( [in] D3DCLIPSTATUS *clipStatus);
  858. [helpcontext(303634)] HRESULT SetLight([in] long LightIndex, [in] D3DLIGHT7 *Light);
  859. [helpcontext(303635)] HRESULT SetMaterial([in] D3DMATERIAL7 *mat);
  860. [helpcontext(303636)] HRESULT SetRenderState([in]D3DRenderStateType state,[in] long renderstate);
  861. [helpcontext(303637)] HRESULT SetRenderTarget([in] DirectDrawSurface7 *surface);
  862. [helpcontext(303638)] HRESULT SetTexture([in] long stage,[in] DirectDrawSurface7 *texture);
  863. [helpcontext(303639)] HRESULT SetTextureStageState([in]long stage,[in] D3DTextureStageStateType state,[in] long value);
  864. [helpcontext(303640)] HRESULT SetTransform([in] D3DTransformStateType transformType,[in] D3DMATRIX *matrix);
  865. [helpcontext(303641)] HRESULT SetViewport([in] D3DVIEWPORT7 *viewport);
  866. [helpcontext(303642)] HRESULT ValidateDevice([out,retval] long *passes);
  867. [helpcontext(303643)] HRESULT SetTextureStageStateSingle([in]long stage,[in] D3DTextureStageSingle state,[in] float value);
  868. [helpcontext(303644)] HRESULT GetTextureStageStateSingle([in]long stage,[in] D3DTextureStageSingle state,[out,retval] float *val);
  869. [helpcontext(303645)] HRESULT GetInfo([in] D3DDevInfoId lDevInfoID,[in,out] void * DevInfoType,[in] long lSize);
  870. [helpcontext(303646)] HRESULT SetRenderStateSingle([in]D3DRenderStateSingle state,[in] float val);
  871. [helpcontext(303647)] HRESULT GetRenderStateSingle([in]D3DRenderStateSingle state ,[out,retval] float *val);
  872. [helpcontext(303648)] HRESULT GetDeviceGuid([out,retval] BSTR *ret);
  873. //check help
  874. [helpcontext(303649)] HRESULT CreateStateBlock([in] D3DStateBlockType d3dsbType, [out,retval] long *blockHandle);
  875. [helpcontext(303650)] HRESULT SetClipPlane([in] long Index, [in] float A, [in] float B ,[in] float C, [in] float D);
  876. [helpcontext(303651)] HRESULT GetClipPlane([in] long Index, [in,out] float *A, [in,out] float *B ,[in,out] float *C, [in,out] float *D);
  877. };
  878. [
  879. object,
  880. uuid(9F76FDDA-8E92-11d1-8808-00C04FC2C602),
  881. helpstring("Direct3DVertexBuffer7 Interface"),
  882. pointer_default(unique),
  883. local,
  884. helpcontext(303800)
  885. ]
  886. interface Direct3DVertexBuffer7 : IUnknown
  887. {
  888. import "oaidl.idl";
  889. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  890. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  891. [helpcontext(303801)] HRESULT GetVertexBufferDesc([in,out] D3DVERTEXBUFFERDESC *desc);
  892. [helpcontext(303802)] HRESULT GetVertices([in] long startIndex, [in] long count,[in] void *verts);
  893. [helpcontext(303803)] HRESULT Lock([in] DDLockFlags flags);
  894. [helpcontext(303804)] HRESULT Optimize([in] Direct3DDevice7 *dev); //flags not used
  895. [helpcontext(303805)] HRESULT ProcessVertices([in] D3DVopFlags vertexOp,
  896. [in] long destIndex,
  897. [in] long count,
  898. [in] Direct3DVertexBuffer7 *srcBuffer,
  899. [in] long srcIndex,
  900. [in] Direct3DDevice7 *dev,
  901. [in] D3DProcessVerticesFlags flags); //has flags set to zero
  902. [helpcontext(303806)] HRESULT SetVertices([in] long startIndex, [in] long count,[in] void *verts);
  903. [helpcontext(303807)] HRESULT Unlock();
  904. [hidden] HRESULT SetVertexSize([in] long vertexSizeInBytes);
  905. };
  906. [
  907. object,
  908. uuid(9F76FDD6-8E92-11d1-8808-00C04FC2C602),
  909. helpstring("Direct3DEnumPixelFormats Interface"),
  910. pointer_default(unique),
  911. local,
  912. helpcontext(304000)
  913. ]
  914. interface Direct3DEnumPixelFormats : IUnknown{
  915. [helpcontext(304001)] HRESULT GetItem([in] long index, [in,out] DDPIXELFORMAT *pixelFormat);
  916. [helpcontext(304002)] HRESULT GetCount([out,retval] long *count);
  917. };
  918. [
  919. object,
  920. uuid(9F76FDD3-8E92-11d1-8808-00C04FC2C602),
  921. helpstring("Direct3DEnumDevices Interface"),
  922. pointer_default(unique),
  923. local,
  924. helpcontext(304200)
  925. ]
  926. interface Direct3DEnumDevices : IUnknown
  927. {
  928. import "oaidl.idl";
  929. [helpcontext(304201)] HRESULT GetGuid([in] long index,[out,retval] BSTR *guid);
  930. [helpcontext(304202)] HRESULT GetDescription([in] long index,[out,retval] BSTR *guid);
  931. [helpcontext(304203)] HRESULT GetName([in] long index,[out,retval] BSTR *guid);
  932. [helpcontext(304204)] HRESULT GetDesc([in] long index, [in,out] D3DDEVICEDESC7 *hwDesc);
  933. [helpcontext(304205)] HRESULT GetCount([out,retval]long *count);
  934. };
  935. ///////////////////////////////////////////////////////////////////////////
  936. //
  937. // Direct Draw Interfaces
  938. //
  939. ///////////////////////////////////////////////////////////////////////////
  940. [
  941. object,
  942. uuid(9F76FDC9-8E92-11d1-8808-00C04FC2C602),
  943. helpstring("DirectDrawPalette Interface"),
  944. pointer_default(unique),
  945. local,
  946. helpcontext(304400)
  947. ]
  948. interface DirectDrawPalette : IUnknown
  949. {
  950. import "oaidl.idl";
  951. [hidden] HRESULT InternalSetObject([in] IUnknown *lpddp);
  952. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpddp);
  953. [helpcontext(304401)] HRESULT GetCaps( [out, retval] DDPCapsFlags *caps);
  954. [helpcontext(304402)] HRESULT GetEntries([in] long start, [in] long count, [in,out] SAFEARRAY(APAL) *val);
  955. [helpcontext(304403)] HRESULT SetEntries([in] long start, [in] long count, [in] SAFEARRAY(APAL) *val);
  956. [hidden] HRESULT SetEntriesHalftone([in] long start, [in] long count);
  957. [hidden] HRESULT SetEntriesSystemPalette([in] long start, [in] long count);
  958. };
  959. [
  960. object,
  961. uuid(9F76FDCA-8E92-11d1-8808-00C04FC2C602),
  962. helpstring("DirectDrawClipper Interface"),
  963. pointer_default(unique),
  964. local,
  965. helpcontext(304600)
  966. ]
  967. interface DirectDrawClipper : IUnknown
  968. {
  969. import "oaidl.idl";
  970. [hidden] HRESULT InternalSetObject([in] IUnknown *lpddc);
  971. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpddc);
  972. [helpcontext(304601)] HRESULT GetClipListSize( [out, retval] int *count);
  973. [helpcontext(304602)] HRESULT GetClipList([in,out] SAFEARRAY(RECT) *rects );
  974. [helpcontext(304603)] HRESULT SetClipList( [in] long count, [in] SAFEARRAY(RECT) *rects );
  975. [helpcontext(304604)] HRESULT GetHWnd([out, retval] HWnd *hdl);
  976. [helpcontext(304605)] HRESULT SetHWnd( [in] HWnd hdl);
  977. [helpcontext(304606)] HRESULT IsClipListChanged( [out, retval] int *status);
  978. };
  979. [
  980. object,
  981. uuid(9F76FDE0-8E92-11d1-8808-00C04FC2C602),
  982. helpstring("DirectDrawColorControl Interface"),
  983. pointer_default(unique),
  984. local,
  985. helpcontext(304800)
  986. ]
  987. interface DirectDrawColorControl : IUnknown
  988. {
  989. import "oaidl.idl";
  990. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  991. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  992. [helpcontext(304801)] HRESULT GetColorControls([in,out] DDCOLORCONTROL *colorControl);
  993. [helpcontext(304802)] HRESULT SetColorControls([in] DDCOLORCONTROL *colorControl);
  994. };
  995. [
  996. object,
  997. uuid(9F76FDE1-8E92-11d1-8808-00C04FC2C602),
  998. helpstring("DirectDrawEnum Interface"),
  999. pointer_default(unique),
  1000. local,
  1001. helpcontext(305000)
  1002. ]
  1003. interface DirectDrawEnum : IUnknown
  1004. {
  1005. import "oaidl.idl";
  1006. [helpcontext(305001)] HRESULT GetGuid([in] long index,[out,retval] BSTR *guid);
  1007. [helpcontext(305002)] HRESULT GetDescription([in] long index,[out,retval] BSTR *ret);
  1008. [helpcontext(305003)] HRESULT GetName([in] long index,[out,retval] BSTR *ret);
  1009. [helpcontext(305004)] HRESULT GetMonitorHandle([in] long index,[out,retval] long *ret);
  1010. [helpcontext(305005)] HRESULT GetCount([out,retval]long *count);
  1011. };
  1012. [
  1013. object,
  1014. uuid(9F76FFFF-8E92-11d1-8808-00C04FC2C602),
  1015. helpstring("DirectDrawEnumModes Interface"),
  1016. pointer_default(unique),
  1017. local,
  1018. helpcontext(305200)
  1019. ]
  1020. interface DirectDrawEnumModes : IUnknown
  1021. {
  1022. import "oaidl.idl";
  1023. [helpcontext(305201)] HRESULT GetItem( [in]long index, [in,out] DDSURFACEDESC2 *info);
  1024. [helpcontext(305202)] HRESULT GetCount([out,retval]long *count);
  1025. };
  1026. [
  1027. object,
  1028. uuid(9F76FDE6-8E92-11d1-8808-00C04FC2C602),
  1029. helpstring("DirectDrawEnumSurfaces Interface"),
  1030. pointer_default(unique),
  1031. local,
  1032. helpcontext(305400)
  1033. ]
  1034. interface DirectDrawEnumSurfaces : IUnknown
  1035. {
  1036. import "oaidl.idl";
  1037. [helpcontext(305401)] HRESULT GetItem( [in]long index, [out,retval] DirectDrawSurface7 **retVal);
  1038. [helpcontext(305402)] HRESULT GetCount([out,retval]long *count);
  1039. };
  1040. [
  1041. object,
  1042. uuid(9F76FDE7-8E92-11d1-8808-00C04FC2C602),
  1043. helpstring("IDirectDraw7 Interface"),
  1044. pointer_default(unique),
  1045. local,
  1046. helpcontext(305600)
  1047. ]
  1048. interface DirectDraw7 : IUnknown
  1049. {
  1050. import "oaidl.idl";
  1051. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1052. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1053. [helpcontext(305601)] HRESULT CreateClipper([in] long flags, [out, retval] DirectDrawClipper **val);
  1054. [helpcontext(305602)] HRESULT CreatePalette([in] DDPCapsFlags flags, [in] SAFEARRAY(APAL) *pe, [out, retval] DirectDrawPalette **val);
  1055. [helpcontext(305603)] HRESULT CreateSurface([in] DDSURFACEDESC2 *dd, [out, retval] DirectDrawSurface7 **retv);
  1056. [helpcontext(305604)] HRESULT CreateSurfaceFromFile([in] BSTR file, [in,out] DDSURFACEDESC2 *dd, [out, retval] DirectDrawSurface7 **retv);
  1057. [helpcontext(305605)] HRESULT CreateSurfaceFromResource([in] BSTR file, [in] BSTR resName, [in,out] DDSURFACEDESC2 *ddsd, [out, retval] DirectDrawSurface7 **retv);
  1058. [helpcontext(305606)] HRESULT DuplicateSurface([in] DirectDrawSurface7 *ddIn,[out, retval] DirectDrawSurface7 **ddOut);
  1059. [helpcontext(305607)] HRESULT FlipToGDISurface();
  1060. [helpcontext(305608)] HRESULT GetAvailableTotalMem([in] DDSCAPS2 *ddsCaps, [out, retval] long *m);
  1061. [helpcontext(305609)] HRESULT GetCaps([in,out] DDCAPS *hwCaps, [in,out] DDCAPS *helCaps);
  1062. [helpcontext(305610)] HRESULT GetDirect3D([out, retval] Direct3d7 **retv);
  1063. [helpcontext(305611)] HRESULT GetDisplayMode( [in,out] DDSURFACEDESC2 *surface);
  1064. [helpcontext(305612)] HRESULT GetDisplayModesEnum([in] DDEDMFlags flags,[in] DDSURFACEDESC2 *ddsd,[out,retval] DirectDrawEnumModes **retval);
  1065. [helpcontext(305613)] HRESULT GetFourCCCodes( [in,out] SAFEARRAY(long) *ccCodes);
  1066. [helpcontext(305614)] HRESULT GetFreeMem( [in] DDSCAPS2 *ddsCaps, [out, retval] long *m);
  1067. [helpcontext(305615)] HRESULT GetGDISurface( [out, retval] DirectDrawSurface7 **s);
  1068. [helpcontext(305616)] HRESULT GetMonitorFrequency([out, retval] long *freq);
  1069. [helpcontext(305617)] HRESULT GetNumFourCCCodes([out, retval] long *nCodes);
  1070. [helpcontext(305618)] HRESULT GetScanLine([in,out] long *lines, [out, retval] long *status);
  1071. [helpcontext(305619)] HRESULT GetSurfaceFromDC([in] long hdc,[out,retval] DirectDrawSurface7 **retv);
  1072. [helpcontext(305620)] HRESULT GetSurfacesEnum([in] DDEnumSurfacesFlags flags, [in] DDSURFACEDESC2 *desc, [out,retval] DirectDrawEnumSurfaces **ret);
  1073. [helpcontext(305621)] HRESULT GetVerticalBlankStatus([out, retval] long *status);
  1074. [helpcontext(305622)] HRESULT LoadPaletteFromBitmap([in] BSTR bName, [out, retval] DirectDrawPalette **retv);
  1075. [helpcontext(305623)] HRESULT RestoreAllSurfaces();
  1076. [helpcontext(305624)] HRESULT RestoreDisplayMode();
  1077. [helpcontext(305625)] HRESULT SetCooperativeLevel([in] HWnd hdl, [in] DDSCLFlags flags);
  1078. [helpcontext(305626)] HRESULT SetDisplayMode([in] long w, [in] long h, [in] long bpp, [in] long ref,[in] DDSDMFlags mode);
  1079. [helpcontext(305627)] HRESULT TestCooperativeLevel([out,retval] long *status);
  1080. [helpcontext(305628)] HRESULT WaitForVerticalBlank([in] DDWaitVBFlags flags, [in] long handle, [out, retval] long *status);
  1081. [helpcontext(305629)] HRESULT GetDeviceIdentifier([in] DDDeviceIDFlags flags,[out,retval] DirectDrawIdentifier **ret);
  1082. };
  1083. [
  1084. object,
  1085. uuid(9F76FDE8-8E92-11d1-8808-00C04FC2C602),
  1086. helpstring("DirectDrawSurface7 Interface"),
  1087. pointer_default(unique),
  1088. local,
  1089. helpcontext(305800)
  1090. ]
  1091. interface DirectDrawSurface7 : IUnknown
  1092. {
  1093. import "oaidl.idl";
  1094. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  1095. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  1096. [helpcontext(305801)] HRESULT AddAttachedSurface( [in] DirectDrawSurface7 *ddS);
  1097. [helpcontext(305802)] HRESULT Blt( [in] RECT *destRect, [in] DirectDrawSurface7 *ddS, [in] RECT *srcRect, [in] DDBltFlags flags, [out, retval] long *status);
  1098. [helpcontext(305803)] HRESULT BltColorFill( [in] RECT *destRect, [in] long fillvalue, [out, retval] long *status );
  1099. [helpcontext(305804)] HRESULT BltFast( [in] long dx, [in] long dy, [in] DirectDrawSurface7 *dds, [in] RECT *srcRect, [in] DDBltFastFlags trans, [out, retval] long *status);
  1100. [helpcontext(305805)] HRESULT BltFx( [in] RECT *destRect, [in] DirectDrawSurface7 *ddS, [in] RECT *srcRect, [in] DDBltFlags flags, [in] DDBLTFX *bltfx, [out, retval] long *status );
  1101. [helpcontext(305806)] HRESULT BltToDC([in] long hdc, [in] RECT *srcRect, [in] RECT *destRect);
  1102. [helpcontext(305807)] HRESULT ChangeUniquenessValue();
  1103. [helpcontext(305808)] HRESULT DeleteAttachedSurface( [in] DirectDrawSurface7 *dds) ;
  1104. [helpcontext(305809)] HRESULT DrawBox([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1105. [helpcontext(305810)] HRESULT DrawCircle([in] long x1, [in] long y1, [in] long r);
  1106. [helpcontext(305811)] HRESULT DrawEllipse([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1107. [helpcontext(305812)] HRESULT DrawLine([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1108. [helpcontext(305813)] HRESULT DrawRoundedBox([in] long x1, [in] long y1, [in] long x2, [in] long y2,[in] long rw, [in] long rh);
  1109. [helpcontext(305814)] HRESULT DrawText([in] long x, [in] long y, [in] BSTR text, [in] VARIANT_BOOL b);
  1110. [helpcontext(305815)] HRESULT Flip( [in] DirectDrawSurface7 *dds, [in] DDFlipFlags flags);
  1111. [helpcontext(305816)] HRESULT GetAttachedSurface( [in] DDSCaps2 *caps, [out, retval] DirectDrawSurface7 **dds);
  1112. [helpcontext(305817)] HRESULT GetAttachedSurfaceEnum([out,retval] DirectDrawEnumSurfaces **retval);
  1113. [helpcontext(305818)] HRESULT GetBltStatus([in] DDGFSFlags flags, [out, retval] long *status);
  1114. [helpcontext(305819)] HRESULT GetCaps( [in,out] DDSCAPS2 *caps);
  1115. [helpcontext(305820)] HRESULT GetClipper( [out, retval] DirectDrawClipper **val);
  1116. [helpcontext(305821)] HRESULT GetColorKey( [in] long flags, [in,out] DDCOLORKEY *val);
  1117. [helpcontext(305822)] HRESULT GetDC( [out, retval] long *hdc);
  1118. [helpcontext(305823)] HRESULT GetDirectDraw( [out, retval] DirectDraw7 **val);
  1119. [helpcontext(305824)] HRESULT GetDirectDrawColorControl([out,retval] DirectDrawColorControl **retv);
  1120. [helpcontext(305825)] HRESULT GetDirectDrawGammaControl([out,retval] DirectDrawGammaControl **retv);
  1121. [helpcontext(305826)] HRESULT GetDrawStyle([out,retval] long *drawStyle);
  1122. [helpcontext(305827)] HRESULT GetDrawWidth([out,retval] long *drawWidth);
  1123. [helpcontext(305828)] HRESULT GetFillColor([out,retval] long *color);
  1124. [helpcontext(305829)] HRESULT GetFillStyle([out,retval] long *fillStyle);
  1125. [helpcontext(305830)] HRESULT GetFlipStatus( [in] DDGfsFlags flags, [out, retval] long *status);
  1126. [helpcontext(305831)] HRESULT GetFontTransparency([out,retval] VARIANT_BOOL *b);
  1127. [helpcontext(305832)] HRESULT GetForeColor([out,retval] long *color);
  1128. [helpcontext(305833)] HRESULT GetLockedPixel([in] int x, [in] int y, [out,retval] long *col);
  1129. //[helpcontext(305834)] HRESULT GetLockedSurfaceBits([in,out] ABYTE *memory);
  1130. [helpcontext(305835)] HRESULT GetPalette( [out, retval] DirectDrawPalette **val);
  1131. [helpcontext(305836)] HRESULT GetPixelFormat( [in,out] DDPIXELFORMAT *pf);
  1132. [helpcontext(305837)] HRESULT GetSurfaceDesc([in,out] DDSURFACEDESC2 *surface);
  1133. [helpcontext(305838)] HRESULT GetUniquenessValue([out,retval] long *retVal);
  1134. [helpcontext(305839)] HRESULT IsLost([out, retval] long *status);
  1135. [helpcontext(305840)] HRESULT Lock( [in] RECT *r, [in] DDSURFACEDESC2 *desc, [in] ddLockFlags flags, [in] Handle hnd);
  1136. [helpcontext(305841)] HRESULT ReleaseDC([in] long hdc);
  1137. [helpcontext(305842)] HRESULT Restore();
  1138. [helpcontext(305843)] HRESULT SetClipper( [in] DirectDrawClipper *val) ;
  1139. [helpcontext(305844)] HRESULT SetColorKey( [in] DDCKeyFlags flags, [in] DDCOLORKEY *val);
  1140. [helpcontext(305845)] HRESULT SetDrawStyle([in] long drawStyle);
  1141. [helpcontext(305846)] HRESULT SetDrawWidth([in] long drawWidth);
  1142. [helpcontext(305847)] HRESULT SetFillColor([in] long color);
  1143. [helpcontext(305848)] HRESULT SetFillStyle([in] long fillStyle);
  1144. [helpcontext(305849)] HRESULT SetFont([in] IFont *font);
  1145. [helpcontext(305850)] HRESULT SetFontTransparency([in] VARIANT_BOOL b);
  1146. [helpcontext(305851)] HRESULT SetForeColor([in] long color);
  1147. [helpcontext(305852)] HRESULT SetLockedPixel([in] int x, [in] int y, [in] long col);
  1148. //[helpcontext(305853)] HRESULT SetLockedSurfaceBits([in,out] ABYTE *memory);
  1149. [helpcontext(305854)] HRESULT SetPalette([in] DirectDrawPalette *ddp);
  1150. [helpcontext(305855)] HRESULT Unlock( [in] RECT *r);
  1151. [helpcontext(305856)] HRESULT SetPriority([in] long Priority);
  1152. [helpcontext(305857)] HRESULT GetPriority([out,retval] long *Priority);
  1153. [helpcontext(305858)] HRESULT GetLOD([out,retval] long *lod);
  1154. [helpcontext(305859)] HRESULT SetLOD([in] long lod);
  1155. [helpcontext(305860)] HRESULT GetLockedArray([in] SAFEARRAY(byte) *array);
  1156. [helpcontext(305868)] HRESULT SetFontBackColor([in] long color);
  1157. [helpcontext(305869)] HRESULT GetFontBackColor([out,retval] long *color);
  1158. [helpcontext(305870)] HRESULT UpdateOverlay( [in] RECT *rect, [in] DirectDrawSurface7 *dds, [in] RECT *rectD, [in] DDOverFlags flags);
  1159. [helpcontext(305871)] HRESULT UpdateOverlayZOrder( [in] DDOverZFlags flags, [in] DirectDrawSurface7 *dds);
  1160. [helpcontext(305872)] HRESULT GetOverlayPosition( [in,out] long *x, [in,out] long *y);
  1161. [helpcontext(305873)] HRESULT SetOverlayPosition( [in] long x, [in] long y);
  1162. [helpcontext(305874)] HRESULT GetOverlayZOrdersEnum([in] DDEnumOverlayZFlags flags,[out,retval] DirectDrawEnumSurfaces **retval);
  1163. [helpcontext(305875)] HRESULT UpdateOverlayFx([in] RECT *rect, [in] DirectDrawSurface7 *dds, [in] RECT *rectD, [in] DDOverFlags flags, [in,out] DDOVERLAYFX *ddoverfx);
  1164. /*
  1165. //CONSIDER USING A STRING
  1166. [helpcontext(305868)] HRESULT FreePrivateData([in] BSTR guid);
  1167. [helpcontext(305869)] HRESULT GetPrivateData([in] BSTR guid,[in,out] SAFEARRAY(long)* data);
  1168. [helpcontext(305870)] HRESULT GetPrivateDataSize([in] BSTR guid,[out,retval] long *size);
  1169. [helpcontext(305871)] HRESULT SetPrivateData([in] BSTR guid, [in] SAFEARRAY(long) *data);
  1170. */
  1171. };
  1172. [
  1173. object,
  1174. uuid(9F76FDE9-8E92-11d1-8808-00C04FC2C602),
  1175. helpstring("DirectDrawGammaControl Interface"),
  1176. pointer_default(unique),
  1177. local ,
  1178. helpcontext(306000)
  1179. ]
  1180. interface DirectDrawGammaControl : IUnknown
  1181. {
  1182. import "oaidl.idl";
  1183. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  1184. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  1185. [helpcontext(306001)] HRESULT GetGammaRamp([in] DDSGRFlags flags,[in,out] DDGAMMARAMP *gammaRamp);
  1186. [helpcontext(306002)] HRESULT SetGammaRamp([in] DDSGRFlags flags,[in] DDGAMMARAMP *gammaRamp);
  1187. };
  1188. ///////////////////////////////////////////////////////////////////////////
  1189. //
  1190. // Direct 3D Retain Mode Interfaces
  1191. //
  1192. ///////////////////////////////////////////////////////////////////////////
  1193. [
  1194. object,
  1195. uuid(9F76FE0E-8E92-11d1-8808-00C04FC2C602),
  1196. helpstring("Direct3DRMObject Interface"),
  1197. pointer_default(unique),
  1198. local,
  1199. helpcontext(306200)
  1200. ]
  1201. interface Direct3DRMObject : IUnknown
  1202. {
  1203. import "oaidl.idl";
  1204. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1205. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1206. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1207. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1208. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1209. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1210. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1211. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1212. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1213. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1214. };
  1215. ///////////////////////////////////////////////////////////////////////////
  1216. [
  1217. object,
  1218. uuid(9F76FE0F-8E92-11d1-8808-00C04FC2C602),
  1219. helpstring("Direct3DRMVisual Interface"),
  1220. pointer_default(unique),
  1221. local,
  1222. helpcontext(306400)
  1223. ]
  1224. interface Direct3DRMVisual : IUnknown
  1225. {
  1226. import "oaidl.idl";
  1227. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1228. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1229. //
  1230. /*** D3DRMObjects ***/
  1231. //
  1232. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1233. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1234. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1235. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1236. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1237. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1238. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1239. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1240. };
  1241. ///////////////////////////////////////////////////////////////////////////
  1242. [
  1243. object,
  1244. uuid(9F76FE32-8E92-11d1-8808-00C04FC2C602),
  1245. helpstring("Direct3DRMFace2 Interface"),
  1246. pointer_default(unique),
  1247. local,
  1248. helpcontext(306600)
  1249. ]
  1250. interface Direct3DRMFace2 : IUnknown
  1251. {
  1252. import "oaidl.idl";
  1253. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1254. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1255. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1256. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1257. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1258. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1259. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1260. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1261. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1262. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1263. //
  1264. // IDirect3DRMFace methods - docdoc: based on D3DRMObject
  1265. //
  1266. [helpcontext(306609)] HRESULT AddVertex([in] float x, [in] float y, [in] float z);
  1267. [helpcontext(306610)] HRESULT AddVertexAndNormalIndexed([in] long vertexIndex, [in] long normalIndex);
  1268. [helpcontext(306611)] HRESULT GetColor([out, retval] D3Dcolor *retv);
  1269. [helpcontext(306612)] HRESULT GetMaterial([out, retval] Direct3DRMMaterial2 **retv);
  1270. [helpcontext(306613)] HRESULT GetNormal([in,out] D3DVECTOR *val);
  1271. [helpcontext(306614)] HRESULT GetTexture([out, retval] Direct3DRMTexture3 **ref);
  1272. [helpcontext(306615)] HRESULT GetTextureCoordinateIndex([in] long which, [out, retval] int *retv);
  1273. [helpcontext(306616)] HRESULT GetTextureCoordinates([in] long vertex, [in,out] float *u,[in,out] float *v);
  1274. [helpcontext(306617)] HRESULT GetVertex([in] long idx, [in,out] D3DVECTOR *vert,[in,out] D3DVECTOR *norm);
  1275. [helpcontext(306618)] HRESULT GetVertexCount([out, retval] int *retv);
  1276. [helpcontext(306619)] HRESULT GetVertexIndex([in] long which, [out, retval] int *retv);
  1277. [helpcontext(306620)] HRESULT GetVertices([in] long vertexCount, [in,out] SAFEARRAY(D3DVECTOR) *coord,[in,out] SAFEARRAY(D3DVECTOR) *normals);
  1278. [hidden] HRESULT GetVerticesJava([in] long vertex_cnt, [in,out] float *coord,[in,out] float *normals);
  1279. [helpcontext(306621)] HRESULT SetColor([in] D3Dcolor c);
  1280. [helpcontext(306622)] HRESULT SetColorRGB([in] float r, [in] float g, [in] float b);
  1281. [helpcontext(306623)] HRESULT SetMaterial([in] Direct3DRMMaterial2 *ref);
  1282. [helpcontext(306624)] HRESULT SetTexture([in] Direct3DRMTexture3 *ref);
  1283. [helpcontext(306625)] HRESULT SetTextureCoordinates([in] long vertex, [in] float u,[in] float v);
  1284. [helpcontext(306626)] HRESULT SetTextureTopology([in] DBOOLFlags wrap_u, [in] DBOOLFlags wrap_v);
  1285. [helpcontext(306627)] HRESULT GetTextureTopology([in,out] DBOOLFlags *wrap_u, [in,out] DBOOLFlags *wrap_v);
  1286. };
  1287. ///////////////////////////////////////////////////////////////////////////
  1288. [
  1289. object,
  1290. uuid(9F76FE03-8E92-11d1-8808-00C04FC2C602),
  1291. helpstring("Direct3DRMLight Interface"),
  1292. pointer_default(unique),
  1293. local,
  1294. helpcontext(306800)
  1295. ]
  1296. interface Direct3DRMLight : IUnknown
  1297. {
  1298. import "oaidl.idl";
  1299. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1300. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1301. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1302. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1303. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1304. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1305. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1306. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1307. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1308. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1309. //
  1310. // IDirect3DRMLight methods - docdoc: based on iD3DRMObject!
  1311. //
  1312. [helpcontext(306809)] HRESULT SetType([in] D3DRMLightType t);
  1313. [helpcontext(306810)] HRESULT SetColor([in] D3Dcolor c);
  1314. [helpcontext(306811)] HRESULT SetColorRGB([in] float r, [in] float g, [in] float b);
  1315. [helpcontext(306812)] HRESULT SetRange([in] float rng);
  1316. [helpcontext(306813)] HRESULT SetUmbra([in] float u);
  1317. [helpcontext(306814)] HRESULT SetPenumbra([in] float p);
  1318. [helpcontext(306815)] HRESULT SetConstantAttenuation([in] float atn);
  1319. [helpcontext(306816)] HRESULT SetLinearAttenuation([in] float atn);
  1320. [helpcontext(306817)] HRESULT SetQuadraticAttenuation([in] float atn);
  1321. [helpcontext(306818)] HRESULT GetRange([out, retval] float *retv);
  1322. [helpcontext(306819)] HRESULT GetUmbra([out, retval] float *retv);
  1323. [helpcontext(306820)] HRESULT GetPenumbra([out, retval] float *retv);
  1324. [helpcontext(306821)] HRESULT GetConstantAttenuation([out, retval] float *retv);
  1325. [helpcontext(306822)] HRESULT GetLinearAttenuation([out, retval] float *retv);
  1326. [helpcontext(306823)] HRESULT GetQuadraticAttenuation([out, retval] float *retv);
  1327. [helpcontext(306824)] HRESULT GetColor( [out, retval] D3Dcolor *value);
  1328. [helpcontext(306825)] HRESULT GetType([out, retval] D3DRMLightType *retv);
  1329. [helpcontext(306826)] HRESULT SetEnableFrame([in] Direct3DRMFrame3 *f);
  1330. [helpcontext(306827)] HRESULT GetEnableFrame([out, retval] Direct3DRMFrame3 **retv);
  1331. };
  1332. ///////////////////////////////////////////////////////////////////////////
  1333. [
  1334. object,
  1335. uuid(9F76FE06-8E92-11d1-8808-00C04FC2C602),
  1336. helpstring("Direct3DRMMesh Interface"),
  1337. pointer_default(unique),
  1338. local,
  1339. helpcontext(307000)
  1340. ]
  1341. interface Direct3DRMMesh : IUnknown
  1342. {
  1343. import "oaidl.idl";
  1344. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1345. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1346. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1347. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1348. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1349. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1350. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1351. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1352. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1353. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1354. /*
  1355. * IDirect3DRMMesh methods
  1356. */
  1357. //#pragma message ("consider if you want to pass down count to API that fill SAFEARRAYS")
  1358. [helpcontext(307009)] HRESULT SetGroupColor([in] D3DRMGroupIndex id, [in] d3dcolor val);
  1359. [helpcontext(307010)] HRESULT SetGroupColorRGB([in] D3DRMGroupIndex id, [in] float r,[in] float g, [in] float b);
  1360. [helpcontext(307011)] HRESULT SetGroupMapping([in] D3DRMGroupIndex id, [in] d3drmMappingFlags value);
  1361. [helpcontext(307012)] HRESULT SetGroupQuality([in] D3DRMGroupIndex id, [in] d3drmRenderQuality value);
  1362. [helpcontext(307013)] HRESULT SetGroupMaterial([in] D3DRMGroupIndex id, [in] Direct3dRMMaterial2 *val);
  1363. [helpcontext(307014)] HRESULT SetGroupTexture([in] D3DRMGroupIndex id, [in] Direct3dRMTexture3 *val);
  1364. [helpcontext(307015)] HRESULT GetGroupCount([out, retval] long *retv);
  1365. [helpcontext(307016)] HRESULT GetGroupColor( [in] D3DRMGroupIndex id, [out, retval] d3dcolor *retv);
  1366. [helpcontext(307017)] HRESULT GetGroupMapping( [in] D3DRMGroupIndex id, [out, retval] d3drmMappingFlags *retv);
  1367. [helpcontext(307018)] HRESULT GetGroupQuality( [in] D3DRMGroupIndex id, [out, retval] d3drmRenderQuality *retv);
  1368. [helpcontext(307019)] HRESULT GetGroupMaterial([in] D3DRMGroupIndex id, [out, retval] Direct3dRMMaterial2 **retv);
  1369. [helpcontext(307020)] HRESULT GetGroupTexture( [in] D3DRMGroupIndex id, [out, retval] Direct3dRMTexture3 **retv);
  1370. [helpcontext(307021)] HRESULT ScaleMesh([in] float sx, [in] float sy, [in] float sz);
  1371. [helpcontext(307022)] HRESULT Translate([in] float tx, [in] float ty, [in] float tz);
  1372. [helpcontext(307023)] HRESULT GetBox([in] D3DRMBOX *vector);
  1373. [helpcontext(307024)] HRESULT GetSizes( [in]D3DRMGroupIndex id, [out]long *cnt1,[out]long *cnt2,[out] long *cnt3,[out] long *cnt4);
  1374. //docdoc: this function takes an array of vertices, well there is a bit of a problem
  1375. // with that in java so the alternative has been to remove SetVertices()
  1376. // and created two functions one SetVertice, which only set one vertice
  1377. // and SetVerticesAsFloats, which takes in an array of floats as vertices
  1378. [helpcontext(307025)] HRESULT SetVertex([in] D3DRMGroupIndex id, [in] long idx, [in] D3DRMVERTEX *values);
  1379. [helpcontext(307026)] HRESULT GetVertex([in] D3DRMGroupIndex id, [in] long idx, [in,out] D3DRMVERTEX *ret);
  1380. [helpcontext(307027)] HRESULT GetVertexCount([in] D3DRMGroupIndex id, [out, retval] long *cnt);
  1381. [helpcontext(307028)] HRESULT AddGroup([in] long vertexCount, [in] long faceCount, [in] long verticesPerFace,
  1382. [in] SAFEARRAY(long) *fdata, [out,retval] D3DRMGroupIndex *retId);
  1383. [helpcontext(307029)] HRESULT GetGroupData([in] D3DRMGroupIndex id, [in,out] SAFEARRAY(long) *psa);
  1384. [helpcontext(307030)] HRESULT GetGroupDataSize([in] D3DRMGroupIndex id, [out,retval] long *retVal);
  1385. [helpcontext(307031)] HRESULT SetVertices([in] D3DRMGroupIndex id, [in] long idx, [in] long count, [in] SAFEARRAY(D3DRMVERTEX) *vertexArray);
  1386. [helpcontext(307032)] HRESULT GetVertices([in] D3DRMGroupIndex id, [in] long idx,long count, [in,out] SAFEARRAY(D3DRMVERTEX) *vertexArray);
  1387. [hidden] HRESULT AddGroupJava([in] long vcnt, [in] long fcnt, [in] long vPerFace,
  1388. [in,out] long *fdata, [out,retval] D3DRMGroupIndex *retId);
  1389. [hidden] HRESULT GetGroupDataJava([in] D3DRMGroupIndex id, [in] long size,[in,out] long *fData);
  1390. [hidden] HRESULT SetVerticesJava([in] D3DRMGroupIndex id, [in] long idx, [in] long cnt, [in,out] float *vertexArray);
  1391. [hidden] HRESULT GetVerticesJava([in] D3DRMGroupIndex id, [in] long idx,long cnt, [in,out] float *vertexArray);
  1392. };
  1393. ///////////////////////////////////////////////////////////////////////////
  1394. [
  1395. object,
  1396. uuid(9F76FE08-8E92-11d1-8808-00C04FC2C602),
  1397. helpstring("Direct3DRMWrap Interface"),
  1398. pointer_default(unique),
  1399. local,
  1400. helpcontext(307200)
  1401. ]
  1402. interface Direct3DRMWrap : IUnknown
  1403. {
  1404. import "oaidl.idl";
  1405. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1406. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1407. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1408. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1409. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1410. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1411. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1412. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1413. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1414. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1415. [helpcontext(307209)] HRESULT Apply([in] Direct3DRMObject *visual);
  1416. [helpcontext(307210)] HRESULT ApplyRelative([in] Direct3DRMFrame3 *f, [in] Direct3dRMObject *visual);
  1417. };
  1418. ///////////////////////////////////////////////////////////////////////////
  1419. /*
  1420. [
  1421. object,
  1422. uuid(9F76FE0C-8E92-11d1-8808-00C04FC2C602),
  1423. helpstring("Direct3DRMUserVisual Interface"),
  1424. pointer_default(unique),
  1425. local,
  1426. hidden,
  1427. helpcontext(307400)
  1428. ]
  1429. interface Direct3DRMUserVisual : IUnknown
  1430. {
  1431. import "oaidl.idl";
  1432. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1433. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1434. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1435. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1436. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1437. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1438. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1439. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1440. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1441. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1442. };
  1443. */
  1444. ///////////////////////////////////////////////////////////////////////////
  1445. [
  1446. object,
  1447. uuid(9F76FE11-8E92-11d1-8808-00C04FC2C602),
  1448. helpstring("Direct3DRMObjectArray Interface"), // Direct51
  1449. pointer_default(unique),
  1450. local,
  1451. helpcontext(307600)
  1452. ]
  1453. interface Direct3DRMObjectArray : IUnknown
  1454. {
  1455. import "oaidl.idl";
  1456. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1457. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1458. [helpcontext(307601)] HRESULT GetSize( [out, retval] long *retv);
  1459. [helpcontext(307602)] HRESULT GetElement([in] long index, [out,retval] Direct3DRMObject **retv);
  1460. };
  1461. ///////////////////////////////////////////////////////////////////////////
  1462. [
  1463. object,
  1464. uuid(9F76FE12-8E92-11d1-8808-00C04FC2C602),
  1465. helpstring("Direct3DRMDeviceArray Interface"),
  1466. pointer_default(unique),
  1467. local,
  1468. helpcontext(307800)
  1469. ]
  1470. interface Direct3DRMDeviceArray : IUnknown
  1471. {
  1472. import "oaidl.idl";
  1473. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1474. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1475. [helpcontext(307801)] HRESULT GetSize( [out, retval] long *retv);
  1476. [helpcontext(307802)] HRESULT GetElement([in] long index, [out, retval] Direct3DRMDevice3 **lplpD3DRMDevice);
  1477. };
  1478. ///////////////////////////////////////////////////////////////////////////
  1479. [
  1480. object,
  1481. uuid(9F76FE13-8E92-11d1-8808-00C04FC2C602),
  1482. helpstring("IDirect3DRMViewportArray Interface"),
  1483. pointer_default(unique),
  1484. local,
  1485. helpcontext(308000)
  1486. ]
  1487. interface Direct3DRMViewportArray : IUnknown
  1488. {
  1489. import "oaidl.idl";
  1490. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1491. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1492. [helpcontext(308001)] HRESULT GetSize( [out, retval] long *retv);
  1493. [helpcontext(308002)] HRESULT GetElement([in] long index, [out, retval] Direct3DRMViewport2 **lplpD3DRMViewport);
  1494. };
  1495. ///////////////////////////////////////////////////////////////////////////
  1496. [
  1497. object,
  1498. uuid(9F76FE14-8E92-11d1-8808-00C04FC2C602),
  1499. helpstring("Direct3DRMFrameArray Interface"),
  1500. pointer_default(unique),
  1501. local,
  1502. helpcontext(308200)
  1503. ]
  1504. interface Direct3DRMFrameArray : IUnknown
  1505. {
  1506. import "oaidl.idl";
  1507. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1508. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1509. [helpcontext(308201)] HRESULT GetSize( [out, retval] long *retv);
  1510. [helpcontext(308202)] HRESULT GetElement([in] long index, [out, retval] Direct3DRMFrame3 **ppFrame);
  1511. };
  1512. ///////////////////////////////////////////////////////////////////////////
  1513. [
  1514. object,
  1515. uuid(9F76FE15-8E92-11d1-8808-00C04FC2C602),
  1516. helpstring("Direct3DRMVisualArray Interface"),
  1517. pointer_default(unique),
  1518. local,
  1519. helpcontext(308400)
  1520. ]
  1521. interface Direct3DRMVisualArray : IUnknown
  1522. {
  1523. import "oaidl.idl";
  1524. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1525. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1526. [helpcontext(308401)] HRESULT GetSize( [out, retval] long *retv);
  1527. [helpcontext(308402)] HRESULT GetElement( [in] long index, [out, retval] Direct3DRMVisual **retv);
  1528. };
  1529. ///////////////////////////////////////////////////////////////////////////
  1530. [
  1531. object,
  1532. uuid(9F76FE16-8E92-11d1-8808-00C04FC2C602),
  1533. helpstring("IDirect3DRMLightArray Interface"),
  1534. pointer_default(unique),
  1535. local,
  1536. helpcontext(308600)
  1537. ]
  1538. interface Direct3DRMLightArray : IUnknown
  1539. {
  1540. import "oaidl.idl";
  1541. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1542. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1543. [helpcontext(308601)] HRESULT GetSize( [out, retval] long *retv);
  1544. [helpcontext(308602)] HRESULT GetElement( [in] long index, [out, retval] Direct3DRMLight **retv);
  1545. };
  1546. ///////////////////////////////////////////////////////////////////////////
  1547. [
  1548. object,
  1549. uuid(9F76FE17-8E92-11d1-8808-00C04FC2C602),
  1550. helpstring("Direct3DRMPickArray Interface"),
  1551. pointer_default(unique),
  1552. local,
  1553. helpcontext(308800)
  1554. ]
  1555. interface Direct3DRMPickArray : IUnknown
  1556. {
  1557. import "oaidl.idl";
  1558. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1559. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1560. [helpcontext(308801)] HRESULT GetSize( [out, retval] long *retv);
  1561. [helpcontext(308802)] HRESULT GetPickVisual([in] long index, [in] D3DRMPICKDESC *pickDesc,
  1562. [out,retval] Direct3DRMVisual **visual);
  1563. [helpcontext(308803)] HRESULT GetPickFrame([in] long index, [in] D3DRMPICKDESC *pickDesc,
  1564. [out, retval] Direct3DRMFrameArray **frameArray);
  1565. };
  1566. ///////////////////////////////////////////////////////////////////////////
  1567. [
  1568. object,
  1569. uuid(9F76FE18-8E92-11d1-8808-00C04FC2C602),
  1570. helpstring("Direct3DRMFaceArray Interface"),
  1571. pointer_default(unique),
  1572. local,
  1573. helpcontext(309000)
  1574. ]
  1575. interface Direct3DRMFaceArray : IUnknown
  1576. {
  1577. import "oaidl.idl";
  1578. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1579. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1580. [helpcontext(309001)] HRESULT GetSize( [out, retval] long *retv);
  1581. [helpcontext(309002)] HRESULT GetElement([in] long index, [out, retval] Direct3DRMFace2 **retv);
  1582. };
  1583. ///////////////////////////////////////////////////////////////////////////
  1584. [
  1585. object,
  1586. uuid(9F76FE19-8E92-11d1-8808-00C04FC2C602),
  1587. helpstring("Direct3DRMPick2Array Interface"),
  1588. pointer_default(unique),
  1589. local,
  1590. helpcontext(309200)
  1591. ]
  1592. interface Direct3DRMPick2Array : IUnknown
  1593. {
  1594. import "oaidl.idl";
  1595. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1596. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1597. [helpcontext(309201)] HRESULT GetSize( [out, retval] long *retv);
  1598. [helpcontext(309202)] HRESULT GetPickVisual([in] long index, [in] D3DRMPICKDESC2 *pickDesc,
  1599. [out,retval] Direct3DRMVisual **visual);
  1600. [helpcontext(309203)] HRESULT GetPickFrame([in] long index, [in] D3DRMPICKDESC2 *pickDesc,
  1601. [out, retval] Direct3DRMFrameArray **frameArray);
  1602. };
  1603. [ object,
  1604. uuid(9F76FE33-8E92-11d1-8808-00C04FC2C602),
  1605. helpstring("Direct3DRMFrameMoveCallback3"),
  1606. pointer_default(unique),
  1607. helpcontext(309400)
  1608. ] interface Direct3DRMFrameMoveCallback3 : IUnknown
  1609. {
  1610. import "oaidl.idl";
  1611. [helpcontext(309401)] HRESULT CallbackRMFrameMove([in] Direct3DRMFrame3 *f,
  1612. [in] USERARG *arg, [in] float delta);
  1613. };
  1614. [ object,
  1615. uuid(9F76FE34-8E92-11d1-8808-00C04FC2C602), // Direct45
  1616. helpstring("Direct3DRMDeviceUpdateCallback3 Interface"),
  1617. pointer_default(unique),
  1618. helpcontext(309600)
  1619. ]
  1620. interface Direct3DRMDeviceUpdateCallback3 : IUnknown
  1621. {
  1622. import "oaidl.idl";
  1623. //TODO update callback wont work in VB with structures
  1624. // User supplied callback
  1625. [helpcontext(309601)] HRESULT CallbackRMUpdate([in] Direct3DRMDevice3 *f,
  1626. [in] USERARG *arg, [in] int n, [in] D3DRECT *Update);
  1627. };
  1628. [ object,
  1629. uuid(9F76FE35-8E92-11d1-8808-00C04FC2C602),
  1630. helpstring("Direct3DRMAnimationArray"),
  1631. pointer_default(unique),
  1632. local,
  1633. helpcontext(309800)
  1634. ]
  1635. interface Direct3DRMAnimationArray : IUnknown
  1636. {
  1637. import "oaidl.idl";
  1638. [helpcontext(309801)] HRESULT GetSize([out,retval] long *ret);
  1639. [helpcontext(309802)] HRESULT GetElement([in] long index,[out,retval] Direct3DRMAnimation2 **anim);
  1640. };
  1641. [
  1642. object,
  1643. uuid(9F76FE36-8E92-11d1-8808-00C04FC2C602),
  1644. helpstring("Direct3DRMShadow2 Interface"),
  1645. pointer_default(unique),
  1646. local,
  1647. helpcontext(310000)
  1648. ]
  1649. interface Direct3DRMShadow2 : IUnknown
  1650. {
  1651. import "oaidl.idl";
  1652. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1653. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1654. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1655. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1656. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1657. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1658. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1659. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1660. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1661. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1662. [helpcontext(310009)] HRESULT SetOptions([in] D3DRMShadowFlags flags);
  1663. };
  1664. [
  1665. object,
  1666. uuid(9F76FE20-8E92-11d1-8808-00C04FC2C602),
  1667. helpstring("Direct3DRMViewport2 Interface"),
  1668. pointer_default(unique),
  1669. local,
  1670. helpcontext(310200)
  1671. ]
  1672. interface Direct3DRMViewport2 : IUnknown
  1673. {
  1674. import "oaidl.idl";
  1675. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1676. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1677. //
  1678. /*** D3DRMObjects ***/
  1679. //
  1680. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1681. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1682. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1683. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1684. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1685. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1686. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1687. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1688. //
  1689. // _dxj_Direct3DRMViewport
  1690. //
  1691. [helpcontext(310209)] HRESULT Clear([in] D3DRMViewportClearFlags flags);
  1692. [helpcontext(310210)] HRESULT Render([in] Direct3DRMFrame3 *rootFrame);
  1693. [helpcontext(310211)] HRESULT GetCamera([out, retval] Direct3DRMFrame3 **val);
  1694. [helpcontext(310212)] HRESULT GetDevice([out, retval] Direct3DRMDevice3 **val);
  1695. [helpcontext(310213)] HRESULT SetFront( [in] float v);
  1696. [helpcontext(310214)] HRESULT SetBack( [in] float v);
  1697. [helpcontext(310215)] HRESULT SetField( [in] float v);
  1698. [helpcontext(310216)] HRESULT SetUniformScaling( [in] DBOOLFlags flag); //BOOL
  1699. [helpcontext(310217)] HRESULT SetCamera( [in] Direct3DRMFrame3 *f);
  1700. [helpcontext(310218)] HRESULT SetProjection([in] D3DRMProjectionType val);
  1701. [helpcontext(310219)] HRESULT Transform([out] D3DRMVECTOR4D *d, [in] D3DVECTOR *s);
  1702. [helpcontext(310220)] HRESULT InverseTransform([out] D3DVECTOR *d, [in] D3DRMVECTOR4D *s);
  1703. [helpcontext(310221)] HRESULT Configure([in] long x, [in] long y, [in] long width, [in] long height);
  1704. [helpcontext(310222)] HRESULT ForceUpdate([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1705. [helpcontext(310223)] HRESULT SetPlane([in] float left, [in] float right, [in] float bottom, [in] float top);
  1706. [helpcontext(310224)] HRESULT GetPlane([in,out] float *l, [in,out] float *r, [in,out] float *b, [in,out] float *t);
  1707. [helpcontext(310225)] HRESULT Pick([in] long x, [in] long y, [out, retval] Direct3DRMPickArray **retv);
  1708. [helpcontext(310226)] HRESULT GetUniformScaling([out, retval] DBOOLFlags *retv); //BOOL
  1709. [helpcontext(310227)] HRESULT GetX([out, retval] long *retv);
  1710. [helpcontext(310228)] HRESULT GetY([out, retval] long *retv);
  1711. [helpcontext(310229)] HRESULT GetHeight([out, retval] long *w);
  1712. [helpcontext(310230)] HRESULT GetWidth([out, retval] long *w);
  1713. [helpcontext(310231)] HRESULT GetField([out, retval] float *retv);
  1714. [helpcontext(310232)] HRESULT GetBack([out, retval] float *retv);
  1715. [helpcontext(310233)] HRESULT GetFront([out, retval] float *retv);
  1716. [helpcontext(310234)] HRESULT GetProjection([out, retval] D3DRMProjectionType *retv);
  1717. };
  1718. ///////////////////////////////////////////////////////////////////////////
  1719. [
  1720. object,
  1721. uuid(9F76FE21-8E92-11d1-8808-00C04FC2C602),
  1722. helpstring("Direct3DRMMaterial2 Interface"),
  1723. pointer_default(unique),
  1724. helpcontext(310400)
  1725. ]
  1726. interface Direct3DRMMaterial2 : IUnknown
  1727. {
  1728. import "oaidl.idl";
  1729. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1730. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1731. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1732. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1733. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1734. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1735. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1736. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1737. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1738. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1739. /*
  1740. * IDirect3DRMMaterial methods
  1741. */
  1742. [helpcontext(310409)] HRESULT SetPower([in] float power);
  1743. [helpcontext(310410)] HRESULT SetSpecular([in] float r, [in] float g, [in] float b);
  1744. [helpcontext(310411)] HRESULT SetEmissive([in] float r, [in] float g, [in] float b);
  1745. [helpcontext(310412)] HRESULT SetAmbient([in] float r, [in] float g, [in] float b);
  1746. [helpcontext(310413)] HRESULT GetPower([out, retval] float *power);
  1747. [helpcontext(310414)] HRESULT GetSpecular([out] float *r, [out] float *g, [out] float *b);
  1748. [helpcontext(310415)] HRESULT GetEmissive([out] float *r, [out] float *g, [out] float *b);
  1749. [helpcontext(310416)] HRESULT GetAmbient([out] float *r, [out] float *g, [out] float *b);
  1750. };
  1751. ///////////////////////////////////////////////////////////////////////////
  1752. [
  1753. object,
  1754. uuid(9F76FE22-8E92-11d1-8808-00C04FC2C602),
  1755. helpstring("Direct3DRMAnimation2 Interface"),
  1756. pointer_default(unique),
  1757. local,
  1758. helpcontext(310600)
  1759. ]
  1760. interface Direct3DRMAnimation2 : IUnknown
  1761. {
  1762. import "oaidl.idl";
  1763. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1764. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1765. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1766. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1767. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1768. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1769. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1770. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1771. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1772. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1773. /*
  1774. * IDirect3DRMAnimation2 methods
  1775. */
  1776. [helpcontext(310609)] HRESULT SetOptions([in] D3DRMAnimationOptions flags);
  1777. [helpcontext(310610)] HRESULT AddRotateKey([in] float time, [in] D3DRMQUATERNION *q);
  1778. [helpcontext(310611)] HRESULT AddPositionKey([in] float time, [in] float x, [in] float y, [in] float z);
  1779. [helpcontext(310612)] HRESULT AddScaleKey([in] float time, [in] float x, [in] float y, [in] float z);
  1780. [helpcontext(310613)] HRESULT DeleteKey([in] float time);
  1781. [helpcontext(310614)] HRESULT SetFrame([in] Direct3DRMFrame3 *frame);
  1782. [helpcontext(310615)] HRESULT GetFrame([out,retval] Direct3DRMFrame3 **frame);
  1783. [helpcontext(310616)] HRESULT SetTime([in] float time);
  1784. [helpcontext(310617)] HRESULT GetOptions([out, retval] D3DRMAnimationOptions *options);
  1785. [helpcontext(310618)] HRESULT AddKey([in] D3DRMANIMATIONKEY *key);
  1786. [helpcontext(310619)] HRESULT DeleteKeyById([in] long id);
  1787. [helpcontext(310620)] HRESULT GetKeys([in] float timeMin,[in] float timeMax ,[in,out] SAFEARRAY(D3DRMANIMATIONKEY) *keyArray);
  1788. [helpcontext(310621)] HRESULT GetKeysCount([in] float timeMin,[in] float timeMax, [out,retval] long *count);
  1789. [helpcontext(310622)] HRESULT ModifyKey([in] D3DRMANIMATIONKEY *key);
  1790. };
  1791. [
  1792. object,
  1793. uuid(9F76FE23-8E92-11d1-8808-00C04FC2C602),
  1794. helpstring("Direct3DRMAnimationSet2 Interface"),
  1795. pointer_default(unique),
  1796. local,
  1797. helpcontext(310800)
  1798. ]
  1799. interface Direct3DRMAnimationSet2 : IUnknown
  1800. {
  1801. import "oaidl.idl";
  1802. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1803. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1804. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1805. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1806. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1807. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1808. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1809. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1810. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1811. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1812. //
  1813. // IDirect3DRMAnimationSet methods
  1814. //
  1815. [helpcontext(310809)] HRESULT AddAnimation([in] Direct3DRMAnimation2 *aid);
  1816. [helpcontext(310810)] HRESULT DeleteAnimation([in] Direct3DRMAnimation2 *aid);
  1817. [helpcontext(310811)] HRESULT GetAnimations([out,retval] Direct3DRMAnimationArray **ret);
  1818. [helpcontext(310812)] HRESULT LoadFromFile( [in] BSTR filename, [in] VARIANT id,
  1819. [in] D3DRMLoadFlags flags, [in] Direct3dRMLoadTextureCallback3 * loadTextureImplementation,
  1820. [in] USERARG *userArgument, [in] Direct3DRMFrame3 *parentFrame);
  1821. [helpcontext(310813)] HRESULT SetTime([in] float time);
  1822. };
  1823. [
  1824. object,
  1825. uuid(9F76FE24-8E92-11d1-8808-00C04FC2C602),
  1826. helpstring("Direct3DRM3 Interface"),
  1827. pointer_default(unique),
  1828. local,
  1829. helpcontext(311000)
  1830. ]
  1831. interface Direct3DRM3 : IUnknown
  1832. {
  1833. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1834. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1835. [helpcontext(311001)] HRESULT CreateDeviceFromClipper([in]DirectDrawClipper *lpDDClipper,[in]BSTR guid,[in]int width,[in]int height,[out,retval]Direct3DRMDevice3 **retv);
  1836. [helpcontext(311002)] HRESULT CreateFrame([in]Direct3DRMFrame3 *parent,[out,retval]Direct3dRMFrame3 **retv);
  1837. [helpcontext(311003)] HRESULT CreateLightRGB ([in]D3DRMLightType lt,[in]float vred,[in]float vgreen,[in]float vblue,[out,retval]Direct3dRMLight **retv);
  1838. [helpcontext(311004)] HRESULT CreateLight([in]D3DRMLightType lt,[in]long color,[out,retval]Direct3dRMLight **retv);
  1839. [helpcontext(311005)] HRESULT CreateMeshBuilder([out,retval]Direct3DRMMeshBuilder3 **retv);
  1840. [helpcontext(311006)] HRESULT CreateMaterial([in]float d, [out,retval]Direct3DRMMaterial2 **val);
  1841. [helpcontext(311007)] HRESULT LoadTexture([in]BSTR name, [out,retval]Direct3DRMTexture3 **retval);
  1842. [helpcontext(311008)] HRESULT CreateViewport([in]Direct3DRMDevice3 *dev,[in] Direct3dRMFrame3 *fr,[in]long x,[in]long y,[in]long w,[in]long h,[out,retval]Direct3dRMViewport2 **retval);
  1843. [helpcontext(311009)] HRESULT SetDefaultTextureColors( [in]long numTextureColors);
  1844. [helpcontext(311010)] HRESULT SetDefaultTextureShades( [in]long numTextureShades);
  1845. [helpcontext(311011)] HRESULT CreateAnimationSet([out,retval]Direct3DRMAnimationSet2 **retval) ;
  1846. [helpcontext(311012)] HRESULT CreateMesh([out,retval]Direct3DRMMesh **retv);
  1847. [helpcontext(311013)] HRESULT CreateFace([out,retval]Direct3DRMFace2 **retv);
  1848. [helpcontext(311014)] HRESULT CreateAnimation([out,retval]Direct3DRMAnimation2 **retv);
  1849. [helpcontext(311015)] HRESULT Tick([in]float tic);
  1850. [helpcontext(311016)] HRESULT CreateDeviceFromSurface( [in]BSTR g, [in]DirectDraw4 *dd, [in]DirectDrawSurface4 *dds,[in] D3DRMCreateDeviceFlags flags,[out,retval] Direct3dRMDevice3 **retval);
  1851. [helpcontext(311017)] HRESULT CreateTextureFromSurface([in] DirectDrawSurface4 *dds,[out,retval] Direct3DRMTexture3 **retv);
  1852. [helpcontext(311018)] HRESULT CreateWrap( [in]D3DRMWrapType t, [in]Direct3dRMFrame3 *f,
  1853. [in] float ox,[in] float oy,
  1854. [in]float oz, [in]float dx, [in] float dy, [in]float dz,
  1855. [in]float ux, [in]float uy, [in] float uz, [in]float ou,
  1856. [in]float ov, [in]float su, [in] float sv,[out,retval]Direct3DRMWrap **retv);
  1857. [helpcontext(311019)] HRESULT GetSearchPath([out,retval]BSTR *name);
  1858. [helpcontext(311020)] HRESULT GetDevices([out,retval] Direct3DRMDeviceArray **retval);
  1859. [helpcontext(311021)] HRESULT GetNamedObject([in]BSTR name,[out,retval]Direct3DRMObject **retval);
  1860. [helpcontext(311022)] HRESULT SetSearchPath([in] BSTR name);
  1861. [helpcontext(311023)] HRESULT AddSearchPath([in] BSTR name);
  1862. [helpcontext(311024)] HRESULT EnumerateObjects([in]Direct3DRMEnumerateObjectsCallback *enumerateObjectsImplementation,[in] USERARG *userArgument);
  1863. [helpcontext(311025)] HRESULT LoadFromFile([in]BSTR filename, [in]VARIANT id,
  1864. [in] SAFEARRAY(BSTR) *guidArray, [in]long count,[in] D3DRMLoadFlags options,[in] Direct3dRMLoadCallback *loadCallbackImplementation,
  1865. [in]USERARG *loadArgument, [in]Direct3DRMLoadTextureCallback3 *loadTextureImplementation, [in]USERARG *loadTextureArgument,[in] Direct3dRMFrame3 *parentFrame);
  1866. [helpcontext(311026)] HRESULT CreateShadow([in] Direct3DRMVisual *visual,
  1867. [in] Direct3DRMLight *light,
  1868. [in] float px, [in]float py,[in]float pz,
  1869. [in] float nx, [in]float ny,[in]float nz,
  1870. [out,retval] Direct3DRMShadow2 **retv);
  1871. [helpcontext(311027)] HRESULT CreateProgressiveMesh([out,retval]Direct3DRMProgressiveMesh **retv);
  1872. [helpcontext(311028)] HRESULT CreateClippedVisual([in] Direct3DRMVisual *vis,[out,retval] Direct3dRMClippedVisual **ret);
  1873. [helpcontext(311029)] HRESULT GetOptions([out,retval] D3DRMHandedness *options);
  1874. [helpcontext(311030)] HRESULT SetOptions([in] D3DRMHandedness options);
  1875. [helpcontext(311031)] HRESULT CreateInterpolatorMesh([out,retval] Direct3DRMMeshInterpolator **ret);
  1876. [helpcontext(311032)] HRESULT CreateInterpolatorTexture([out,retval] Direct3DRMTextureInterpolator **ret);
  1877. [helpcontext(311033)] HRESULT CreateInterpolatorMaterial([out,retval] Direct3DRMMaterialInterpolator **ret);
  1878. [helpcontext(311034)] HRESULT CreateInterpolatorFrame([out,retval] Direct3DRMFrameInterpolator **ret) ;
  1879. [helpcontext(311035)] HRESULT CreateInterpolatorViewport([out,retval] Direct3DRMViewportInterpolator **ret) ;
  1880. [helpcontext(311036)] HRESULT CreateInterpolatorLight([out,retval] Direct3DRMLightInterpolator **ret) ;
  1881. };
  1882. [
  1883. object,
  1884. uuid(9F76FE25-8E92-11d1-8808-00C04FC2C602),
  1885. helpstring("Direct3DRMFrame3 Interface"),
  1886. pointer_default(unique),
  1887. local,
  1888. helpcontext(311200)
  1889. ]
  1890. interface Direct3DRMFrame3 : IUnknown
  1891. {
  1892. import "oaidl.idl";
  1893. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1894. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1895. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  1896. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  1897. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  1898. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  1899. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  1900. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  1901. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  1902. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  1903. //
  1904. // _dxj_Direct3DRMFrame
  1905. //
  1906. [helpcontext(311209)] HRESULT AddVisual( [in] Direct3DRMVisual *v );
  1907. [helpcontext(311210)] HRESULT DeleteVisual( [in] Direct3DRMVisual *v );
  1908. [helpcontext(311211)] HRESULT AddLight( [in] Direct3DRMLight *val);
  1909. [helpcontext(311212)] HRESULT DeleteLight([in] Direct3DRMLight *l);
  1910. [helpcontext(311213)] HRESULT AddChild([in] Direct3DRMFrame3 *child);
  1911. [helpcontext(311214)] HRESULT DeleteChild([in] Direct3DRMFrame3 *c);
  1912. //CONSIDER GETING TRANSFORM IN A D3DMATRIX STRUCT INSTEAD
  1913. [helpcontext(311215)] HRESULT GetTransform([in] Direct3DRMFrame3 *referenceFrame,[in,out] SAFEARRAY(float) *val);
  1914. [helpcontext(311216)] HRESULT AddTransform([in] D3DRMCombineType t, [in] SAFEARRAY(float) *val);
  1915. [helpcontext(311217)] HRESULT AddTranslation([in] D3DRMCombineType t, [in] float x, [in] float y, [in] float z);
  1916. [helpcontext(311218)] HRESULT AddScale([in] D3DRMCombineType combineType, [in] float sx, [in] float sy,[in] float sz);
  1917. [helpcontext(311219)] HRESULT AddRotation([in] D3DRMCombineType combineType, [in] float x,
  1918. [in] float y,[in] float z, [in] float theta);
  1919. [helpcontext(311220)] HRESULT AddMoveCallback( [in] Direct3DRMFrameMoveCallback3 *frameMoveImplementation, [in] USERARG *userArgument, [in] D3DRMCallbackOrderFlags flags);
  1920. [helpcontext(311221)] HRESULT DeleteMoveCallback([in] Direct3DRMFrameMoveCallback3 *frameMoveImplementation, [in] USERARG *userArgument);
  1921. [helpcontext(311222)] HRESULT Transform([in,out] D3DVECTOR *d, [in] D3DVECTOR *s);
  1922. [helpcontext(311223)] HRESULT TransformVectors([in]Direct3DRMFrame3 *reference,[in] long num, [in,out] SAFEARRAY(D3DVECTOR) *DstVectors,[in,out] SAFEARRAY(D3DVECTOR) *SrcVectors);
  1923. [helpcontext(311224)] HRESULT InverseTransform([in,out] D3DVECTOR *d, [in] D3DVECTOR *s);
  1924. [helpcontext(311225)] HRESULT InverseTransformVectors([in]Direct3DRMFrame3 *reference,[in] long num, [in,out] SAFEARRAY(D3DVECTOR) *DstVectors,[in,out] SAFEARRAY(D3DVECTOR) *SrcVectors);
  1925. [helpcontext(311226)] HRESULT GetAxes([in,out]D3DVECTOR *dir,[in,out]D3DVECTOR *up);
  1926. [helpcontext(311227)] HRESULT GetBox([in,out]D3DRMBOX *box);
  1927. [helpcontext(311228)] HRESULT GetBoxEnable([out,retval] DBOOLFlags *b);
  1928. [helpcontext(311229)] HRESULT GetChildren([out, retval] Direct3DRMFrameArray **children);
  1929. [helpcontext(311230)] HRESULT GetColor([out, retval] D3Dcolor *retv);
  1930. [helpcontext(311231)] HRESULT GetHierarchyBox([in,out]D3DRMBOX *box);
  1931. [helpcontext(311232)] HRESULT GetInheritAxes([out,retval] DBOOLFlags *b);
  1932. [helpcontext(311233)] HRESULT GetLights( [out, retval] Direct3DRMLightArray **lights);
  1933. [helpcontext(311234)] HRESULT GetMaterial(Direct3DRMMaterial2 **ret);
  1934. [helpcontext(311235)] HRESULT GetMaterialMode([out, retval] D3DRMMaterialMode *retv);
  1935. [helpcontext(311236)] HRESULT GetOrientation( [in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *dir,[in,out] D3DVECTOR *up);
  1936. [helpcontext(311237)] HRESULT GetMaterialOverride([in,out] D3DRMMATERIALOVERRIDE *override);
  1937. [helpcontext(311238)] HRESULT GetMaterialOverrideTexture([out,retval] Direct3DRMTexture3 **ret);
  1938. [helpcontext(311239)] HRESULT GetParent( [out, retval] Direct3DRMFrame3 **retv);
  1939. [helpcontext(311240)] HRESULT GetPosition([in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *position);
  1940. [helpcontext(311241)] HRESULT GetRotation([in] Direct3DRMFrame3 *ref,[in,out] D3DVECTOR *axis,[out] float *theta);
  1941. [helpcontext(311242)] HRESULT GetScene([out, retval] Direct3DRMFrame3 **retv);
  1942. [helpcontext(311243)] HRESULT GetSceneBackground([out, retval] D3Dcolor *retv);
  1943. [helpcontext(311244)] HRESULT GetSceneBackgroundDepth([out, retval] DirectDrawSurface7 **retv);
  1944. [helpcontext(311245)] HRESULT GetSceneFogColor([out, retval] D3Dcolor *retv);
  1945. [helpcontext(311246)] HRESULT GetSceneFogEnable([out, retval] DBOOLFlags *benable);
  1946. [helpcontext(311247)] HRESULT GetSceneFogMode([out, retval] D3DRMFogMode *retv);
  1947. [helpcontext(311248)] HRESULT GetSceneFogMethod([out, retval] D3DRMFogMethod *method);
  1948. [helpcontext(311249)] HRESULT GetSceneFogParams([in,out] float *start, [in,out] float *end, [in,out] float *density);
  1949. [helpcontext(311250)] HRESULT GetSortMode([out, retval] D3DRMSortMode *retv);
  1950. [helpcontext(311251)] HRESULT GetTexture([out,retval] Direct3DRMTexture3 **ref);
  1951. [helpcontext(311252)] HRESULT GetVelocity([in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *vel,
  1952. [in] DBOOLFlags includeRotationalVelocity);
  1953. [helpcontext(311253)] HRESULT GetVisuals([out, retval] Direct3DRMVisualArray **visuals);
  1954. [helpcontext(311254)] HRESULT GetVisual([in] long index, [out, retval] Direct3DRMVisual **visualArray);
  1955. [helpcontext(311255)] HRESULT GetVisualCount([out, retval] long *vis);
  1956. [helpcontext(311256)] HRESULT GetTraversalOptions([out,retval] D3DRMTraversalFlags *ret);
  1957. [helpcontext(311257)] HRESULT GetZBufferMode([out,retval] D3DRMZBufferMode *ret);
  1958. //CONSIDER what of loading from resources
  1959. [helpcontext(311258)] HRESULT LoadFromFile([in] BSTR filename, [in] VARIANT id,
  1960. [in] D3DRMLoadFlags flags, [in] Direct3dRMLoadTextureCallback3 *loadTextureImplementation,
  1961. [in] USERARG *userArgument);
  1962. [helpcontext(311259)] HRESULT LookAt([in] Direct3DRMFrame3 *tgt, [in] Direct3dRMFrame3 *reference, [in] D3DRMFrameConstraint contraint);
  1963. [helpcontext(311260)] HRESULT Move( [in] float delta);
  1964. [helpcontext(311261)] HRESULT RayPick([in]Direct3DRMFrame3 *refer,[in]D3DRMRAY *ray,[in]d3drmRayPickFlags flags,[out,retval]Direct3dRMPick2Array **retv);
  1965. [helpcontext(311262)] HRESULT Save([in]BSTR name,[in] D3DRMXofFormat format, [in] d3drmSaveFlags flags);
  1966. [helpcontext(311263)] HRESULT SetAxes([in]float dx,[in]float dy,[in]float dz,[in]float ux,[in]float uy,[in]float uz);
  1967. [helpcontext(311264)] HRESULT SetBox([in]D3DRMBOX *box);
  1968. [helpcontext(311265)] HRESULT SetBoxEnable([in] DBOOLFlags boxEnable);
  1969. [helpcontext(311266)] HRESULT SetColor([in] D3Dcolor c);
  1970. [helpcontext(311267)] HRESULT SetColorRGB([in] float r, [in] float g, [in] float b);
  1971. [helpcontext(311268)] HRESULT SetInheritAxes([in]DBOOLFlags inheritFromParent);
  1972. [helpcontext(311269)] HRESULT SetMaterial([in] Direct3DRMMaterial2 *mat);
  1973. [helpcontext(311270)] HRESULT SetMaterialMode([in] D3DRMMaterialMode val);
  1974. [helpcontext(311271)] HRESULT SetMaterialOverride([in,out] D3DRMMATERIALOVERRIDE *override);
  1975. [helpcontext(311272)] HRESULT SetMaterialOverrideTexture([in] Direct3DRMTexture3 *tex);
  1976. [helpcontext(311273)] HRESULT SetOrientation( [in] Direct3DRMFrame3 *reference, [in] float dx,
  1977. [in] float dy, [in] float dz, [in] float ux,
  1978. [in] float uy, [in] float uz);
  1979. [helpcontext(311274)] HRESULT SetPosition( [in] Direct3DRMFrame3 *reference, [in] float x,
  1980. [in] float y, [in] float z);
  1981. [helpcontext(311275)] HRESULT SetQuaternion([in]Direct3DRMFrame3 *reference,D3DRMQUATERNION *quat);
  1982. [helpcontext(311276)] HRESULT SetRotation( [in] Direct3DRMFrame3 *reference, [in] float x,
  1983. [in] float y, [in] float z, [in] float theta);
  1984. [helpcontext(311277)] HRESULT SetSceneBackground([in] D3Dcolor c);
  1985. [helpcontext(311278)] HRESULT SetSceneBackgroundDepth([in] DirectDrawSurface7 *s);
  1986. [helpcontext(311279)] HRESULT SetSceneBackgroundImage([in] Direct3DRMTexture3 *i);
  1987. [helpcontext(311280)] HRESULT SetSceneBackgroundRGB([in] float r, [in] float g, [in] float b);
  1988. [helpcontext(311281)] HRESULT SetSceneFogColor([in] D3Dcolor c);
  1989. [helpcontext(311282)] HRESULT SetSceneFogEnable([in] DBOOLFlags benable);
  1990. [helpcontext(311283)] HRESULT SetSceneFogMethod([in] D3DRMFogMethod method);
  1991. [helpcontext(311284)] HRESULT SetSceneFogMode([in] D3DRMFogMode c);
  1992. [helpcontext(311285)] HRESULT SetSceneFogParams([in] float start, [in] float end, [in] float density);
  1993. [helpcontext(311286)] HRESULT SetSortMode([in] D3DRMSortMode val);
  1994. [helpcontext(311287)] HRESULT SetTexture([in] Direct3DRMTexture3 *t);
  1995. [helpcontext(311288)] HRESULT SetTraversalOptions([in] D3DRMTraversalFlags flags);
  1996. [helpcontext(311289)] HRESULT SetVelocity( [in] Direct3DRMFrame3 *reference, [in] float x,
  1997. [in] float y, [in] float z, [in] DBOOLFlags with_rotation);
  1998. [helpcontext(311290)] HRESULT SetZbufferMode([in] D3DRMZbufferMode val);
  1999. };
  2000. ///////////////////////////////////////////////////////////////////////////
  2001. [
  2002. object,
  2003. uuid(9F76FE26-8E92-11d1-8808-00C04FC2C602),
  2004. helpstring("Direct3DRMMeshBuilder3 Interface"),
  2005. pointer_default(unique),
  2006. local,
  2007. helpcontext(311400)
  2008. ]
  2009. interface Direct3DRMMeshBuilder3 : IUnknown
  2010. {
  2011. import "oaidl.idl";
  2012. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2013. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2014. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  2015. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  2016. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  2017. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  2018. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  2019. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  2020. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  2021. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  2022. /*
  2023. * IDirect3DRMMeshBuilder methods
  2024. */
  2025. [helpcontext(311409)] HRESULT AddFace([in] Direct3DRMFace2 *f);
  2026. [helpcontext(311410)] HRESULT AddFaces([in] long vc, [in] SAFEARRAY(D3DVECTOR) *verexArray,
  2027. [in] long nc, [in] SAFEARRAY(D3DVECTOR) *normalArray,
  2028. [in] SAFEARRAY(long) *data,
  2029. [out, retval] Direct3DRMFaceArray **array );
  2030. [helpcontext(311411)] HRESULT AddFacesIndexed([in] D3DRMAddFacesFlags flags, [in] SAFEARRAY(long) *indexArray,[out,retval] long *newFaceIndex);
  2031. [helpcontext(311412)] HRESULT AddFrame([in] Direct3DRMFrame3 *frame);
  2032. [helpcontext(311413)] HRESULT AddMesh([in] Direct3DRMMesh *mesh);
  2033. [helpcontext(311414)] HRESULT AddMeshBuilder([in] Direct3DRMMeshBuilder3 *meshbuilder, D3DRMAddMeshbuilderFlags flags);
  2034. [helpcontext(311415)] HRESULT AddNormal([in] float x, [in] float y,[in] float z, [out, retval] int *index);
  2035. [helpcontext(311416)] HRESULT AddTriangles([in] D3DRMAddTrianglesVt format,[in] long vertexcount,[in] void *data);
  2036. [helpcontext(311417)] HRESULT AddVertex([in] float x, [in] float y,[in] float z, [out, retval] int *index);
  2037. [helpcontext(311418)] HRESULT CreateFace([out, retval] Direct3DRMFace2 **retv);
  2038. [helpcontext(311419)] HRESULT CreateMesh( [out,retval] Direct3DRMMesh **retv);
  2039. [helpcontext(311420)] HRESULT CreateSubMesh( [out,retval] Direct3DRMMeshBuilder3 **retv);
  2040. [helpcontext(311421)] HRESULT DeleteFace([in] Direct3DRMFace2 *face);
  2041. [hidden] HRESULT DeleteNormals([in] long id, [in] long count);
  2042. [helpcontext(311422)] HRESULT DeleteSubMesh([in] Direct3DRMMeshBuilder3 *mesh);
  2043. [hidden] HRESULT DeleteVertices([in] long id, [in] long count);
  2044. [helpcontext(311423)] HRESULT Empty();
  2045. [helpcontext(311424)] HRESULT EnableMesh([in] D3DRMAddMeshBuilderFlags flags);
  2046. [helpcontext(311425)] HRESULT GenerateNormals(float angle,D3DRMGenerateNormalsFlags flags);
  2047. [helpcontext(311426)] HRESULT GetBox( [in,out] D3DRMBOX *retv);
  2048. [helpcontext(311427)] HRESULT GetColorSource( [out, retval] D3DRMColorSource *data);
  2049. [helpcontext(311428)] HRESULT GetEnable([out,retval] D3DRMAddMeshBuilderFlags *flags);
  2050. [helpcontext(311429)] HRESULT GetFace([in] long id,[out, retval] Direct3DRMFace2 **retv);
  2051. [helpcontext(311430)] HRESULT GetFaceCount([out, retval] int *retv);
  2052. [helpcontext(311431)] HRESULT GetFaces([out, retval] Direct3DRMFaceArray **retv);
  2053. [helpcontext(311432)] HRESULT GetGeometry( [in,out] SAFEARRAY(D3DVECTOR) *verexArray,
  2054. [in,out] SAFEARRAY(D3DVECTOR) *normalArray,
  2055. [in,out] SAFEARRAY(long) *faceData);
  2056. [helpcontext(311433)] HRESULT GetNormal([in] long index, [in,out] D3DVECTOR *desc);
  2057. [helpcontext(311434)] HRESULT GetNormalCount([out, retval] long *normalCount);
  2058. [helpcontext(311435)] HRESULT GetParentMesh([in] D3DRMParentingFlags flags, [out,retval] Direct3dRMMeshBuilder3 **vis);
  2059. [helpcontext(311436)] HRESULT GetPerspective([out,retval] long *retv); //BOOL
  2060. [helpcontext(311437)] HRESULT GetQuality([out,retval] D3DRMRenderQuality *retv);
  2061. [helpcontext(311438)] HRESULT GetSubMeshes([in] long count,[in,out] SAFEARRAY(Direct3DRMMeshBuilder3) *arrayOfMeshBuilders);
  2062. [helpcontext(311439)] HRESULT GetSubMeshCount([out,retval] long *count);
  2063. [helpcontext(311440)] HRESULT GetTextureCoordinates([in] long idx,[in,out] float *u,[in,out] float *v);
  2064. [helpcontext(311441)] HRESULT GetVertex([in] long id, [in,out] D3DVECTOR *vec);
  2065. [helpcontext(311442)] HRESULT GetVertexColor([in] long index, [out, retval] D3Dcolor *retv);
  2066. [helpcontext(311443)] HRESULT GetVertexCount([out, retval] int *retv);
  2067. [helpcontext(311444)] HRESULT GetFaceDataSize([out, retval] long *faceCount);
  2068. [helpcontext(311445)] HRESULT LoadFromFile( [in] BSTR filename, [in] VARIANT id, [in] D3DRMLoadFlags flags, [in] Direct3dRMLoadTextureCallback3 *loadTextureImplementation, [in] USERARG *userArgument);
  2069. [helpcontext(311446)] HRESULT Optimize();
  2070. [helpcontext(311447)] HRESULT Save([in] BSTR fname, [in] D3DRMXofFormat xFormat, [in] d3drmSaveFlags save);
  2071. [helpcontext(311448)] HRESULT ScaleMesh( [in] float sx, [in] float sy, [in] float sz);
  2072. [helpcontext(311449)] HRESULT SetColor([in] D3Dcolor col);
  2073. [helpcontext(311450)] HRESULT SetColorRGB( [in] float red, [in] float green, [in] float blue);
  2074. [helpcontext(311451)] HRESULT SetColorSource([in] D3DRMColorSource val);
  2075. [helpcontext(311452)] HRESULT SetMaterial([in] Direct3DRMMaterial2 *mat);
  2076. [helpcontext(311453)] HRESULT SetNormal([in] long idx,[in] float x,[in] float y,[in] float z);
  2077. [helpcontext(311454)] HRESULT SetPerspective([in] DBOOLFlags perspectiveEnabled); //BOOL
  2078. [helpcontext(311455)] HRESULT SetQuality( [in] D3DRMRenderQuality q);
  2079. [helpcontext(311456)] HRESULT SetTexture( [in] Direct3DRMTexture3 *tex);
  2080. [helpcontext(311457)] HRESULT SetTextureCoordinates([in] long idx, [in] float u, [in] float v);
  2081. [helpcontext(311458)] HRESULT SetTextureTopology([in] DBOOLFlags wrap_u, [in] DBOOLFlags wrap_v); //BOOL
  2082. [helpcontext(311459)] HRESULT SetVertex([in] long idx,[in] float x,[in] float y,[in] float z);
  2083. [helpcontext(311460)] HRESULT SetVertexColor([in] long idx, [in] D3Dcolor c);
  2084. [helpcontext(311461)] HRESULT SetVertexColorRGB( [in] long idx, [in] float r, [in] float g, [in] float b);
  2085. [helpcontext(311462)] HRESULT Translate([in] float tx, [in] float ty, [in] float tz);
  2086. //getVertices left unimplemented
  2087. //set vertices not implmented
  2088. //set normals not implemented
  2089. [hidden] HRESULT AddFacesJava([in] long vc, [in] float *ver,
  2090. [in] long nc, [in] float *norm, [in] long *data, [out, retval] Direct3DRMFaceArray **array );
  2091. };
  2092. [
  2093. object,
  2094. uuid(9F76FE27-8E92-11d1-8808-00C04FC2C602),
  2095. helpstring("Direct3DRMDevice3 Interface"),
  2096. pointer_default(unique),
  2097. local,
  2098. helpcontext(311600)
  2099. ]
  2100. interface Direct3DRMDevice3 : IUnknown
  2101. {
  2102. import "oaidl.idl";
  2103. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2104. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2105. //
  2106. // D3DRMObjects
  2107. //
  2108. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  2109. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  2110. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  2111. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  2112. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  2113. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  2114. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  2115. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  2116. [helpcontext(311609)] HRESULT AddUpdateCallback([in] Direct3DRMDeviceUpdateCallback3 *updateCallbackImplementation, [in] USERARG *userArgument);
  2117. [helpcontext(311610)] HRESULT DeleteUpdateCallback([in] Direct3DRMDeviceUpdateCallback3 *updateCallbackImplementation, [in] USERARG *userArgument);
  2118. [helpcontext(311611)] HRESULT FindPreferredTextureFormat([in] DDBitDepthFlags bitDepth,[in] D3DRMFptfFlags flags, [in,out] DDPIXELFORMAT *ddpf);
  2119. [helpcontext(311612)] HRESULT GetBufferCount([out, retval] long *retv);
  2120. [helpcontext(311613)] HRESULT GetColorModel( [out, retval] D3DColorModel *retv);
  2121. [helpcontext(311614)] HRESULT GetDither([out, retval] DBOOLFlags *ditherEnabled);
  2122. [helpcontext(311615)] HRESULT GetHeight([out, retval] int *w);
  2123. [helpcontext(311616)] HRESULT GetQuality([out, retval] D3DRMRenderQuality *retv);
  2124. [helpcontext(311617)] HRESULT GetRenderMode([out, retval] D3DRMRenderModeFlags *retv);
  2125. [helpcontext(311618)] HRESULT GetShades([out, retval] long *numShades);
  2126. [helpcontext(311619)] HRESULT GetTextureQuality( [out, retval] D3DRMTextureQuality *retv);
  2127. [helpcontext(311620)] HRESULT GetTrianglesDrawn([out, retval] long *retv); //no params internally
  2128. [helpcontext(311621)] HRESULT GetViewports([out,retval] Direct3DRMViewportArray **views);
  2129. [helpcontext(311622)] HRESULT GetWireframeOptions([out, retval] D3DRMWireFrameFlags *retv); //no params internally
  2130. [helpcontext(311623)] HRESULT GetWidth([out, retval] int *w);
  2131. [helpcontext(311624)] HRESULT SetBufferCount([in] long count);
  2132. [helpcontext(311625)] HRESULT SetDither([in] DBOOLFlags ditherEnabled);
  2133. [helpcontext(311626)] HRESULT SetQuality( [in] D3DRMRenderQuality q);
  2134. [helpcontext(311627)] HRESULT SetRenderMode([in] D3DRMRenderModeFlags flags);
  2135. [helpcontext(311628)] HRESULT SetShades( [in] int numShades);
  2136. [helpcontext(311629)] HRESULT SetTextureQuality( [in] D3DRMTextureQuality d);
  2137. [helpcontext(311630)] HRESULT Update();
  2138. // Respond to a WM_ACTIVATE message.
  2139. [helpcontext(311631)] HRESULT HandleActivate([in] long wparam) ;
  2140. [helpcontext(311632)] HRESULT HandlePaint([in] long hdc) ;
  2141. };
  2142. [
  2143. object,
  2144. uuid(9F76FE28-8E92-11d1-8808-00C04FC2C602),
  2145. helpstring("Direct3DRMTexture3 Interface"),
  2146. pointer_default(unique),
  2147. local,
  2148. helpcontext(311800)
  2149. ]
  2150. interface Direct3DRMTexture3 : IUnknown
  2151. {
  2152. import "oaidl.idl";
  2153. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2154. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2155. //
  2156. // D3DRMObject methods
  2157. //
  2158. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  2159. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  2160. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  2161. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  2162. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  2163. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  2164. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  2165. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  2166. //
  2167. // IDirect3DRMTexture3 methods
  2168. //
  2169. [helpcontext(311809)] HRESULT Changed([in] D3DRMTextureChangedFlags flags, [in] long nRects,[in] SAFEARRAY(RECT) *rects); //BOOL values
  2170. [helpcontext(311810)] HRESULT GenerateMIPMap();
  2171. [helpcontext(311811)] HRESULT GetCacheFlags([out,retval] D3DRMTextureCacheFlags *ret);
  2172. [helpcontext(311812)] HRESULT GetCacheImportance([out,retval] long *ret);
  2173. [helpcontext(311813)] HRESULT GetColors([out, retval] long *c);
  2174. [helpcontext(311814)] HRESULT GetDecalOrigin([out] long *x, [out] long *y);
  2175. [helpcontext(311815)] HRESULT GetDecalScale([out, retval] DBOOLFlags *considerScale);
  2176. [helpcontext(311816)] HRESULT GetDecalSize([out] float *w, [out] float *h);
  2177. [helpcontext(311817)] HRESULT GetDecalTransparency([out, retval] DBOOLFlags *enabled); //BOOL
  2178. [helpcontext(311818)] HRESULT GetDecalTransparentColor([out, retval] D3Dcolor *tc);
  2179. [helpcontext(311819)] HRESULT GetShades([out, retval] long *shades);
  2180. [helpcontext(311820)] HRESULT GetSurface( [in] long flags,[out, retval] DirectDrawSurface4 **surface);
  2181. [helpcontext(311821)] HRESULT SetCacheOptions([in] long importance, [in] D3DRMTextureCacheFlags flags);
  2182. [helpcontext(311822)] HRESULT SetColors([in] long numColors);
  2183. [helpcontext(311823)] HRESULT SetDecalOrigin([in] long x, [in] long y);
  2184. [helpcontext(311824)] HRESULT SetDecalScale([in] DBOOLFlags considerScale);
  2185. [helpcontext(311825)] HRESULT SetDecalSize([in] float width, [in] float height);
  2186. [helpcontext(311826)] HRESULT SetDecalTransparency([in] DBOOLFlags transparencyEnabled); //BOOL
  2187. [helpcontext(311827)] HRESULT SetDecalTransparentColor([in] D3Dcolor tcolor);
  2188. [helpcontext(311828)] HRESULT SetShades([in] long numShades);
  2189. //note setDownSample callback and setValidation callback not supported
  2190. };
  2191. [
  2192. object,
  2193. uuid(9F76FE30-8E92-11d1-8808-00C04FC2C602),
  2194. helpstring("Direct3DRMClippedVisual Interface"),
  2195. pointer_default(unique),
  2196. local,
  2197. helpcontext(312000)
  2198. ]
  2199. interface Direct3DRMClippedVisual : IUnknown
  2200. {
  2201. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2202. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2203. //
  2204. // D3DRMObject methods
  2205. //
  2206. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  2207. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  2208. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  2209. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  2210. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  2211. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  2212. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  2213. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  2214. [helpcontext(312009)] HRESULT AddPlane([in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *point, [in,out] D3DVECTOR *normal, [out,retval] long *ret);
  2215. [helpcontext(312010)] HRESULT DeletePlane([in] long id);
  2216. [helpcontext(312011)] HRESULT GetPlane([in] long id,[in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *point, [in,out] D3DVECTOR *normal);
  2217. [helpcontext(312012)] HRESULT GetPlaneIds([in] long count, [in,out] SAFEARRAY(long) *arrayOfIds);
  2218. [helpcontext(312013)] HRESULT GetPlaneIdsCount([out,retval] long *count);
  2219. [helpcontext(312014)] HRESULT SetPlane([in] long id,[in] Direct3DRMFrame3 *ref, [in,out] D3DVECTOR *point, [in,out] D3DVECTOR *normal);
  2220. };
  2221. [
  2222. object,
  2223. uuid(9F76FE31-8E92-11d1-8808-00C04FC2C602),
  2224. helpstring("Direct3DRMProgressiveMesh Interface"),
  2225. pointer_default(unique),
  2226. local,
  2227. helpcontext(312200)
  2228. ]
  2229. interface Direct3DRMProgressiveMesh : IUnknown
  2230. {
  2231. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2232. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2233. //
  2234. // D3DRMObject methods
  2235. //
  2236. [helpcontext(306201)] HRESULT AddDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *arg);
  2237. [helpcontext(306202)] HRESULT DeleteDestroyCallback([in] Direct3DRMCallback *fn, [in] USERARG *args);
  2238. [helpcontext(306203)] HRESULT CloneObject([out,retval] RMCLONEOBJECT **retv);
  2239. [helpcontext(306204)] HRESULT SetAppData( [in] long data);
  2240. [helpcontext(306205)] HRESULT GetAppData( [out, retval] long *data);
  2241. [helpcontext(306206)] HRESULT SetName ([in] BSTR name);
  2242. [helpcontext(306207)] HRESULT GetName([out,retval] BSTR *name); //LPSTR
  2243. [helpcontext(306208)] HRESULT GetClassName([out,retval] BSTR *name); //LPSTR
  2244. [helpcontext(312209)] HRESULT LoadFromFile([in] BSTR sFile, [in] VARIANT id,[in] D3DRMLoadFlags options, [in] Direct3dRMLoadTextureCallback3 *loadTextureImplementation,[in] USERARG *userArgument);
  2245. [helpcontext(312210)] HRESULT GetLoadStatus([in,out] D3DRMPMESHLOADSTATUS *loadStatus);
  2246. [helpcontext(312211)] HRESULT SetMinRenderDetail([in] float val);
  2247. [helpcontext(312212)] HRESULT Abort();
  2248. [helpcontext(312213)] HRESULT GetFaceDetail([out,retval] long *count);
  2249. [helpcontext(312214)] HRESULT GetVertexDetail([out,retval] long *count);
  2250. [helpcontext(312215)] HRESULT SetFaceDetail([in] long count);
  2251. [helpcontext(312216)] HRESULT SetVertexDetail([in] long count);
  2252. [helpcontext(312217)] HRESULT GetFaceDetailRange([in,out] long *min,[in,out] long *max);
  2253. [helpcontext(312218)] HRESULT GetVertexDetailRange([in,out] long *min,[in,out] long *max);
  2254. [helpcontext(312219)] HRESULT GetDetail([out,retval] float *detail);
  2255. [helpcontext(312220)] HRESULT SetDetail([in] float detail);
  2256. [helpcontext(312221)] HRESULT RegisterEvents([in] long hEvent,[in] long flags,[in] long reserved);
  2257. [helpcontext(312222)] HRESULT CreateMesh([out,retval] Direct3DRMMesh **mesh);
  2258. [helpcontext(312223)] HRESULT Duplicate([out,retval] Direct3DRMProgressiveMesh **mesh);
  2259. [helpcontext(312224)] HRESULT GetBox([in,out] D3DRMBOX *box);
  2260. [helpcontext(312225)] HRESULT SetQuality(D3DRMRenderQuality quality);
  2261. [helpcontext(312226)] HRESULT GetQuality([out,retval] D3DRMRenderQuality *quality);
  2262. };
  2263. ///////////////////////////////////////////////////////////////////////////
  2264. //
  2265. // Direct Sound Interfaces
  2266. //
  2267. ///////////////////////////////////////////////////////////////////////////
  2268. [
  2269. object,
  2270. uuid(9F76FB00-8E92-11d1-8808-00C04FC2C602),
  2271. helpstring("DirectSound Interface"),
  2272. pointer_default(unique),
  2273. local,
  2274. helpcontext(312400)
  2275. ]
  2276. interface DirectSound : IUnknown
  2277. {
  2278. import "oaidl.idl";
  2279. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2280. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2281. //
  2282. //*** IDirectSound methods ***
  2283. //
  2284. [helpcontext(312401)] HRESULT CreateSoundBuffer([in] DSBUFFERDESC *bufferDesc,
  2285. [in] WAVEFORMATEX *format,
  2286. [out, retval] DirectSoundBuffer **soundBuffer);
  2287. [helpcontext(312402)] HRESULT CreateSoundBufferFromFile([in] BSTR fileName, [in,out] DSBUFFERDESC *bufferDesc,
  2288. [out] WAVEFORMATEX *format,
  2289. [out, retval] DirectSoundBuffer **soundBuffer);
  2290. [helpcontext(312403)] HRESULT CreateSoundBufferFromResource([in] BSTR dll, [in] BSTR resourceName, [in,out] DSBUFFERDESC *bufferDesc,
  2291. [out] WAVEFORMATEX *format,
  2292. [out, retval] DirectSoundBuffer **soundBuffer);
  2293. [helpcontext(312404)] HRESULT GetCaps([in,out] DSCAPS *caps);
  2294. [helpcontext(312405)] HRESULT DuplicateSoundBuffer([in] DirectSoundBuffer *original,
  2295. [out, retval] DirectSoundBuffer **duplicate);
  2296. [helpcontext(312406)] HRESULT SetCooperativeLevel([in] HWnd hwnd, [in] DSSCLFlags level);
  2297. [helpcontext(312407)] HRESULT GetSpeakerConfig([out,retval] DSSpeakerFlags *speakerConfig);
  2298. [helpcontext(312408)] HRESULT SetSpeakerConfig([in] DSSpeakerFlags speakerConfig);
  2299. };
  2300. ///////////////////////////////////////////////////////////////////////////
  2301. [
  2302. object,
  2303. uuid(9F76FB01-8E92-11d1-8808-00C04FC2C602),
  2304. helpstring("DirectSoundBuffer Interface"),
  2305. pointer_default(unique),
  2306. local,
  2307. helpcontext(312600)
  2308. ]
  2309. interface DirectSoundBuffer : IUnknown
  2310. {
  2311. import "oaidl.idl";
  2312. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2313. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2314. //
  2315. /*** IDirectSoundBuffer methods ***/
  2316. //
  2317. [helpcontext(312601)] HRESULT GetDirectSound3DListener([out, retval] DirectSound3dListener **lpdsl);
  2318. [helpcontext(312602)] HRESULT GetDirectSound3DBuffer([out, retval] DirectSound3dBuffer **lpdsb);
  2319. [helpcontext(312603)] HRESULT GetCaps([in,out] DSBCAPS *caps);
  2320. [helpcontext(312604)] HRESULT GetCurrentPosition([out] DSCURSORS *cursors);
  2321. [helpcontext(312605)] HRESULT GetFormat([in,out] WAVEFORMATEX *format);
  2322. [helpcontext(312606)] HRESULT GetVolume([out,retval] long *volume);
  2323. [helpcontext(312607)] HRESULT GetPan([out,retval] long *pan);
  2324. [helpcontext(312608)] HRESULT GetFrequency([out,retval] long *frequency);
  2325. [helpcontext(312609)] HRESULT GetStatus([out,retval] DSBStatusFlags *status);
  2326. [hidden] HRESULT Initialize([in] DirectSound *directSound,
  2327. [in,out] DSBUFFERDESC *bufferDesc, [in,out] byte *wbuf);
  2328. [helpcontext(312610)] HRESULT WriteBuffer([in] long start, [in] long size, [in] ABYTE *buffer, [in] DSBLockFlags flags);
  2329. [helpcontext(312611)] HRESULT ReadBuffer([in] long start, [in] long size, [in] ABYTE *buffer, [in] DSBLockFlags flags);
  2330. [helpcontext(312612)] HRESULT Play([in] DSBPlayFlags flags);
  2331. [helpcontext(312613)] HRESULT SetCurrentPosition([in] long newPosition);
  2332. [helpcontext(312614)] HRESULT SetFormat([in] WAVEFORMATEX *format);
  2333. [helpcontext(312615)] HRESULT SetVolume([in] long volume);
  2334. [helpcontext(312616)] HRESULT SetPan([in] long pan);
  2335. [helpcontext(312617)] HRESULT SetFrequency([in] long frequency);
  2336. [helpcontext(312618)] HRESULT Stop();
  2337. [helpcontext(312619)] HRESULT Restore();
  2338. [helpcontext(312620)] HRESULT SetNotificationPositions(long nElements, SAFEARRAY(DSBPOSITIONNOTIFY) *psa);
  2339. [helpcontext(312621)] HRESULT SaveToFile([in] BSTR filename);
  2340. };
  2341. ///////////////////////////////////////////////////////////////////////////
  2342. // DirectSound3DListener
  2343. [
  2344. object,
  2345. uuid(9F76FB02-8E92-11d1-8808-00C04FC2C602),
  2346. helpstring("DirectSound3DListener Interface"),
  2347. pointer_default(unique),
  2348. local,
  2349. helpcontext(312800)
  2350. ]
  2351. interface DirectSound3DListener: IUnknown
  2352. {
  2353. import "oaidl.idl";
  2354. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2355. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2356. //
  2357. /*** IDirectSound3D methods ***/
  2358. //
  2359. [helpcontext(312801)] HRESULT GetAllParameters( [in,out] DS3DLISTENER *listener );
  2360. [helpcontext(312802)] HRESULT GetDistanceFactor( [out,retval] float *distanceFactor );
  2361. [helpcontext(312803)] HRESULT GetDopplerFactor( [out,retval] float *dopplerFactor );
  2362. [helpcontext(312804)] HRESULT GetOrientation( [in,out] D3DVECTOR *orientFront, [in,out] D3DVECTOR *orientTop );
  2363. [helpcontext(312805)] HRESULT GetPosition( [out] D3DVECTOR *position );
  2364. [helpcontext(312806)] HRESULT GetRolloffFactor( [out,retval] float* rolloffFactor );
  2365. [helpcontext(312807)] HRESULT GetVelocity( [out,retval] D3DVECTOR *velocity );
  2366. [helpcontext(312808)] HRESULT SetAllParameters( [in] DS3DLISTENER *listener, [in] ds3dApplyFlags applyFlag);
  2367. [helpcontext(312809)] HRESULT SetDistanceFactor( [in] float distanceFactor, [in] DS3DApplyFlags applyFlag);
  2368. [helpcontext(312810)] HRESULT SetDopplerFactor( [in] float dopplerFactor, [in] DS3DApplyFlags applyFlag);
  2369. [helpcontext(312811)] HRESULT SetOrientation( [in] float xFront, [in] float yFront, [in] float zFront,
  2370. [in] float xTop, [in] float yTop, [in] float zTop,
  2371. [in] DS3DApplyFlags applyFlag);
  2372. [helpcontext(312812)] HRESULT SetPosition( [in] float x , [in] float y, [in] float z, [in] DS3DApplyFlags applyFlag);
  2373. [helpcontext(312813)] HRESULT SetRolloffFactor( [in] float rolloffFactor, [in] DS3DApplyFlags applyFlag);
  2374. [helpcontext(312814)] HRESULT SetVelocity( [in] float x, [in] float y, [in] float z, [in] DS3DApplyFlags applyFlag);
  2375. [helpcontext(312815)] HRESULT CommitDeferredSettings();
  2376. [helpcontext(312816)] HRESULT GetDirectSoundBuffer([out,retval] DirectSoundBuffer **retVal);
  2377. };
  2378. ///////////////////////////////////////////////////////////////////////////
  2379. // IDirectSound3DBuffer
  2380. [
  2381. object,
  2382. uuid(9F76FB03-8E92-11d1-8808-00C04FC2C602),
  2383. helpstring("DirectSound3DBuffer Interface"),
  2384. pointer_default(unique),
  2385. local,
  2386. helpcontext(313000)
  2387. ]
  2388. interface DirectSound3DBuffer : IUnknown
  2389. {
  2390. import "oaidl.idl";
  2391. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2392. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2393. //
  2394. /*** IDirectSoundBuffer3D methods ***/
  2395. //
  2396. [helpcontext(313001)] HRESULT GetDirectSound3DListener([out,retval] DirectSound3dListener **retVal);
  2397. [helpcontext(313002)] HRESULT GetDirectSoundBuffer([out,retval] DirectSoundBuffer **retVal);
  2398. [helpcontext(313003)] HRESULT GetAllParameters( [in,out] DS3DBUFFER *buffer );
  2399. [helpcontext(313004)] HRESULT GetConeAngles( [in,out] long *inCone, [in,out] long *outCone );
  2400. [helpcontext(313005)] HRESULT GetConeOrientation( [in,out] D3DVECTOR* orientation );
  2401. [helpcontext(313006)] HRESULT GetConeOutsideVolume( [out,retval] long * coneOutsideVolume );
  2402. [helpcontext(313007)] HRESULT GetMaxDistance( [out,retval] float* maxDistance );
  2403. [helpcontext(313008)] HRESULT GetMinDistance( [out,retval] float* minDistance );
  2404. [helpcontext(313009)] HRESULT GetMode( [out,retval] DS3DModeFlags *mode );
  2405. [helpcontext(313010)] HRESULT GetPosition( [in,out] D3DVECTOR* position );
  2406. [helpcontext(313011)] HRESULT GetVelocity( [in,out] D3DVECTOR* velocity );
  2407. [helpcontext(313012)] HRESULT SetAllParameters( [in] DS3DBUFFER *buffer,[in] ds3dApplyFlags applyFlag);
  2408. [helpcontext(313013)] HRESULT SetConeAngles( [in] long inCone, [in] long outCone, [in] DS3DApplyFlags applyFlag);
  2409. [helpcontext(313014)] HRESULT SetConeOrientation( [in] float x , [in] float y, [in] float z, [in] DS3DApplyFlags applyFlag);
  2410. [helpcontext(313015)] HRESULT SetConeOutsideVolume( [in] long coneOutsideVolume,[in] DS3DApplyFlags applyFlag);
  2411. [helpcontext(313016)] HRESULT SetMaxDistance( [in] float maxDistance,[in] DS3DApplyFlags applyFlag);
  2412. [helpcontext(313017)] HRESULT SetMinDistance( [in] float minDistance,[in] DS3DApplyFlags applyFlag);
  2413. [helpcontext(313018)] HRESULT SetMode( [in] DS3DModeFlags mode,[in] ds3dApplyFlags applyFlag);
  2414. [helpcontext(313019)] HRESULT SetPosition( [in] float x , [in] float y, [in] float z, [in] DS3DApplyFlags applyFlag);
  2415. [helpcontext(313020)] HRESULT SetVelocity( [in] float x , [in] float y, [in] float z, [in] DS3DApplyFlags applyFlag);
  2416. };
  2417. [
  2418. object,
  2419. uuid(9F76FB04-8E92-11d1-8808-00C04FC2C602),
  2420. helpstring("DirectSoundCapture Interface"),
  2421. pointer_default(unique),
  2422. local,
  2423. helpcontext(313200)
  2424. ]
  2425. interface DirectSoundCapture : IUnknown
  2426. {
  2427. import "oaidl.idl";
  2428. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2429. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2430. [helpcontext(313201)] HRESULT CreateCaptureBuffer([in] DSCBUFFERDESC *bufferDesc,[out,retval] DirectSoundCaptureBuffer **ret);
  2431. [helpcontext(313202)] HRESULT GetCaps([in,out] DSCCAPS *caps);
  2432. };
  2433. [
  2434. object,
  2435. uuid(9F76FB05-8E92-11d1-8808-00C04FC2C602),
  2436. helpstring("DirectSoundCaptureBuffer Interface"),
  2437. pointer_default(unique),
  2438. helpcontext(313400)
  2439. ]
  2440. interface DirectSoundCaptureBuffer : IUnknown
  2441. {
  2442. import "oaidl.idl";
  2443. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2444. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2445. [helpcontext(313401)] HRESULT GetCaps([in,out] DSCBCAPS *caps);
  2446. [helpcontext(313402)] HRESULT GetCurrentPosition([in,out] DSCURSORS *cursors);
  2447. [helpcontext(313403)] HRESULT GetFormat([in,out] WAVEFORMATEX *waveformat);
  2448. [helpcontext(313404)] HRESULT GetStatus([out,retval] DSCBStatusFlags * status);
  2449. [hidden] HRESULT Initialize([in]DirectSoundCaptureBuffer *captureBuffer,[in] DSCBUFFERDESC *bufferDesc);
  2450. [helpcontext(313405)] HRESULT Start([in] DSCBStartFlags flags);
  2451. [helpcontext(313406)] HRESULT Stop();
  2452. [helpcontext(313407)] HRESULT WriteBuffer([in] long start, [in] long size, [in] ALONG *buffer, [in] DSCBLockFlags flags);
  2453. [helpcontext(313408)] HRESULT ReadBuffer([in] long start, [in] long size, [in] ALONG *buffer, [in] DSCBLockFlags flags);
  2454. [helpcontext(313409)] HRESULT SetNotificationPositions(long nElements, SAFEARRAY(DSBPOSITIONNOTIFY) *psa);
  2455. };
  2456. [
  2457. object,
  2458. uuid(9F76FB07-8E92-11d1-8808-00C04FC2C602),
  2459. helpstring("DirectSoundEnum Interface"),
  2460. pointer_default(unique),
  2461. local,
  2462. helpcontext(313600)
  2463. ]
  2464. interface DirectSoundEnum : IUnknown
  2465. {
  2466. import "oaidl.idl";
  2467. [helpcontext(313601)] HRESULT GetGuid([in] long index,[out,retval] BSTR *guid);
  2468. [helpcontext(313602)] HRESULT GetDescription([in] long index,[out,retval] BSTR *guid);
  2469. [helpcontext(313603)] HRESULT GetName([in] long index,[out,retval] BSTR *guid);
  2470. [helpcontext(313604)] HRESULT GetCount([out,retval]long *count);
  2471. };
  2472. ///////////////////////////////////////////////////////////////////////////
  2473. //
  2474. // Direct Input Interfaces
  2475. //
  2476. ///////////////////////////////////////////////////////////////////////////
  2477. [
  2478. object,
  2479. uuid(9F76FA02-8E92-11d1-8808-00C04FC2C602),
  2480. helpstring("DirectInput Interface"),
  2481. pointer_default(unique),
  2482. local,
  2483. helpcontext(313800)
  2484. ]
  2485. interface DirectInput : IUnknown
  2486. {
  2487. import "oaidl.idl";
  2488. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2489. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2490. [helpcontext(313801)] HRESULT CreateDevice([in] BSTR guid, [out,retval] DirectInputDevice **dev);
  2491. [helpcontext(313802)] HRESULT GetDIEnumDevices([in] DIDeviceType deviceType, [in] diEnumDevicesFlags flags, [out,retval] DirectInputEnumDevices **retVal);
  2492. [helpcontext(313803)] HRESULT GetDeviceStatus([in] BSTR guid, [out,retval] VARIANT_BOOL *status);
  2493. [helpcontext(313804)] HRESULT RunControlPanel([in] long hwndOwner);
  2494. };
  2495. [
  2496. object,
  2497. uuid(9F76FA04-8E92-11d1-8808-00C04FC2C602),
  2498. helpstring("DirectInputDeviceInstance Interface"),
  2499. pointer_default(unique),
  2500. local,
  2501. helpcontext(314000)
  2502. ]
  2503. interface DirectInputDeviceInstance : IUnknown
  2504. {
  2505. [helpcontext(314001)] HRESULT GetGuidInstance([out,retval] BSTR *ret);
  2506. [helpcontext(314002)] HRESULT GetGuidProduct([out,retval] BSTR *ret);
  2507. [helpcontext(314003)] HRESULT GetProductName([out,retval] BSTR *ret);
  2508. [helpcontext(314004)] HRESULT GetInstanceName([out,retval] BSTR *ret);
  2509. [helpcontext(314005)] HRESULT GetGuidFFDriver([out,retval] BSTR *ret);
  2510. [helpcontext(314006)] HRESULT GetUsagePage([out,retval] short *ret);
  2511. [helpcontext(314007)] HRESULT GetUsage([out,retval] short *ret);
  2512. [helpcontext(314008)] HRESULT GetDevType([out,retval] long *ret);
  2513. };
  2514. [
  2515. object,
  2516. uuid(9F76FA05-8E92-11d1-8808-00C04FC2C602),
  2517. helpstring("DirectInputDeviceObjectInstance Interface"),
  2518. pointer_default(unique),
  2519. local,
  2520. helpcontext(314200)
  2521. ]
  2522. interface DirectInputDeviceObjectInstance : IUnknown
  2523. {
  2524. [helpcontext(314201)] HRESULT GetGuidType([out,retval] BSTR *ret);
  2525. [helpcontext(314202)] HRESULT GetOfs([out,retval] long *ret);
  2526. [helpcontext(314203)] HRESULT GetType([out,retval] long *ret);
  2527. [helpcontext(314204)] HRESULT GetFlags([out,retval] DIDeviceObjInstanceFlags *ret);
  2528. [helpcontext(314205)] HRESULT GetName([out,retval] BSTR *ret);
  2529. [helpcontext(314206)] HRESULT GetCollectionNumber([out,retval] short *ret);
  2530. [helpcontext(314207)] HRESULT GetDesignatorIndex([out,retval] short *ret);
  2531. [helpcontext(314208)] HRESULT GetUsagePage([out,retval] short *ret);
  2532. [helpcontext(314209)] HRESULT GetUsage([out,retval] short *ret);
  2533. [helpcontext(314210)] HRESULT GetDimension([out,retval] long *ret);
  2534. [helpcontext(314211)] HRESULT GetExponent([out,retval] short *ret);
  2535. };
  2536. [
  2537. object,
  2538. uuid(9F76FA03-8E92-11d1-8808-00C04FC2C602),
  2539. helpstring("DirectInputDevice Interface"),
  2540. pointer_default(unique),
  2541. local,
  2542. helpcontext(314400)
  2543. ]
  2544. interface DirectInputDevice : IUnknown
  2545. {
  2546. import "oaidl.idl";
  2547. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2548. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2549. [helpcontext(314401)] HRESULT Acquire();
  2550. [helpcontext(314402)] HRESULT GetDeviceObjectsEnum([in] DIDFTFlags flags,[out,retval] DirectInputEnumDeviceObjects **ppret);
  2551. [helpcontext(314403)] HRESULT GetCapabilities([in,out] DIDEVCAPS *caps);
  2552. [helpcontext(314404)] HRESULT GetDeviceData( [in,out] SAFEARRAY(DIDeviceOBJECTDATA) *deviceObjectDataArray,[in] DIDGDDFlags flags,[out,retval] long *c);
  2553. [helpcontext(314405)] HRESULT GetDeviceInfo([out,retval] DirectInputDeviceInstance **deviceInstance);
  2554. [helpcontext(314406)] HRESULT GetDeviceStateKeyboard ([in,out] DIKEYBOARDSTATE *state);
  2555. [helpcontext(314407)] HRESULT GetDeviceStateMouse ([in,out] DIMOUSESTATE *state);
  2556. [helpcontext(314408)] HRESULT GetDeviceStateJoystick ([in,out] DIJOYSTATE *state);
  2557. [helpcontext(314409)] HRESULT GetDeviceStateJoystick2 ([in,out] DIJOYSTATE2 *state);
  2558. [helpcontext(314410)] HRESULT GetDeviceState([in] long cb, [in] void* state);
  2559. [helpcontext(314411)] HRESULT GetObjectInfo( [in] long obj, [in] DIPHFlags how, [out,retval] DirectInputDeviceObjectInstance **ret);
  2560. [helpcontext(314412)] HRESULT GetProperty([in] BSTR guid,[out] void *propertyInfo);
  2561. [helpcontext(314413)] HRESULT RunControlPanel([in] long hwnd);
  2562. [helpcontext(314414)] HRESULT SetCooperativeLevel([in] long hwnd, [in] DISCLFlags flags);
  2563. [helpcontext(314415)] HRESULT SetCommonDataFormat([in] diCommonDataFormats format);
  2564. [helpcontext(314416)] HRESULT SetDataFormat([in] DIDATAFORMAT *format,SAFEARRAY(DIOBJECTDATAFORMAT) * formatArray);
  2565. [helpcontext(314417)] HRESULT SetEventNotification([in] long hEvent);
  2566. [helpcontext(314418)] HRESULT SetProperty([in] BSTR guid,[in] void *propertyInfo);
  2567. [helpcontext(314419)] HRESULT Unacquire();
  2568. [helpcontext(314420)] HRESULT Poll();
  2569. [helpcontext(314421)] HRESULT CreateEffect(
  2570. [in] BSTR effectGuid,
  2571. [in] DIEFFECT *effectinfo,
  2572. [out,retval] DirectInputEffect **ret);
  2573. [helpcontext(314422)] HRESULT CreateCustomEffect(
  2574. [in] DIEFFECT *effectinfo,
  2575. [in] long channels,
  2576. [in] long samplePeriod,
  2577. [in] long nSamples,
  2578. [in] SAFEARRAY(long) *sampledata,
  2579. [out,retval] DirectInputEffect **ret);
  2580. [helpcontext(314423)] HRESULT SendDeviceData([in] long count,[in] SAFEARRAY(DIDeviceOBJECTDATA) *data, [in] disddFlags flags, [out,retval] long *retcount);
  2581. [helpcontext(314424)] HRESULT SendForceFeedbackCommand([in] DISFFCFLAGS flags);
  2582. [helpcontext(314425)] HRESULT GetForceFeedbackState([out,retval] DIGFFSFLAGS *state);
  2583. [helpcontext(314426)] HRESULT GetEffectsEnum([in] DIEFTFLAGS effType,[out,retval] DirectInputEnumEffects **ret);
  2584. };
  2585. [
  2586. object,
  2587. uuid(BCAA7DA9-F7EF-11d2-93FD-00C04FC2C602),
  2588. helpstring("DirectInputEffect Interface"),
  2589. pointer_default(unique),
  2590. local,
  2591. helpcontext(314600)
  2592. ]
  2593. interface DirectInputEffect : IUnknown
  2594. {
  2595. import "oaidl.idl";
  2596. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2597. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2598. [helpcontext(314601)] HRESULT Download();
  2599. [helpcontext(314602)] HRESULT GetEffectGuid([out,retval] BSTR *guid);
  2600. [helpcontext(314603)] HRESULT GetEffectStatus([out,retval] long *ret);
  2601. [helpcontext(314604)] HRESULT Start([in] long iterations, [in] long flags);
  2602. [helpcontext(314605)] HRESULT Stop();
  2603. [helpcontext(314606)] HRESULT Unload();
  2604. [helpcontext(314607)] HRESULT SetParameters([in] DIEFFECT *effectinfo,[in] DIEPFLAGS flags);
  2605. [helpcontext(314608)] HRESULT GetParameters([in,out] DIEFFECT *effectinfo);
  2606. };
  2607. [
  2608. object,
  2609. uuid(BCAA7DAA-F7EF-11d2-93FD-00C04FC2C602),
  2610. helpstring("DirectInputEnumEffects Interface"),
  2611. pointer_default(unique),
  2612. local,
  2613. helpcontext(314800)
  2614. ]
  2615. interface DirectInputEnumEffects : IUnknown
  2616. {
  2617. import "oaidl.idl";
  2618. [helpcontext(314801)] HRESULT GetCount([out,retval] long *ret);
  2619. [helpcontext(314802)] HRESULT GetEffectGuid([in] long i,[out,retval] BSTR *ret);
  2620. [helpcontext(314803)] HRESULT GetType([in] long i,[out,retval] DIEFTFLAGS *ret);
  2621. [helpcontext(314804)] HRESULT GetStaticParams([in] long i,[out,retval] DIEPFLAGS *ret);
  2622. [helpcontext(314805)] HRESULT GetDynamicParams([in] long i,[out,retval] DIEPFLAGS *ret);
  2623. [helpcontext(314806)] HRESULT GetName([in] long i, [out,retval] BSTR *ret);
  2624. };
  2625. [
  2626. object,
  2627. uuid(9F76FA08-8E92-11d1-8808-00C04FC2C602),
  2628. helpstring("DirectInputEnumDeviceObjects Interface"),
  2629. pointer_default(unique),
  2630. local,
  2631. helpcontext(315000)
  2632. ]
  2633. interface DirectInputEnumDeviceObjects : IUnknown
  2634. {
  2635. import "oaidl.idl";
  2636. [helpcontext(315001)] HRESULT GetItem( [in]long index, [out,retval] DirectInputDeviceObjectInstance **info);
  2637. [helpcontext(315002)] HRESULT GetCount([out,retval]long *count);
  2638. };
  2639. [
  2640. object,
  2641. uuid(9F76FA09-8E92-11d1-8808-00C04FC2C602),
  2642. helpstring("DirectInputEnumDevices Interface"),
  2643. pointer_default(unique),
  2644. local,
  2645. helpcontext(315200)
  2646. ]
  2647. interface DirectInputEnumDevices : IUnknown
  2648. {
  2649. import "oaidl.idl";
  2650. [helpcontext(315201)] HRESULT GetItem( [in]long index, [out,retval] DirectInputDeviceInstance **info);
  2651. [helpcontext(315202)] HRESULT GetCount([out,retval]long *count);
  2652. };
  2653. ///////////////////////////////////////////////////////////////////////////
  2654. //
  2655. // Direct3DRM Interpolator Interfaces
  2656. //
  2657. ///////////////////////////////////////////////////////////////////////////
  2658. [
  2659. object,
  2660. uuid(9F76FE29-8E92-11d1-8808-00C04FC2C602),
  2661. helpstring("Direct3DRMInterpolator Interface"),
  2662. pointer_default(unique),
  2663. local,
  2664. hidden,
  2665. helpcontext(315400)
  2666. ]
  2667. interface Direct3DRMInterpolator : IUnknown
  2668. {
  2669. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2670. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2671. [helpcontext(315401)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2672. [helpcontext(315402)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2673. [helpcontext(315403)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2674. [helpcontext(315404)] HRESULT SetIndex([in] float val);
  2675. [helpcontext(315405)] HRESULT GetIndex([out,retval] float *val);
  2676. [helpcontext(315406)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2677. };
  2678. [
  2679. object,
  2680. uuid(5F4637E1-62AC-11d2-90B1-00C04FC2C602),
  2681. helpstring("Direct3DRMViewportInterpolator Interface"),
  2682. pointer_default(unique),
  2683. local,
  2684. //hidden,
  2685. helpcontext(315600)
  2686. ]
  2687. interface Direct3DRMViewportInterpolator : IUnknown
  2688. {
  2689. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2690. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2691. [helpcontext(315601)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2692. [helpcontext(315602)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2693. [helpcontext(315603)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2694. [helpcontext(315604)] HRESULT SetIndex([in] float val);
  2695. [helpcontext(315605)] HRESULT GetIndex([out,retval] float *val);
  2696. [helpcontext(315606)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2697. [helpcontext(315607)] HRESULT SetFront([in] float val);
  2698. [helpcontext(315608)] HRESULT SetBack([in] float val);
  2699. [helpcontext(315609)] HRESULT SetField([in] float val);
  2700. [helpcontext(315610)] HRESULT SetPlane([in] float left, [in] float right, [in] float bottom, [in] float top);
  2701. };
  2702. [
  2703. object,
  2704. uuid(5F4637E2-62AC-11d2-90B1-00C04FC2C602),
  2705. helpstring("Direct3DRMFrameInterpolator Interface"),
  2706. pointer_default(unique),
  2707. local,
  2708. //hidden,
  2709. helpcontext(315800)
  2710. ]
  2711. interface Direct3DRMFrameInterpolator : IUnknown
  2712. {
  2713. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2714. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2715. [helpcontext(315801)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2716. [helpcontext(315802)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2717. [helpcontext(315803)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2718. [helpcontext(315804)] HRESULT SetIndex([in] float val);
  2719. [helpcontext(315805)] HRESULT GetIndex([out,retval] float *val);
  2720. [helpcontext(315806)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2721. [helpcontext(315807)] HRESULT SetPosition( [in] Direct3DRMFrame3 *reference, [in] float x,
  2722. [in] float y, [in] float z);
  2723. [helpcontext(315808)] HRESULT SetQuaternion([in]Direct3DRMFrame3 *reference,D3DRMQUATERNION *quat);
  2724. [helpcontext(315809)] HRESULT SetRotation( [in] Direct3DRMFrame3 *reference, [in] float x,
  2725. [in] float y, [in] float z, [in] float theta);
  2726. [helpcontext(315810)] HRESULT SetVelocity( [in] Direct3DRMFrame3 *reference, [in] float x,
  2727. [in] float y, [in] float z, [in] DBOOLFlags with_rotation);
  2728. [helpcontext(315811)] HRESULT SetOrientation( [in] Direct3DRMFrame3 *reference, [in] float dx,
  2729. [in] float dy, [in] float dz, [in] float ux,
  2730. [in] float uy, [in] float uz);
  2731. [helpcontext(315812)] HRESULT SetSceneBackground([in] D3Dcolor c);
  2732. [helpcontext(315813)] HRESULT SetSceneFogColor([in] D3Dcolor c);
  2733. [helpcontext(315814)] HRESULT SetSceneBackgroundRGB([in] float r, [in] float g, [in] float b);
  2734. [helpcontext(315815)] HRESULT SetSceneFogParams([in] float start, [in] float end, [in] float density);
  2735. [helpcontext(315816)] HRESULT SetColor([in] D3Dcolor c);
  2736. [helpcontext(315817)] HRESULT SetColorRGB([in] float r, [in] float g, [in] float b);
  2737. };
  2738. [
  2739. object,
  2740. uuid(5F4637E3-62AC-11d2-90B1-00C04FC2C602),
  2741. helpstring("Direct3DRMeshInterpolator Interface"),
  2742. pointer_default(unique),
  2743. local,
  2744. // hidden,
  2745. helpcontext(316000)
  2746. ]
  2747. interface Direct3DRMMeshInterpolator : IUnknown
  2748. {
  2749. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2750. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2751. [helpcontext(316001)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2752. [helpcontext(316002)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2753. [helpcontext(316003)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2754. [helpcontext(316004)] HRESULT SetIndex([in] float val);
  2755. [helpcontext(316005)] HRESULT GetIndex([out,retval] float *val);
  2756. [helpcontext(316006)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2757. [helpcontext(316007)] HRESULT Translate([in] float tx, [in] float ty, [in] float tz);
  2758. [helpcontext(316008)] HRESULT SetVertices([in] D3DRMGroupIndex id, [in] long idx, [in] long count, [in] SAFEARRAY(D3DRMVERTEX) *vertexArray);
  2759. [helpcontext(316009)] HRESULT SetGroupColor([in] D3DRMGroupIndex id, [in] d3dcolor val);
  2760. [helpcontext(316010)] HRESULT SetGroupColorRGB([in] D3DRMGroupIndex id, [in] float r,[in] float g, [in] float b);
  2761. };
  2762. [
  2763. object,
  2764. uuid(5F4637E4-62AC-11d2-90B1-00C04FC2C602),
  2765. helpstring("Direct3DRMLightInterpolator Interface"),
  2766. pointer_default(unique),
  2767. local,
  2768. //hidden,
  2769. helpcontext(316200)
  2770. ]
  2771. interface Direct3DRMLightInterpolator : IUnknown
  2772. {
  2773. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2774. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2775. [helpcontext(316201)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2776. [helpcontext(316202)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2777. [helpcontext(316203)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2778. [helpcontext(316204)] HRESULT SetIndex([in] float val);
  2779. [helpcontext(316205)] HRESULT GetIndex([out,retval] float *val);
  2780. [helpcontext(316206)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2781. //
  2782. // IDirect3DRMLight methods - docdoc: based on iD3DRMObject!
  2783. //
  2784. [helpcontext(316207)] HRESULT SetColor([in] D3Dcolor c);
  2785. [helpcontext(316208)] HRESULT SetColorRGB([in] float r, [in] float g, [in] float b);
  2786. [helpcontext(316209)] HRESULT SetRange([in] float rng);
  2787. [helpcontext(316210)] HRESULT SetUmbra([in] float u);
  2788. [helpcontext(316211)] HRESULT SetPenumbra([in] float p);
  2789. [helpcontext(316212)] HRESULT SetConstantAttenuation([in] float atn);
  2790. [helpcontext(316213)] HRESULT SetLinearAttenuation([in] float atn);
  2791. [helpcontext(316214)] HRESULT SetQuadraticAttenuation([in] float atn);
  2792. };
  2793. [
  2794. object,
  2795. uuid(5F4637E5-62AC-11d2-90B1-00C04FC2C602),
  2796. helpstring("Direct3DRMTextureInterpolator Interface"),
  2797. pointer_default(unique),
  2798. local,
  2799. //hidden,
  2800. helpcontext(316400)
  2801. ]
  2802. interface Direct3DRMTextureInterpolator : IUnknown
  2803. {
  2804. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2805. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2806. [helpcontext(316401)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2807. [helpcontext(316402)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2808. [helpcontext(316403)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2809. [helpcontext(316404)] HRESULT SetIndex([in] float val);
  2810. [helpcontext(316405)] HRESULT GetIndex([out,retval] float *val);
  2811. [helpcontext(316406)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2812. [helpcontext(316407)] HRESULT SetDecalOrigin([in] long x, [in] long y);
  2813. [helpcontext(316408)] HRESULT SetDecalSize([in] float width, [in] float height);
  2814. [helpcontext(316409)] HRESULT SetDecalTransparentColor([in] D3Dcolor tcolor);
  2815. };
  2816. [
  2817. object,
  2818. uuid(5F4637E6-62AC-11d2-90B1-00C04FC2C602),
  2819. helpstring("Direct3DRMMaterialInterpolator Interface"),
  2820. pointer_default(unique),
  2821. local,
  2822. //hidden,
  2823. helpcontext(316600)
  2824. ]
  2825. interface Direct3DRMMaterialInterpolator : IUnknown
  2826. {
  2827. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2828. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2829. [helpcontext(316601)] HRESULT AttachObject([in] Direct3DRMObject *rmObject);
  2830. [helpcontext(316602)] HRESULT DetachObject([in] Direct3DRMObject *rmObject);
  2831. [helpcontext(316603)] HRESULT GetAttachedObjects([out,retval] Direct3DRMObjectArray **rmArray);
  2832. [helpcontext(316604)] HRESULT SetIndex([in] float val);
  2833. [helpcontext(316605)] HRESULT GetIndex([out,retval] float *val);
  2834. [helpcontext(316606)] HRESULT Interpolate([in] float val, [in] Direct3DRMObject *rmobject, [in] D3DRMInterpolationFlags options);
  2835. [helpcontext(316607)] HRESULT SetPower([in] float power);
  2836. [helpcontext(316608)] HRESULT SetSpecular([in] float red, [in] float green, [in] float blue);
  2837. [helpcontext(316609)] HRESULT SetEmissive([in] float red, [in] float green, [in] float blue);
  2838. };
  2839. ///////////////////////////////////////////////////////////////////////////
  2840. //
  2841. // DirectMusic
  2842. //
  2843. ///////////////////////////////////////////////////////////////////////////
  2844. #define MUSIC_TIME long
  2845. #define REFERENCE_TIME long
  2846. [
  2847. object,
  2848. uuid(FAFA35A0-8B72-11d2-90B2-00C04FC2C602),
  2849. helpstring("DirectMusicLoader Interface"),
  2850. pointer_default(unique),
  2851. local,
  2852. helpcontext(316800)
  2853. ]
  2854. interface DirectMusicLoader : IUnknown
  2855. {
  2856. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2857. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2858. // in place of GetObject we can have a function for each type -
  2859. // load from Resource
  2860. [helpcontext(316801)] HRESULT LoadSegment([in]BSTR filename, [out,retval] DirectMusicSegment **ret);
  2861. [helpcontext(316802)] HRESULT LoadStyle([in]BSTR filename, [out,retval] DirectMusicStyle **ret);
  2862. [helpcontext(316803)] HRESULT LoadBand([in]BSTR filename, [out,retval] DirectMusicBand **ret);
  2863. [helpcontext(316804)] HRESULT LoadCollection([in]BSTR filename, [out,retval] DirectMusicCollection **ret);
  2864. [helpcontext(316805)] HRESULT LoadSegmentFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] DirectMusicSegment **ret);
  2865. [helpcontext(316806)] HRESULT LoadStyleFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] DirectMusicStyle **ret);
  2866. [helpcontext(316807)] HRESULT LoadBandFromResource([in]BSTR moduleName,[in] BSTR resourceName, [out,retval] DirectMusicBand **ret);
  2867. [helpcontext(316808)] HRESULT LoadCollectionFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] DirectMusicCollection **ret);
  2868. [helpcontext(316809)] HRESULT SetSearchDirectory([in] BSTR dir);
  2869. [helpcontext(316810)] HRESULT LoadChordMap([in]BSTR filename, [out,retval] DirectMusicChordMap **ret);
  2870. [helpcontext(316811)] HRESULT LoadChordMapFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] DirectMusicChordMap **ret);
  2871. };
  2872. [
  2873. object,
  2874. uuid(FAFA35A1-8B72-11d2-90B2-00C04FC2C602),
  2875. helpstring("DirectMusicSegment Interface"),
  2876. pointer_default(unique),
  2877. local,
  2878. helpcontext(317000)
  2879. ]
  2880. interface DirectMusicSegment : IUnknown
  2881. {
  2882. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2883. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2884. /* DirectMusicSegment */
  2885. [helpcontext(317001)] HRESULT Clone ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd, [out,retval] DirectMusicSegment** ppSegment);
  2886. [helpcontext(317002)] HRESULT SetStartPoint ([in] MUSIC_TIME mtStart) ;
  2887. [helpcontext(317003)] HRESULT GetStartPoint ([out,retval] MUSIC_TIME* pmtStart);
  2888. [helpcontext(317004)] HRESULT SetLoopPoints ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd);
  2889. [helpcontext(317005)] HRESULT GetLoopPointStart ([out,retval] MUSIC_TIME* pmtStart);
  2890. [helpcontext(317006)] HRESULT GetLoopPointEnd ([out,retval] MUSIC_TIME* pmtEnd);
  2891. [helpcontext(317007)] HRESULT GetLength ([out,retval] MUSIC_TIME* pmtLength);
  2892. [helpcontext(317008)] HRESULT SetLength ([in] MUSIC_TIME mtLength);
  2893. [helpcontext(317009)] HRESULT GetRepeats ([out,retval] long* lRepeats);
  2894. [helpcontext(317010)] HRESULT SetRepeats ([in] long lRepeats) ;
  2895. //track params
  2896. [helpcontext(317011)] HRESULT Download( [in] DirectMusicPerformance *performance);
  2897. [helpcontext(317012)] HRESULT Unload( [in] DirectMusicPerformance *performance);
  2898. [helpcontext(317013)] HRESULT SetAutoDownloadEnable ( [in] VARIANT_BOOL b);
  2899. [helpcontext(317014)] HRESULT SetTempoEnable ( [in] VARIANT_BOOL b);
  2900. [helpcontext(317015)] HRESULT SetTimeSigEnable ( [in] VARIANT_BOOL b);
  2901. [helpcontext(317016)] HRESULT SetStandardMidiFile( );
  2902. [helpcontext(317017)] HRESULT ConnectToCollection ( [in] DirectMusicCollection *c);
  2903. };
  2904. [
  2905. object,
  2906. uuid(FAFA35A2-8B72-11d2-90B2-00C04FC2C602),
  2907. helpstring("DirectMusicComposer Interface"),
  2908. pointer_default(unique),
  2909. local,
  2910. helpcontext(317200)
  2911. ]
  2912. interface DirectMusicComposer : IUnknown
  2913. {
  2914. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2915. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2916. [helpcontext(317201)] HRESULT AutoTransition ([in] DirectMusicPerformance* performance,
  2917. [in] DirectMusicSegment* toSeg,
  2918. [in] long lCommand,
  2919. [in] long lFlags,
  2920. [in] DirectMusicChordMap *chordmap,
  2921. [out,retval] DirectMusicSegment** ppTransSeg);
  2922. [helpcontext(317202)] HRESULT ComposeSegmentFromTemplate ([in] DirectMusicStyle* style,
  2923. [in] DirectMusicSegment* templateSeg,
  2924. [in] short activity,
  2925. [in] DirectMusicChordMap *chordmap,
  2926. [out,retval] DirectMusicSegment** SectionSeg);
  2927. [helpcontext(317203)] HRESULT ComposeSegmentFromShape ( [in] DirectMusicStyle* style,
  2928. [in] short numberOfMeasures,
  2929. [in] short shape,
  2930. [in] short activity,
  2931. [in] VARIANT_BOOL bIntro,
  2932. [in] VARIANT_BOOL bEnd,
  2933. [in] DirectMusicChordMap *chordmap,
  2934. [out,retval] DirectMusicSegment** SectionSeg);
  2935. [helpcontext(317204)] HRESULT ComposeTransition ([in] DirectMusicSegment* fromSeg,
  2936. [in] DirectMusicSegment* toSeg,
  2937. [in] MUSIC_TIME mtTime,
  2938. [in] long lCommand,
  2939. [in] long lFlags,
  2940. [in] DirectMusicChordMap *chordmap,
  2941. [out,retval] DirectMusicSegment** SectionSeg);
  2942. [helpcontext(317205)] HRESULT ComposeTemplateFromShape ([in] short numMeasures,
  2943. [in] short shape,
  2944. [in] VARIANT_BOOL bIntro,
  2945. [in] VARIANT_BOOL bEnd,
  2946. [in] short endLength,
  2947. [out,retval] DirectMusicSegment** TempSeg);
  2948. [helpcontext(317206)] HRESULT ChangeChordMap([in] DirectMusicSegment* segment,[in] VARIANT_BOOL trackScale, [in] DirectMusicChordMap* ChordMap);
  2949. };
  2950. [
  2951. object,
  2952. uuid(FAFA35A3-8B72-11d2-90B2-00C04FC2C602),
  2953. helpstring("DirectMusicBand Interface"),
  2954. pointer_default(unique),
  2955. local,
  2956. helpcontext(317400)
  2957. ]
  2958. interface DirectMusicBand : IUnknown
  2959. {
  2960. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2961. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2962. [helpcontext(317401)] HRESULT CreateSegment([out,retval] DirectMusicSegment **ret);
  2963. [helpcontext(317402)] HRESULT Download([in] DirectMusicPerformance *performance);
  2964. [helpcontext(317403)] HRESULT Unload([in] DirectMusicPerformance *performance);
  2965. };
  2966. [
  2967. object,
  2968. uuid(FAFA35A4-8B72-11d2-90B2-00C04FC2C602),
  2969. helpstring("DirectMusicStyle Interface"),
  2970. pointer_default(unique),
  2971. local,
  2972. helpcontext(317600)
  2973. ]
  2974. interface DirectMusicStyle : IUnknown
  2975. {
  2976. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2977. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2978. [helpcontext(317601)] HRESULT GetBandName([in] long index,[out,retval] BSTR *name);
  2979. [helpcontext(317602)] HRESULT GetBandCount([out,retval] long *count);
  2980. [helpcontext(317603)] HRESULT GetBand([in] BSTR name,[out,retval] DirectMusicBand **ret);
  2981. [helpcontext(317604)] HRESULT GetDefaultBand([out,retval] DirectMusicBand **ret);
  2982. [helpcontext(317605)] HRESULT GetMotifName([in] long index,[out,retval] BSTR *name);
  2983. [helpcontext(317606)] HRESULT GetMotifCount([out,retval] long *count);
  2984. [helpcontext(317607)] HRESULT GetMotif([in] BSTR name,[out,retval] DirectMusicSegment **ret);
  2985. [helpcontext(317608)] HRESULT GetTimeSignature( [in,out] DMUS_TIMESIGNATURE* pTimeSig);
  2986. [helpcontext(317609)] HRESULT GetTempo([out,retval] double *pTempo);
  2987. };
  2988. [
  2989. object,
  2990. uuid(FAFA35A5-8B72-11d2-90B2-00C04FC2C602),
  2991. helpstring("DirectMusicChordMap Interface"),
  2992. pointer_default(unique),
  2993. local,
  2994. helpcontext(317800)
  2995. ]
  2996. interface DirectMusicChordMap : IUnknown
  2997. {
  2998. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2999. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3000. [hidden] HRESULT GetScale([out,retval] long *scale);
  3001. };
  3002. [
  3003. object,
  3004. uuid(FAFA35A6-8B72-11d2-90B2-00C04FC2C602),
  3005. helpstring("DirectMusicSegmentState Interface"),
  3006. pointer_default(unique),
  3007. local,
  3008. helpcontext(318000)
  3009. ]
  3010. interface DirectMusicSegmentState : IUnknown
  3011. {
  3012. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3013. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3014. [helpcontext(318001)] HRESULT GetRepeats([out,retval] long *repeats);
  3015. [helpcontext(318002)] HRESULT GetSeek([out,retval] MUSIC_TIME *seek);
  3016. [helpcontext(318003)] HRESULT GetStartPoint([out,retval] MUSIC_TIME *seek);
  3017. [helpcontext(318004)] HRESULT GetStartTime([out,retval] MUSIC_TIME *seek);
  3018. [helpcontext(318005)] HRESULT GetSegment([out,retval] DirectMusicSegment **segment);
  3019. };
  3020. [
  3021. object,
  3022. uuid(FAFA35A7-8B72-11d2-90B2-00C04FC2C602),
  3023. helpstring("DirectMusicPerformance Interface"),
  3024. pointer_default(unique),
  3025. local,
  3026. helpcontext(318200)
  3027. ]
  3028. interface DirectMusicPerformance : IUnknown
  3029. {
  3030. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3031. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3032. [helpcontext(318201)] HRESULT Init ([in] DirectSound *DirectSound, [in] long hWnd) ;
  3033. [helpcontext(318202)] HRESULT CloseDown ();
  3034. [helpcontext(318203)] HRESULT PlaySegment ([in] DirectMusicSegment* segment,
  3035. [in] long lFlags,
  3036. [in] long startTime,
  3037. [out,retval] DirectMusicSegmentState** segmentState);
  3038. [helpcontext(318204)] HRESULT Stop ([in] DirectMusicSegment* segment,
  3039. [in] DirectMusicSegmentState *segmentState,
  3040. [in] MUSIC_TIME mtTime,
  3041. [in] long lFlags) ;
  3042. [helpcontext(318205)] HRESULT GetSegmentState ([in] MUSIC_TIME mtTime, [out,retval] DirectMusicSegmentState **ret);
  3043. [helpcontext(318206)] HRESULT Invalidate ([in] MUSIC_TIME mtTime, [in] long flags);
  3044. [helpcontext(318207)] HRESULT IsPlaying ([in] DirectMusicSegment* segment, [in] DirectMusicSegmentState* segmentState,[out,retval] VARIANT_BOOL *b);
  3045. [helpcontext(318208)] HRESULT AddNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
  3046. [helpcontext(318209)] HRESULT RemoveNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
  3047. [helpcontext(318210)] HRESULT SetNotificationHandle([in] long hnd);
  3048. [helpcontext(318211)] HRESULT GetNotificationPMSG ([in,out] DMUS_NOTIFICATION_PMSG *message,[out,retval] VARIANT_BOOL *success);
  3049. [helpcontext(318212)] HRESULT MusicToClockTime ([in] MUSIC_TIME mtTime,[out,retval] REFERENCE_TIME *ctTime);
  3050. [helpcontext(318213)] HRESULT ClockToMusicTime ([in] REFERENCE_TIME ctTime,[out,retval] MUSIC_TIME *mtTime);
  3051. [helpcontext(318214)] HRESULT GetMusicTime ([out,retval] MUSIC_TIME* ret);
  3052. [helpcontext(318215)] HRESULT GetClockTime ([out,retval] REFERENCE_TIME* ret);
  3053. [helpcontext(318216)] HRESULT GetPrepareTime ([out,retval] long *lMilliSeconds);
  3054. [helpcontext(318217)] HRESULT GetBumperLength ([out,retval] long *lMilliSeconds);
  3055. [helpcontext(318218)] HRESULT GetLatencyTime ([out,retval] REFERENCE_TIME *ctTime);
  3056. [helpcontext(318219)] HRESULT GetQueueTime ([out,retval] REFERENCE_TIME *ctTime);
  3057. [helpcontext(318220)] HRESULT GetResolvedTime ([in] REFERENCE_TIME ctTime, [in] long flags, [out,retval] REFERENCE_TIME *ret);
  3058. [helpcontext(318221)] HRESULT SetPrepareTime ([in] long lMilliSeconds);
  3059. [helpcontext(318222)] HRESULT SetBumperLength ([in] long lMilliSeconds) ;
  3060. [helpcontext(318223)] HRESULT AdjustTime ([in] long tAmount);
  3061. //global params
  3062. [helpcontext(318224)] HRESULT SetMasterAutoDownload ([in] VARIANT_BOOL b);
  3063. [helpcontext(318225)] HRESULT GetMasterAutoDownload ([out,retval] VARIANT_BOOL *b);
  3064. [helpcontext(318226)] HRESULT SetMasterTempo ([in] float tempo);
  3065. [helpcontext(318227)] HRESULT GetMasterTempo ([out,retval] float *tempo);
  3066. [helpcontext(318228)] HRESULT SetMasterVolume ([in] long vol);
  3067. [helpcontext(318229)] HRESULT GetMasterVolume ([out,retval] long *v);
  3068. [helpcontext(318230)] HRESULT SetMasterGrooveLevel ([in] short level);
  3069. [helpcontext(318231)] HRESULT GetMasterGrooveLevel ([out,retval] short *level);
  3070. [helpcontext(318232)] HRESULT Reset([in] long resetflags );
  3071. [helpcontext(318233)] HRESULT GetStyle([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] DirectMusicStyle **ret);
  3072. [helpcontext(318234)] HRESULT GetChordMap([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] DirectMusicChordMap **ret);
  3073. [helpcontext(318235)] HRESULT GetCommand([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *command) ;
  3074. [helpcontext(318236)] HRESULT GetGrooveLevel([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *level) ;
  3075. [helpcontext(318237)] HRESULT GetTempo([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] double *tempo) ;
  3076. [helpcontext(318238)] HRESULT GetTimeSig([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[in,out] DMUS_TIMESIGNATURE *timeSig) ;
  3077. [helpcontext(318239)] HRESULT SendNotePMSG([in] MUSIC_TIME lTime,
  3078. [in] long flags,
  3079. [in] long channel,
  3080. [in] DMUS_NOTE_PMSG *msg);
  3081. [helpcontext(318240)] HRESULT SendCurvePMSG([in] MUSIC_TIME lTime,
  3082. [in] long flags,
  3083. [in] long channel,
  3084. [in] DMUS_CURVE_PMSG *msg);
  3085. [helpcontext(318241)] HRESULT SendMIDIPMSG([in] MUSIC_TIME lTime,
  3086. [in] long flags,
  3087. [in] long channel,
  3088. [in] Byte status,
  3089. [in] Byte byte1,
  3090. [in] Byte byte2);
  3091. [helpcontext(318242)] HRESULT SendPatchPMSG([in] MUSIC_TIME lTime,
  3092. [in] long flags,
  3093. [in] long channel,
  3094. [in] Byte instrument,
  3095. [in] Byte byte1,
  3096. [in] Byte byte2);
  3097. [helpcontext(318243)] HRESULT SendTempoPMSG([in] MUSIC_TIME lTime,
  3098. [in] long flags,
  3099. // [in] long channel,
  3100. [in] double tempo);
  3101. [helpcontext(318244)] HRESULT SendTransposePMSG([in] MUSIC_TIME lTime,
  3102. [in] long flags,
  3103. [in] long channel,
  3104. [in] short transpose);
  3105. [helpcontext(318245)] HRESULT SendTimeSigPMSG([in] MUSIC_TIME lTime,
  3106. [in] long flags,
  3107. [in] DMUS_TIMESIGNATURE *timesig);
  3108. [helpcontext(318246)] HRESULT GetPortName([in] long index,[out,retval] BSTR *name);
  3109. [helpcontext(318247)] HRESULT GetPortCount([out,retval] long *c);
  3110. [helpcontext(318248)] HRESULT GetPortCaps([in] long index,[in,out] DMUS_PORTCAPS *caps);
  3111. [helpcontext(318249)] HRESULT SetPort([in] long index,[in] long numGroups);
  3112. };
  3113. [
  3114. object,
  3115. uuid(FAFA35A8-8B72-11d2-90B2-00C04FC2C602),
  3116. helpstring("DirectMusicCollection Interface"),
  3117. pointer_default(unique),
  3118. local,
  3119. helpcontext(318400)
  3120. ]
  3121. interface DirectMusicCollection : IUnknown
  3122. {
  3123. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3124. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3125. };
  3126. ///////////////////////////////////////////////////////////////////////////
  3127. //
  3128. // Other
  3129. //
  3130. ///////////////////////////////////////////////////////////////////////////
  3131. [
  3132. object,
  3133. uuid(FAFA35B0-8B72-11d2-90B2-00C04FC2C602),
  3134. helpstring("DirectXEvent Interface"),
  3135. pointer_default(unique),
  3136. oleautomation,
  3137. helpcontext(318600)
  3138. ]
  3139. interface DirectXEvent : IUnknown
  3140. {
  3141. [helpcontext(318601)] HRESULT DXCallback([in] long eventid);
  3142. };
  3143. #if FALSE
  3144. [
  3145. object,
  3146. uuid(FAFA35B1-8B72-11d2-90B2-00C04FC2C602),
  3147. helpstring("WebObject Interface"),
  3148. pointer_default(unique),
  3149. oleautomation,
  3150. hidden,
  3151. helpcontext(318800)
  3152. ]
  3153. interface DirectWeb : IUnknown
  3154. {
  3155. [helpcontext(318801)] HRESULT LoadPage([in]BSTR page,[in]int w, [in]int h);
  3156. [helpcontext(318802)] HRESULT DrawToDC([in]long hdc,[in]int w, [in]int h);
  3157. [helpcontext(318803)] HRESULT GetReadyState([out,retval]BSTR *ret);
  3158. [helpcontext(318804)] HRESULT GetHeight([in]int *height);
  3159. [helpcontext(318805)] HRESULT GetWidth([in]int *width);
  3160. [helpcontext(318806)] HRESULT Click([in] int x, [in] int y);
  3161. };
  3162. #endif
  3163. [
  3164. object,
  3165. uuid(FAFA3599-8B72-11d2-90B2-00C04FC2C602),
  3166. helpstring("DirectX7 root object functions"),
  3167. pointer_default(unique),
  3168. helpcontext(319000)
  3169. ]
  3170. interface IDirectX7 : IUnknown
  3171. {
  3172. import "oaidl.idl";
  3173. [helpcontext(319001)] HRESULT Direct3DRMCreate([out,retval] Direct3dRM3 **ret);
  3174. [helpcontext(319002)] HRESULT DirectDrawCreate([in] BSTR guid, [out,retval] DirectDraw7 **ret);
  3175. [helpcontext(319003)] HRESULT GetDDEnum([out,retval] DirectDrawEnum **ret);
  3176. [helpcontext(319004)] HRESULT DirectSoundCreate([in] BSTR guid, [out,retval] DirectSound **ret);
  3177. [helpcontext(319005)] HRESULT DirectSoundCaptureCreate([in] BSTR guid, [out,retval] DirectSoundCapture **ret);
  3178. [helpcontext(319006)] HRESULT GetDSEnum([out,retval] DirectSoundEnum **retVal);
  3179. [helpcontext(319007)] HRESULT GetDSCaptureEnum([out,retval] DirectSoundEnum **retVal);
  3180. [helpcontext(319008)] HRESULT DirectInputCreate([out,retval]DirectInput **ret);
  3181. [helpcontext(319009)] HRESULT DirectPlayCreate([in] BSTR guid, [out,retval] DirectPlay4 **ret);
  3182. [helpcontext(319010)] HRESULT DirectPlayLobbyCreate([out,retval] DirectPlayLobby3 **ret);
  3183. [hidden] HRESULT GetDPEnum([out,retval]DirectPlayEnumServiceProviders **retval);
  3184. [helpcontext(319011)] HRESULT ColorGetAlpha([in] long color,[out,retval] float *ret);
  3185. [helpcontext(319012)] HRESULT ColorGetBlue([in] long color,[out,retval] float *ret);
  3186. [helpcontext(319013)] HRESULT ColorGetGreen([in] long color,[out,retval] float *ret);
  3187. [helpcontext(319014)] HRESULT ColorGetRed([in] long color,[out,retval] float *ret);
  3188. [helpcontext(319015)] HRESULT CreateColorRGB([in] float r,[in] float g,[in] float b,[out,retval]long *color);
  3189. [helpcontext(319016)] HRESULT CreateColorRGBA([in] float r,[in] float g,[in] float b,[in] float a,[out,retval]long *color);
  3190. [helpcontext(319017)] HRESULT MatrixFromQuaternion([out] D3DMatrix *matrix, [in] D3DRMQUATERNION *quat);
  3191. [helpcontext(319018)] HRESULT QuaternionRotation([out] D3DRMQUATERNION *quat,[in]D3DVECTOR *axis, [in]float theta);
  3192. [helpcontext(319019)] HRESULT QuaternionMultiply([out] D3DRMQUATERNION *quat,[in] D3DRMQUATERNION *quatA,[in] D3DRMQUATERNION *quatB);
  3193. [helpcontext(319020)] HRESULT QuaternionSlerp([out] D3DRMQUATERNION *quat,[in] D3DRMQUATERNION *quatA,[in] D3DRMQUATERNION *quatB, [in] float alpha);
  3194. [helpcontext(319021)] HRESULT VectorAdd([out] D3DVECTOR *v,[in]D3DVECTOR *vA,[in]D3DVECTOR *vB);
  3195. [helpcontext(319022)] HRESULT VectorCrossProduct([out] D3DVECTOR *v,[in]D3DVECTOR *vA,[in]D3DVECTOR *vB);
  3196. [helpcontext(319023)] HRESULT VectorDotProduct([in]D3DVECTOR *vA,[in]D3DVECTOR *vB,[out,retval] float *ret);
  3197. [helpcontext(319024)] HRESULT VectorModulus([in]D3DVECTOR *vA,[out,retval] float *ret);
  3198. [helpcontext(319025)] HRESULT VectorNormalize([in,out] D3DVECTOR *v);
  3199. [helpcontext(319026)] HRESULT VectorRandom([in,out] D3DVECTOR *v);
  3200. [helpcontext(319027)] HRESULT VectorReflect([out] D3DVECTOR *vDest,[in]D3DVECTOR *vRay,[in]D3DVECTOR *vNormal);
  3201. [helpcontext(319028)] HRESULT VectorRotate([out] D3DVECTOR *vDest,[in]D3DVECTOR *vA,[in]D3DVECTOR *vAxis,[in] float theta);
  3202. [helpcontext(319029)] HRESULT VectorScale([out] D3DVECTOR *vDest,[in]D3DVECTOR *vA,[in] float factor);
  3203. [helpcontext(319030)] HRESULT VectorSubtract([out] D3DVECTOR *v,[in]D3DVECTOR *vA,[in]D3DVECTOR *vB);
  3204. [helpcontext(319031)] HRESULT VectorCopy([in,out] D3DVECTOR *vDest, [in] D3DVECTOR *vSrc);
  3205. [helpcontext(319032)] HRESULT RotateXMatrix([in,out] D3DMATRIX *mDest,[in] float radians);
  3206. [helpcontext(319033)] HRESULT RotateYMatrix([in,out] D3DMATRIX *mDest,[in] float radians);
  3207. [helpcontext(319034)] HRESULT RotateZMatrix([in,out] D3DMATRIX *mDest,[in] float radians);
  3208. [helpcontext(319035)] HRESULT ViewMatrix([in,out] D3DMATRIX *mDest,[in] D3DVECTOR *vFrom, [in] D3DVECTOR *vTo, [in] D3DVECTOR *vUp, [in] float roll);
  3209. [helpcontext(319036)] HRESULT MatrixMultiply([in,out]D3DMATRIX *mDest,[in] D3DMATRIX *mA,[in] D3DMATRIX *mB);
  3210. [helpcontext(319037)] HRESULT ProjectionMatrix([in,out]D3DMATRIX *mDest,[in] float nearPlane, [in] float farplane, [in] float fov);
  3211. [helpcontext(319038)] HRESULT CopyMatrix([in,out]D3DMATRIX *mDest,[in] D3DMATRIX * mSrc);
  3212. [helpcontext(319039)] HRESULT IdentityMatrix([in,out]D3DMATRIX *mDest);
  3213. [helpcontext(319040)] HRESULT ZeroMatrix([in,out]D3DMATRIX *mDest);
  3214. [helpcontext(319041)] HRESULT TickCount([out,retval] long *retv);
  3215. [helpcontext(319042)] HRESULT SystemBpp([out, retval] long *retv);
  3216. [helpcontext(319043)] HRESULT DirectMusicLoaderCreate([out,retval] DirectMusicLoader **ret);
  3217. [helpcontext(319044)] HRESULT DirectMusicComposerCreate([out,retval] DirectMusicComposer **ret);
  3218. [helpcontext(319045)] HRESULT DirectMusicPerformanceCreate([out,retval] DirectMusicPerformance **ret);
  3219. [helpcontext(319046)] HRESULT GetWindowRect([in] long hwnd, [in,out] RECT *r);
  3220. [helpcontext(319047)] HRESULT CreateEvent([in] DirectXEvent *event,[out,retval] long *h);
  3221. [helpcontext(319048)] HRESULT SetEvent([in] long eventId);
  3222. [helpcontext(319049)] HRESULT DestroyEvent([in] long eventId);
  3223. [helpcontext(319050)] HRESULT CreateD3DVertex([in]float x, [in]float y, [in]float z, [in]float nx, [in]float ny, [in]float nz, [in]float tu, [in]float tv, [in,out] D3dVertex *v);
  3224. [helpcontext(319051)] HRESULT CreateD3DLVertex([in]float x, [in]float y, [in]float z,[in] long color, [in] long specular, [in] float tu, [in] float tv, [in,out] D3dLVertex *v);
  3225. [helpcontext(319052)] HRESULT CreateD3DTLVertex([in]float sx,[in] float sy,[in] float sz, [in]float rhw, [in]long color, [in]long specular, [in]float tu, [in]float tv, [in,out] D3dTLVertex *v);
  3226. [helpcontext(319053)] HRESULT DirectDraw4Create([in] BSTR guid,[out,retval] DirectDraw4 **ret);
  3227. //needs to be added to master help ids
  3228. [helpcontext(319054)] HRESULT CreateNewGuid([out,retval] BSTR *retGuid);
  3229. };
  3230. ///////////////////////////////////////////////////////////////////////////
  3231. [
  3232. object,
  3233. uuid(BCAA7DA2-F7EF-11d2-93FD-00C04FC2C602),
  3234. helpstring("IDirectDraw4 Interface"),
  3235. pointer_default(unique),
  3236. local,
  3237. helpcontext(305600)
  3238. ]
  3239. interface DirectDraw4 : IUnknown
  3240. {
  3241. import "oaidl.idl";
  3242. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3243. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3244. [helpcontext(305601)] HRESULT CreateClipper([in] long flags, [out, retval] DirectDrawClipper **val);
  3245. [helpcontext(305602)] HRESULT CreatePalette([in] DDPCapsFlags flags, [in] SAFEARRAY(APAL) *pe, [out, retval] DirectDrawPalette **val);
  3246. [helpcontext(305603)] HRESULT CreateSurface([in] DDSURFACEDESC2 *dd, [out, retval] DirectDrawSurface4 **retv);
  3247. [helpcontext(305604)] HRESULT CreateSurfaceFromFile([in] BSTR file, [in,out] DDSURFACEDESC2 *dd, [out, retval] DirectDrawSurface4 **retv);
  3248. [helpcontext(305605)] HRESULT CreateSurfaceFromResource([in] BSTR file, [in] BSTR resName, [in,out] DDSURFACEDESC2 *ddsd, [out, retval] DirectDrawSurface4 **retv);
  3249. [helpcontext(305606)] HRESULT DuplicateSurface([in] DirectDrawSurface4 *ddIn,[out, retval] DirectDrawSurface4 **ddOut);
  3250. [helpcontext(305607)] HRESULT FlipToGDISurface();
  3251. [helpcontext(305608)] HRESULT GetAvailableTotalMem([in] DDSCAPS2 *ddsCaps, [out, retval] long *m);
  3252. [helpcontext(305609)] HRESULT GetCaps([in,out] DDCAPS *hwCaps, [in,out] DDCAPS *helCaps);
  3253. [helpcontext(305611)] HRESULT GetDisplayMode( [in,out] DDSURFACEDESC2 *surface);
  3254. [helpcontext(305612)] HRESULT GetDisplayModesEnum([in] DDEDMFlags flags,[in] DDSURFACEDESC2 *ddsd,[out,retval] DirectDrawEnumModes **retval);
  3255. [helpcontext(305613)] HRESULT GetFourCCCodes( [in,out] SAFEARRAY(long) *ccCodes);
  3256. [helpcontext(305614)] HRESULT GetFreeMem( [in] DDSCAPS2 *ddsCaps, [out, retval] long *m);
  3257. [helpcontext(305615)] HRESULT GetGDISurface( [out, retval] DirectDrawSurface4 **s);
  3258. [helpcontext(305616)] HRESULT GetMonitorFrequency([out, retval] long *freq);
  3259. [helpcontext(305617)] HRESULT GetNumFourCCCodes([out, retval] long *nCodes);
  3260. [helpcontext(305618)] HRESULT GetScanLine([in,out] long *lines, [out, retval] long *status);
  3261. [helpcontext(305619)] HRESULT GetSurfaceFromDC([in] long hdc,[out,retval] DirectDrawSurface4 **retv);
  3262. [helpcontext(305621)] HRESULT GetVerticalBlankStatus([out, retval] long *status);
  3263. [helpcontext(305622)] HRESULT LoadPaletteFromBitmap([in] BSTR bName, [out, retval] DirectDrawPalette **retv);
  3264. [helpcontext(305623)] HRESULT RestoreAllSurfaces();
  3265. [helpcontext(305624)] HRESULT RestoreDisplayMode();
  3266. [helpcontext(305625)] HRESULT SetCooperativeLevel([in] HWnd hdl, [in] DDSCLFlags flags);
  3267. [helpcontext(305626)] HRESULT SetDisplayMode([in] long w, [in] long h, [in] long bpp, [in] long ref,[in] DDSDMFlags mode);
  3268. [helpcontext(305627)] HRESULT TestCooperativeLevel([out,retval] long *status);
  3269. [helpcontext(305628)] HRESULT WaitForVerticalBlank([in] DDWaitVBFlags flags, [in] long handle, [out, retval] long *status);
  3270. };
  3271. [
  3272. object,
  3273. uuid(BCAA7DA3-F7EF-11d2-93FD-00C04FC2C602),
  3274. helpstring("DirectDrawSurface4 Interface"),
  3275. pointer_default(unique),
  3276. local,
  3277. helpcontext(305800)
  3278. ]
  3279. interface DirectDrawSurface4 : IUnknown
  3280. {
  3281. import "oaidl.idl";
  3282. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  3283. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  3284. [helpcontext(305801)] HRESULT AddAttachedSurface( [in] DirectDrawSurface4 *ddS);
  3285. [helpcontext(305802)] HRESULT Blt( [in] RECT *destRect, [in] DirectDrawSurface4 *ddS, [in] RECT *srcRect, [in] DDBltFlags flags, [out, retval] long *status);
  3286. [helpcontext(305803)] HRESULT BltColorFill( [in] RECT *destRect, [in] long fillvalue, [out, retval] long *status );
  3287. [helpcontext(305804)] HRESULT BltFast( [in] long dx, [in] long dy, [in] DirectDrawSurface4 *dds, [in] RECT *srcRect, [in] DDBltFastFlags trans, [out, retval] long *status);
  3288. [helpcontext(305805)] HRESULT BltFx( [in] RECT *destRect, [in] DirectDrawSurface4 *ddS, [in] RECT *srcRect, [in] DDBltFlags flags, [in] DDBLTFX *bltfx, [out, retval] long *status );
  3289. [helpcontext(305806)] HRESULT BltToDC([in] long hdc, [in] RECT *srcRect, [in] RECT *destRect);
  3290. [helpcontext(305807)] HRESULT ChangeUniquenessValue();
  3291. [helpcontext(305808)] HRESULT DeleteAttachedSurface( [in] DirectDrawSurface4 *dds) ;
  3292. [helpcontext(305809)] HRESULT DrawBox([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3293. [helpcontext(305810)] HRESULT DrawCircle([in] long x1, [in] long y1, [in] long r);
  3294. [helpcontext(305811)] HRESULT DrawEllipse([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3295. [helpcontext(305812)] HRESULT DrawLine([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3296. [helpcontext(305813)] HRESULT DrawRoundedBox([in] long x1, [in] long y1, [in] long x2, [in] long y2,[in] long rw, [in] long rh);
  3297. [helpcontext(305814)] HRESULT DrawText([in] long x, [in] long y, [in] BSTR text, [in] VARIANT_BOOL b);
  3298. [helpcontext(305815)] HRESULT Flip( [in] DirectDrawSurface4 *dds, [in] DDFlipFlags flags);
  3299. [helpcontext(305816)] HRESULT GetAttachedSurface( [in] DDSCaps2 *caps, [out, retval] DirectDrawSurface4 **dds);
  3300. [helpcontext(305818)] HRESULT GetBltStatus([in] DDGFSFlags flags, [out, retval] long *status);
  3301. [helpcontext(305819)] HRESULT GetCaps( [in,out] DDSCAPS2 *caps);
  3302. [helpcontext(305820)] HRESULT GetClipper( [out, retval] DirectDrawClipper **val);
  3303. [helpcontext(305821)] HRESULT GetColorKey( [in] long flags, [in,out] DDCOLORKEY *val);
  3304. [helpcontext(305822)] HRESULT GetDC( [out, retval] long *hdc);
  3305. [helpcontext(305823)] HRESULT GetDirectDraw( [out, retval] DirectDraw4 **val);
  3306. [helpcontext(305826)] HRESULT getDrawStyle([out,retval] long *drawStyle);
  3307. [helpcontext(305827)] HRESULT getDrawWidth([out,retval] long *drawWidth);
  3308. [helpcontext(305828)] HRESULT GetFillColor([out,retval] long *color);
  3309. [helpcontext(305829)] HRESULT GetFillStyle([out,retval] long *fillStyle);
  3310. [helpcontext(305830)] HRESULT GetFlipStatus( [in] DDGfsFlags flags, [out, retval] long *status);
  3311. [helpcontext(305831)] HRESULT GetFontTransparency([out,retval] VARIANT_BOOL *b);
  3312. [helpcontext(305832)] HRESULT GetForeColor([out,retval] long *color);
  3313. [helpcontext(305833)] HRESULT GetLockedPixel([in] int x, [in] int y, [out,retval] long *col);
  3314. [helpcontext(305835)] HRESULT GetPalette( [out, retval] DirectDrawPalette **val);
  3315. [helpcontext(305836)] HRESULT GetPixelFormat( [in,out] DDPIXELFORMAT *pf);
  3316. [helpcontext(305837)] HRESULT GetSurfaceDesc([in,out] DDSURFACEDESC2 *surface);
  3317. [helpcontext(305838)] HRESULT GetUniquenessValue([out,retval] long *retVal);
  3318. [helpcontext(305839)] HRESULT isLost([out, retval] long *status);
  3319. [helpcontext(305840)] HRESULT Lock( [in] RECT *r, [in] DDSURFACEDESC2 *desc, [in] ddLockFlags flags, [in] Handle hnd);
  3320. [helpcontext(305841)] HRESULT ReleaseDC([in] long hdc);
  3321. [helpcontext(305842)] HRESULT restore();
  3322. [helpcontext(305843)] HRESULT SetClipper( [in] DirectDrawClipper *val) ;
  3323. [helpcontext(305844)] HRESULT SetColorKey( [in] DDCKeyFlags flags, [in] DDCOLORKEY *val);
  3324. [helpcontext(305845)] HRESULT setDrawStyle([in] long drawStyle);
  3325. [helpcontext(305846)] HRESULT setDrawWidth([in] long drawWidth);
  3326. [helpcontext(305847)] HRESULT SetFillColor([in] long color);
  3327. [helpcontext(305848)] HRESULT SetFillStyle([in] long fillStyle);
  3328. [helpcontext(305849)] HRESULT SetFont([in] IFont *font);
  3329. [helpcontext(305850)] HRESULT SetFontTransparency([in] VARIANT_BOOL b);
  3330. [helpcontext(305851)] HRESULT SetForeColor([in] long color);
  3331. [helpcontext(305852)] HRESULT SetLockedPixel([in] int x, [in] int y, [in] long col);
  3332. [helpcontext(305854)] HRESULT SetPalette([in] DirectDrawPalette *ddp);
  3333. [helpcontext(305855)] HRESULT Unlock( [in] RECT *r);
  3334. [helpcontext(305860)] HRESULT GetLockedArray([in] SAFEARRAY(byte) *array);
  3335. [helpcontext(305868)] HRESULT SetFontBackColor([in] long color);
  3336. [helpcontext(305869)] HRESULT GetFontBackColor([out,retval] long *color);
  3337. };
  3338. [
  3339. object,
  3340. uuid(BCAA7DA4-F7EF-11d2-93FD-00C04FC2C602),
  3341. helpstring("DirectDrawIdentifier Interface"),
  3342. pointer_default(unique),
  3343. local,
  3344. helpcontext(319600)
  3345. ]
  3346. interface DirectDrawIdentifier : IUnknown
  3347. {
  3348. import "oaidl.idl";
  3349. [helpcontext(319601)] HRESULT GetDriver([out,retval] BSTR *ret);
  3350. [helpcontext(319602)] HRESULT GetDescription([out,retval] BSTR *ret);
  3351. [helpcontext(319603)] HRESULT GetDriverVersion([out,retval] long *ret);
  3352. [helpcontext(319604)] HRESULT GetDriverSubVersion([out,retval] long *ret);
  3353. [helpcontext(319605)] HRESULT GetVendorId([out,retval] long *ret);
  3354. [helpcontext(319606)] HRESULT GetDeviceId([out,retval] long *ret);
  3355. [helpcontext(319607)] HRESULT GetSubSysId([out,retval] long *ret);
  3356. [helpcontext(319608)] HRESULT GetRevision([out,retval] long *ret);
  3357. [helpcontext(319609)] HRESULT GetDeviceIndentifier([out,retval] BSTR *ret);
  3358. [helpcontext(319610)] HRESULT GetWHQLLevel([out,retval] long *ret);
  3359. };
  3360. ///////////////////////////////////////////////////////////////////////////
  3361. importlib("stdole2.tlb");
  3362. [
  3363. uuid(E1211353-8E94-11d1-8808-00C04FC2C602),
  3364. helpstring("DirectX7"),
  3365. helpcontext(319800)
  3366. ]
  3367. coclass DirectX7 { [default] interface IDirectX7; };
  3368. };