Ada计算机图形DirectX之dsconf

----------------------------------------
-- File : dsconf.ads                  --
-- Translator:Dongfeng.Gu,2018/10/29  --
-- Mail: [email protected]                --
-- Progress:100%                      --
----------------------------------------

with win32;                        use win32;
with win32.Winreg;                 use win32.Winreg;
with win32.winnt;                  use win32.winnt;
with win32.windef;                 use win32.windef;
with win32.rpcdce;                 use win32.rpcdce;
with win32.Objbase;                use win32.Objbase;

package dsconf is

   --
   -- NOTICE:struct member Type to Typ,Inteface to Interfac
   --

   CLSID_DirectSoundPrivate:constant win32.rpcdce.GUID:=(16#11ab3ec0#,16#25ec#,16#11d1#,(16#a4#,16#d8#,16#0#,16#c0#,16#4f#,16#c2#,16#8a#,16#ca#));
   DSPROPSETID_DirectSoundDevice:constant win32.rpcdce.GUID:=(16#84624f82#,16#25ec#,16#11d1#,(16#a4#,16#d8#,16#0#,16#c0#,16#4f#,16#c2#,16#8a#,16#ca#));

   type DSPROPERTY_DIRECTSOUNDDEVICE is (DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W);
   for DSPROPERTY_DIRECTSOUNDDEVICE use (DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A=>1,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1=>2,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1=>3,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W=>4,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A=>5,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W=>6,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A=>7,
                                         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W=>8);



   -- DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING : constant := DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W;

   -- DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION : constant := DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W;

   -- DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE : constant := DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W;

   DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A;

   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A;

   DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A;

   -- DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A;

   -- DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1;

   -- DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE : constant DSPROPERTY_DIRECTSOUNDDEVICE:= DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1;

   type DIRECTSOUNDDEVICE_TYPE is (DIRECTSOUNDDEVICE_TYPE_EMULATED,
                                   DIRECTSOUNDDEVICE_TYPE_VXD,
                                   DIRECTSOUNDDEVICE_TYPE_WDM);
   

   type DIRECTSOUNDDEVICE_DATAFLOW is (DIRECTSOUNDDEVICE_DATAFLOW_RENDER,
                                       DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE);
   

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA is record
      DeviceName: LPSTR;
      DataFlow: DIRECTSOUNDDEVICE_DATAFLOW;
      DeviceId: GUID;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA is record
      DeviceName: LPWSTR;
      DataFlow: DIRECTSOUNDDEVICE_DATAFLOW;
      DeviceId: GUID;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;

--     subtype DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;
--  
--     subtype PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;

   subtype PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA is record
      DeviceId: GUID;
      DescriptionA: CHAR_Array(0..16#100#-1);
      DescriptionW: WCHAR_Array(0..16#100#-1);
      ModuleA: CHAR_Array(0..MAX_PATH-1);
      ModuleW: WCHAR_Array(0..MAX_PATH-1);
      Typ: DIRECTSOUNDDEVICE_TYPE;
      DataFlow: DIRECTSOUNDDEVICE_DATAFLOW;
      WaveDeviceId: ULONG;
      Devnode: ULONG;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA is record
      Typ: DIRECTSOUNDDEVICE_TYPE;
      DataFlow: DIRECTSOUNDDEVICE_DATAFLOW;
      DeviceId: GUID;
      Description: LPSTR;
      Module: LPSTR;
      Interfac: LPSTR;
      WaveDeviceId: ULONG;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA is record
      Typ: DIRECTSOUNDDEVICE_TYPE;
      DataFlow: DIRECTSOUNDDEVICE_DATAFLOW;
      DeviceId: GUID;
      Description: LPWSTR;
      Module: LPWSTR;
      Interfac: LPWSTR;
      WaveDeviceId: ULONG;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;

--     subtype DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;
--  
--     subtype PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;

   subtype PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;

--     DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA : constant := DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;
--  
--     PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA : constant := PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;

   type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 is access function(arg1:PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;arg2:LPVOID) return BOOL with Convention=>Stdcall;

   type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA is access function(arg1:PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;arg2:LPVOID) return BOOL with Convention=>Stdcall;

   type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW is access function(arg1:PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;arg2:LPVOID) return BOOL with Convention=>Stdcall;

   -- subtype LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK is LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW;

   subtype LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK is LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA;

   -- subtype LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK is LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA is record
      Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1;
      Context: LPVOID;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA is record
      Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA;
      Context: LPVOID;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;

   type tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA is record
      Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW;
      Context: LPVOID;
   end record;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA is tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;

   type PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA is access all tagDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;

--     subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;
--  
--     subtype PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;

   subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;

   subtype PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;

--     subtype DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;
--  
--     subtype PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA is PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;




end dsconf;













猜你喜欢

转载自blog.csdn.net/adacore/article/details/83502750
今日推荐