----------------------------------------
-- File : dsconf.ads --
-- Translator:Dongfeng.Gu,2018/10/29 --
-- Mail: 515639@qq.com --
-- 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;