


    //+-------------------------------------------------------------------------
    //
    //  Microsoft Windows
    //
    //  Copyright (C) Microsoft Corporation, 1998 - 2000
    //
    //  File:       direct.idl
    //
    //--------------------------------------------------------------------------
    	
    
    #define C_ONLY 1
    
    
    //
    // from windef.h
    #define	MAX_PATH	256
    
    //
    // from mmsystem.h 
    //
    #define MAXPNAMELEN 32			/* max product name length (including NULL) */
    #define MAX_JOYSTICKOEMVXDNAME 260		/* max oem vxd name length (including NULL) */
    
    
    #ifdef VB_ONLY
	#define _dxj_DirectX8    	DirectX8    
	#define I_dxj_DirectX8    	IDirectX8    
	#define I_dxj_Direct3D8		Direct3D8
    #else
	#define I_dxj_Direct3D8		IUnknown
    #endif
    
    
    
    
    #include "ocidl.idl"
    
    //
    // Base types 
    //
    import "wtypes.idl";	
    
    [
    	
  	 uuid(E1211242-8E94-11d1-8808-00C04FC2C603),
    	 version(1.0),
         helpstring("DirectX 8 for Visual Basic Type Library"),
     	 helpfile ("directx8_vb.chm")
    ]
    
    library DxVBLibA
    {
    

    #include "common.idl"    

    #include "d3di.idl"		//D3D8
    #include "dmi.idl"		//DMUSIC DSOUND
    #include "dii.idl"    	//DINPUT
    #include "dpi.idl"		//DPLAY DPLAYVOICE
    #include "d3dxmath.idl"	//D3DXMATH
    #include "d3dhelp.idl"	//D3DXMATH
    #include "dxf.idl"		//XOF FILE SUPPORT
    
    
    
    

    	[
    		object,
    	    uuid(E7FF1301-96A5-11d3-AC85-00C04FC2C602),
    		helpstring("DirectX8 root object functions"),
    		pointer_default(unique),
    		helpcontext(319000)
    
    	]
    	interface I_dxj_DirectX8 : IUnknown	
    	{
    		import "oaidl.idl";
    		
    		[helpcontext(319004)]		HRESULT directSoundCreate([in] BSTR guid, [out,retval] I_dxj_DirectSound **ret);
    		[helpcontext(319005)]		HRESULT directSoundCaptureCreate([in] BSTR guid, [out,retval] I_dxj_DirectSoundCapture **ret);
    		[helpcontext(319006)]		HRESULT getDSEnum([out,retval] I_dxj_DSEnum **retVal);
    		[helpcontext(319007)]		HRESULT getDSCaptureEnum([out,retval] I_dxj_DSEnum **retVal);		
		[helpcontext(86897)]		HRESULT directInputCreate([out,retval]I_dxj_DirectInput8 **ret);
    	    	    
    		[helpcontext(319043)]		HRESULT directMusicLoaderCreate([out,retval] I_dxj_DirectMusicLoader **ret);
    		[helpcontext(319044)]		HRESULT directMusicComposerCreate([out,retval] I_dxj_DirectMusicComposer **ret);
    		[helpcontext(319045)]		HRESULT directMusicPerformanceCreate([out,retval] I_dxj_DirectMusicPerformance **ret);
    
		#ifdef _WIN64
    		[helpcontext(86025)]		HRESULT createEvent([in] I_dxj_DirectXEvent8 *event,[out,retval] HANDLE *h);
    		[helpcontext(319048)]		HRESULT setEvent([in] HANDLE eventId);
    		[helpcontext(319049)]		HRESULT destroyEvent([in] HANDLE eventId);
		#else
    		[helpcontext(86025)]		HRESULT createEvent([in] I_dxj_DirectXEvent8 *event,[out,retval] LONG *h);
    		[helpcontext(319048)]		HRESULT setEvent([in] LONG eventId);
    		[helpcontext(319049)]		HRESULT destroyEvent([in] LONG eventId);
		#endif
    		
    		//needs to be added to master help ids
    		[helpcontext(319054)]		HRESULT createNewGuid([out,retval] BSTR *retGuid);
		[helpcontext(1)]		HRESULT DirectPlayVoiceClientCreate([out,retval] I_dxj_DirectPlayVoiceClient **ret);
  		[helpcontext(1)]		HRESULT DirectPlayVoiceServerCreate([out,retval] I_dxj_DirectPlayVoiceServer **ret);
  		[helpcontext(1)]		HRESULT DirectPlayVoiceTestCreate([out,retval] I_dxj_DirectPlayVoiceSetup **ret);
  		[helpcontext(86512)]		HRESULT DirectXFileCreate([out,retval] I_dxj_DirectXFile **ret);
  		[helpcontext(1)]		HRESULT DirectPlayPeerCreate([out,retval] I_dxj_DirectPlayPeer **ret);
  		[helpcontext(1)]		HRESULT DirectPlayServerCreate([out,retval] I_dxj_DirectPlayServer **ret);
  		[helpcontext(1)]		HRESULT DirectPlayClientCreate([out,retval] I_dxj_DirectPlayClient **ret);
  		[helpcontext(1)]		HRESULT DirectPlayAddressCreate([out,retval] I_dxj_DirectPlayAddress **ret);
		
		[helpcontext(1)]		HRESULT Direct3DCreate([out,retval] I_dxj_Direct3D8 **ret);
		[helpcontext(1)]		HRESULT DirectPlayLobbyClientCreate([out,retval] I_dxj_DirectPlayLobbyClient **ret);
		[helpcontext(1)]		HRESULT DirectPlayLobbiedApplicationCreate([out,retval] I_dxj_DirectPlayLobbiedApplication **ret);


    	};
    
    
    
    
    	///////////////////////////////////////////////////////////////////////////
	importlib("stdole2.tlb");
    
    
    	
    	[
    		uuid(E7FF1300-96A5-11d3-AC85-00C04FC2C602),
     		helpstring("DirectX8"),
    		helpcontext(319800)
    	]
        coclass _dxj_DirectX8 { 
		[default] interface I_dxj_DirectX8; 
	};
    	
    

    };
    
