Merge pull request #89 from Bagietas/main

Few improvements
This commit is contained in:
Serenity
2025-01-06 16:27:45 -05:00
committed by GitHub
9 changed files with 71 additions and 83 deletions

View File

@@ -1,41 +1,48 @@
#include "pch.h"
#include "AcpHal.h"
#include <stdlib.h>
__int64 AcpHalAllocateShapeContexts_X(__int64 a1) {
struct IAcpHal;
HRESULT AcpHalAllocateShapeContexts_X(__int64 a1) {
return 0;
}
__int64 AcpHalCreate_X(unsigned __int64* a1) {
HRESULT AcpHalCreate_X(IAcpHal* a1) {
return 0;
}
__int64 AcpHalReleaseShapeContexts_X() {
HRESULT AcpHalReleaseShapeContexts_X() {
return 0;
}
__int64 ApuAlloc_X(int a1, int a2, int a3, int a4, int a5) {
HRESULT ApuAlloc_X(void* ptr, void* a2, size_t size, UINT32 alignment) {
ptr = malloc(size);
return 0;
}
__int64 ApuCreateHeap_X(int a1, int a2) {
HRESULT ApuCreateHeap_X(size_t initialSize, size_t maximumSize) {
// Don't think we need that as this is for chaning memory pool iirc...
return 0;
}
__int64 ApuFree_X(__int64 a1) {
HRESULT ApuFree_X(void* ptr) {
free(ptr);
return 0;
}
__int64 ApuHeapGetState_X(__int64 a1, int a2) {
HRESULT ApuHeapGetState_X(ApuHeapState* a1, int type) {
return 0;
}
__int64 ApuIsVirtualAddressValid_X(unsigned __int64 a1, unsigned int a2) {
HRESULT ApuIsVirtualAddressValid_X(unsigned __int64 a1, unsigned int a2) {
return 0;
}
__int64 ApuMapApuAddress_X(unsigned int a1) {
HRESULT ApuMapApuAddress_X(unsigned int a1) {
return 0;
}
__int64 ApuMapVirtualAddress_X(unsigned __int64 a1) {
HRESULT ApuMapVirtualAddress_X(unsigned __int64 a1) {
return 0;
}

10
dlls/AcpHal/AcpHal.h Normal file
View File

@@ -0,0 +1,10 @@
#pragma once
#include <inttypes.h>
struct ApuHeapState {
/* 0x0000 */ public: uint32_t bytesFree;
/* 0x0004 */ public: uint32_t bytesAllocated;
/* 0x0008 */ public: uint32_t bytesLost;
/* 0x000c */ public: uint32_t maximumBlockSizeAvailable;
/* 0x0010 */ public: uint32_t allocationCount;
};

View File

@@ -144,6 +144,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="AcpHal.h" />
<ClInclude Include="framework.h" />
<ClInclude Include="pch.h" />
</ItemGroup>

View File

@@ -21,6 +21,9 @@
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="AcpHal.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">

View File

@@ -1,10 +1,45 @@
LIBRARY MMDevAPI
LIBRARY MMDevAPI
EXPORTS
ActivateAudioInterfaceAsync = ActivateAudioInterfaceAsync_X
DisableBitstreamOut = DisableBitstreamOut_X
CleanupDeviceAPI = MMDevAPI.#2 @2 NONAME
InitializeDeviceAPI = MMDevAPI.#3 @3 NONAME
MMDeviceCreateRegistryPropertyStore = MMDevAPI.#4 @4 NONAME
MMDeviceGetDeviceEnumerator = MMDevAPI.#5 @5 NONAME
MMDeviceGetEndpointManager = MMDevAPI.#6 @6 NONAME
GetClassFromEndpointId = MMDevAPI.#7 @7 NONAME
GetEndpointGuidFromEndpointId = MMDevAPI.#8 @8 NONAME
GetSessionIdFromEndpointId = MMDevAPI.#9 @9 NONAME
RegisterForMediaCallback = MMDevAPI.#10 @10 NONAME
UnregisterMediaCallback = MMDevAPI.#11 @11 NONAME
GenerateMediaEvent = MMDevAPI.#12 @12 NONAME
AETraceOutputDebugString = MMDevAPI.#13 @13 NONAME
MMDeviceGetPolicyConfig = MMDevAPI.#14 @14 NONAME
FlushDeviceTopologyCache = MMDevAPI.#15 @15 NONAME
GetNeverSetAsDefaultProperty = MMDevAPI.#16 @16 NONAME
ActivateAudioInterfaceAsync = MMDevAPI.ActivateAudioInterfaceAsync @17
GetEndpointIdFromDeviceInterfaceId = MMDevAPI.#18 @18 NONAME
mmdDevFindMmDevProperty = MMDevAPI.#19 @19 NONAME
mmdDevGetInterfacePropertyStore = MMDevAPI.#20 @20 NONAME
mmdDevGetInterfaceIdFromMMDevice = MMDevAPI.#21 @21 NONAME
mmdDevGetInterfaceDataFlow = MMDevAPI.#22 @22 NONAME
mmdDevGetMMDeviceFromInterfaceId = MMDevAPI.#23 @23 NONAME
mmdDevGetInterfaceClassGuid = MMDevAPI.#24 @24 NONAME
mmdDevGetMMDeviceIdFromInterfaceId = MMDevAPI.#25 @25 NONAME
mmdDevGetInstanceIdFromInterfaceId = MMDevAPI.#26 @26 NONAME
mmdDevGetRelatedInterfaceId = MMDevAPI.#27 @27 NONAME
mmdDevGetInterfaceIdFromMMDeviceId = MMDevAPI.#28 @28 NONAME
mmdDevGetInstanceIdFromMMDeviceId = MMDevAPI.#29 @29 NONAME
mmdDevGetEndpointFormFactorFromMMDeviceId = MMDevAPI.#30 @30 NONAME
mmdDevGetDeviceIdFromPnpInterface = MMDevAPI.#31 @31 NONAME
GetCategoryPath = MMDevAPI.#32 @32 NONAME
MMDeviceCreateRegistryPropertyStore2 = MMDevAPI.#33 @33 NONAME
MMDeviceCreateAudioSystemEffectsPropertyStore = MMDevAPI.#34 @34 NONAME
;DllCanUnloadNow = MMDevAPI.DllCanUnloadNow @35
;DllGetClassObject = MMDevAPI.DllGetClassObject @36
;DllRegisterServer = MMDevAPI.DllRegisterServer @37
;DllUnregisterServer = MMDevAPI.DllUnregisterServer @38
DllCanUnloadNow = DllCanUnloadNow_X
DllGetClassObject = DllGetClassObject_X
EnableSpatialAudio = EnableSpatialAudio_X
RefreshWasapiDeviceList = RefreshWasapiDeviceList_X
RestoreBitstreamOut = RestoreBitstreamOut_X
SetWasapiThreadAffinityMask = SetWasapiThreadAffinityMask_X
SetWasapiThreadAffinityMask = SetWasapiThreadAffinityMask_X

View File

@@ -120,6 +120,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
<ModuleDefinitionFile>Exports.def</ModuleDefinitionFile>
<AdditionalDependencies>MMDevApi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -147,9 +148,7 @@
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="MMDevAPI.cpp" />
<ClCompile Include="OrdinalExports.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>

View File

@@ -23,18 +23,12 @@
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
<Filter>Arquivos de Origem</Filter>
</ClCompile>
<ClCompile Include="pch.cpp">
<Filter>Arquivos de Origem</Filter>
</ClCompile>
<ClCompile Include="MMDevAPI.cpp">
<Filter>Arquivos de Origem</Filter>
</ClCompile>
<ClCompile Include="OrdinalExports.cpp">
<Filter>Arquivos de Origem</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="Exports.def">

View File

@@ -1,42 +0,0 @@
#include "pch.h"
#define MMDEVAPI_EXPORT(Name) __pragma(comment(linker, "/export:" #Name "=C:\\WINDOWS\\System32\\MMDevAPI." #Name))
#define MMDEVAPI_EXPORT_ORDINAL(Name, Ordinal) __pragma(comment(linker, "/export:" #Name "=C:\\WINDOWS\\System32\\MMDevAPI." #Name ",@" #Ordinal))
#define MMDEVAPI_EXPORT_ORDINAL_PRIVATE(Name, Ordinal) __pragma(comment(linker, "/export:" #Name "=C:\\WINDOWS\\System32\\MMDevAPI.#" #Ordinal ",@" #Ordinal ",NONAME"))
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(CleanupDeviceAPI, 2)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(InitializeDeviceAPI, 3)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceCreateRegistryPropertyStore, 4)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceGetDeviceEnumerator, 5)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceGetEndpointManager, 6)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetClassFromEndpointId, 7)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetEndpointGuidFromEndpointId, 8)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetSessionIdFromEndpointId, 9)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(RegisterForMediaCallback, 10)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(UnregisterMediaCallback, 11)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GenerateMediaEvent, 12)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(AETraceOutputDebugString, 13)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceGetPolicyConfig, 14)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(FlushDeviceTopologyCache, 15)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetNeverSetAsDefaultProperty, 16)
MMDEVAPI_EXPORT_ORDINAL(ActivateAudioInterfaceAsync, 17)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetEndpointIdFromDeviceInterfaceId, 18)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevFindMmDevProperty, 19)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInterfacePropertyStore, 20)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInterfaceIdFromMMDevice, 21)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInterfaceDataFlow, 22)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetMMDeviceFromInterfaceId, 23)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInterfaceClassGuid, 24)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetMMDeviceIdFromInterfaceId, 25)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInstanceIdFromInterfaceId, 26)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetRelatedInterfaceId, 27)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInterfaceIdFromMMDeviceId, 28)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetInstanceIdFromMMDeviceId, 29)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetEndpointFormFactorFromMMDeviceId, 30)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(mmdDevGetDeviceIdFromPnpInterface, 31)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(GetCategoryPath, 32)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceCreateRegistryPropertyStore2, 33)
MMDEVAPI_EXPORT_ORDINAL_PRIVATE(MMDeviceCreateAudioSystemEffectsPropertyStore, 34)
MMDEVAPI_EXPORT_ORDINAL(DllCanUnloadNow, 35)
MMDEVAPI_EXPORT_ORDINAL(DllGetClassObject, 36)
MMDEVAPI_EXPORT_ORDINAL(DllRegisterServer, 37)
MMDEVAPI_EXPORT_ORDINAL(DllUnregisterServer, 38)

View File

@@ -1,19 +0,0 @@
// dllmain.cpp : Define o ponto de entrada para o aplicativo DLL.
#include "pch.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}