diff --git a/WinDurango.sln b/WinDurango.sln index 7f824e5..44040ae 100644 --- a/WinDurango.sln +++ b/WinDurango.sln @@ -20,10 +20,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "apps", "apps", "{240ACC56-C EndProject Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "WinDurango (Package)", "apps\WinDurango\WinDurango (Package)\WinDurango (Package).wapproj", "{C0273DA4-2B16-4A10-B229-6113D4408741}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinDurango", "apps\WinDurango\WinDurango\WinDurango.csproj", "{41492CBB-4C65-4E00-AC8B-69E89EFC8AC4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinDurango", "apps\WinDurango\WinDurango\WinDurango.csproj", "{41492CBB-4C65-4E00-AC8B-69E89EFC8AC4}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appmodel", "dlls\appmodel\appmodel.vcxproj", "{C4B41A92-2F30-4E8D-8F44-1A82F5C6A7F9}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mfplat", "mfplat\mfplat.vcxproj", "{A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -148,6 +150,18 @@ Global {C4B41A92-2F30-4E8D-8F44-1A82F5C6A7F9}.Release|x64.Build.0 = Release|x64 {C4B41A92-2F30-4E8D-8F44-1A82F5C6A7F9}.Release|x86.ActiveCfg = Release|Win32 {C4B41A92-2F30-4E8D-8F44-1A82F5C6A7F9}.Release|x86.Build.0 = Release|Win32 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|ARM64.ActiveCfg = Debug|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|ARM64.Build.0 = Debug|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|x64.ActiveCfg = Debug|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|x64.Build.0 = Debug|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|x86.ActiveCfg = Debug|Win32 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Debug|x86.Build.0 = Debug|Win32 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|ARM64.ActiveCfg = Release|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|ARM64.Build.0 = Release|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|x64.ActiveCfg = Release|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|x64.Build.0 = Release|x64 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|x86.ActiveCfg = Release|Win32 + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -155,13 +169,13 @@ Global GlobalSection(NestedProjects) = preSolution {94127830-3A6C-4861-BBD2-20C0D289802D} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} {B7848E35-3881-44CC-89B9-C14D32B2BC42} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} - {7639E4A9-40B7-4709-864A-72A1879AADED} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} {8941C1F2-702A-45BE-88BF-DD90DEFE4334} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} {F9420BF5-A0E3-41C4-8EB0-DB81A54CF6D8} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} {F58FABA6-C92B-4D45-8F05-51A3430D2625} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} {C0273DA4-2B16-4A10-B229-6113D4408741} = {240ACC56-C364-4337-B2C1-D607979FBEA3} {41492CBB-4C65-4E00-AC8B-69E89EFC8AC4} = {240ACC56-C364-4337-B2C1-D607979FBEA3} {C4B41A92-2F30-4E8D-8F44-1A82F5C6A7F9} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} + {A67D1CEC-9F56-4D53-97C2-88BADEDDB22D} = {A46DB9F5-4A23-41CA-98CA-A5DE9DDF012A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {19991728-E423-4D8D-9EF8-1311EFB03952} diff --git a/dlls/appmodel/appmodel.cpp b/dlls/appmodel/appmodel.cpp index 8b7f452..1278b9f 100644 --- a/dlls/appmodel/appmodel.cpp +++ b/dlls/appmodel/appmodel.cpp @@ -31,26 +31,17 @@ void GetCurrentPackageFullName_X() { } void GetCurrentPackageId_X() { } -void GetCurrentPackageInfo_X() { } void GetCurrentPackagePath_X() { } -void GetCurrentXboxLiveInfo_X() { } -void GetCurrentXboxLiveTitleId_X() { } void GetPackageFamilyName_X() { } -void GetPackageFullName_X() { } - -LONG GetPackageId_X(HANDLE hProcess, UINT32 *bufferLength, BYTE *buffer) { return 0; } - void GetPackagePath_X() { } void GetPackageXboxLiveInfo_X() { } -void GetPackagesByPackageFamily_X() { } - void GetProcessXboxLiveInfo_X() { } void GetXboxLiveTitleId_X() { } @@ -63,6 +54,18 @@ void PsmShutdownApplication_X() { } void PsmUnblockAppStateChangeCompletion_X() { } -void PsmUnregisterAppStateChangeNotification_X() { } +void PsmWaitForAppResume_X() { } -void PsmWaitForAppResume_X() { } \ No newline at end of file +LONG GetPackageId(HANDLE hProcess, UINT32* bufferLength, BYTE* buffer) { return 0; } + +LONG GetPackageFullName_X(HANDLE hProcess, UINT32* packageFullNameLength, PWSTR packageFullName) { return 0; } + +LONG GetCurrentPackageInfo_X(const UINT32 flags, UINT32* bufferLength, BYTE* buffer, UINT32* count) { return 0; } + +LONG GetPackagesByPackageFamily_X(PCWSTR packageFamilyName, UINT32* count, PWSTR* packageFullNames, UINT32* bufferLength, WCHAR* buffer) { return 0; } + +__int64 __fastcall GetCurrentXboxLiveTitleId_X(__int64 a) { } + +__int64 __fastcall GetCurrentXboxLiveInfo_X(__int64 a, __int64 b, __int64 c) { } + +__int64 __fastcall PsmUnregisterAppStateChangeNotification(__int64 notificationId, __int64 processId, __int64 additionalParam) { } \ No newline at end of file diff --git a/dlls/kernelx/kernelx.vcxproj b/dlls/kernelx/kernelx.vcxproj index 66860ee..988ffdc 100644 --- a/dlls/kernelx/kernelx.vcxproj +++ b/dlls/kernelx/kernelx.vcxproj @@ -71,8 +71,8 @@ - W:\Xbox one Games\Minecraft_1.2.0.0_x64__zjr0dfhgjwvde\Mount - W:\Xbox one Games\Minecraft_1.2.0.0_x64__zjr0dfhgjwvde\Mount + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ diff --git a/dlls/ntdll/Exports.def b/dlls/ntdll/Exports.def index dbd248c..45760d2 100644 --- a/dlls/ntdll/Exports.def +++ b/dlls/ntdll/Exports.def @@ -1,3 +1,3 @@ LIBRARY ntdll EXPORTS - TpSetPoolAffinityMask = TpSetPoolAffinityMask_X @860 + TpSetPoolAffinityMask = TpSetPoolAffinityMask_X @860 \ No newline at end of file diff --git a/mfplat/Exports.def b/mfplat/Exports.def new file mode 100644 index 0000000..bd454c9 --- /dev/null +++ b/mfplat/Exports.def @@ -0,0 +1,8 @@ +LIBRARY ntdll +EXPORTS +MFCreateDxvaSampleRendererX = MFCreateDxvaSampleRendererX_X @34 +MFResetDXGIDeviceManagerX = MFResetDXGIDeviceManagerX_X @117 +MFCreateDXGIDeviceManager = MFCreateDXGIDeviceManager_X @32 +MFCreateAttributes = MFCreateAttributes_X @29 +MFCreateMediaType = MFCreateMediaType_X @45 +MFStartup = MFStartup_X @125 \ No newline at end of file diff --git a/mfplat/cpp.hint b/mfplat/cpp.hint new file mode 100644 index 0000000..5033e3a --- /dev/null +++ b/mfplat/cpp.hint @@ -0,0 +1,2 @@ +#define MFPLAT_API __declspec(dllexport) +#define MFPLAT_API __declspec(dllimport) diff --git a/mfplat/dllmain.cpp b/mfplat/dllmain.cpp new file mode 100644 index 0000000..f266597 --- /dev/null +++ b/mfplat/dllmain.cpp @@ -0,0 +1,19 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#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; +} + diff --git a/mfplat/framework.h b/mfplat/framework.h new file mode 100644 index 0000000..54b83e9 --- /dev/null +++ b/mfplat/framework.h @@ -0,0 +1,5 @@ +#pragma once + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include diff --git a/mfplat/mfplat.cpp b/mfplat/mfplat.cpp new file mode 100644 index 0000000..b9bdea4 --- /dev/null +++ b/mfplat/mfplat.cpp @@ -0,0 +1,30 @@ +// mfplat.cpp : Defines the exported functions for the DLL. +// + +#include "pch.h" +#include "framework.h" +#include "mfplat.h" + +__int64 __fastcall MFCreateDxvaSampleRendererX_X(__int64 a, __int64 b, __int64 c) +{ + return 0; +} + +__int64 MFResetDXGIDeviceManagerX_X() { return 0; } + +HRESULT MFCreateDXGIDeviceManager_X(UINT* resetToken, /*IMFDXGIDeviceManager*/PVOID64 ppDeviceManager) +{ + return 0; +} +HRESULT MFCreateAttributes_X(/*IMFAttributes*/PVOID64** ppMFAttributes, UINT32 cInitialSize) +{ + return 0; +} +HRESULT MFCreateMediaType_X(/*IMFMediaType*/PVOID64** ppMFType) +{ + return 0; +} +HRESULT MFStartup_X(ULONG Version, DWORD dwFlags) +{ + return 0; +} \ No newline at end of file diff --git a/mfplat/mfplat.h b/mfplat/mfplat.h new file mode 100644 index 0000000..c3d05ac --- /dev/null +++ b/mfplat/mfplat.h @@ -0,0 +1,8 @@ +#define H_API extern "C" __declspec( dllexport ) + +H_API HRESULT(__stdcall* MFCreateDXGIDeviceManager)(UINT* resetToken, /*IMFDXGIDeviceManager*/PVOID64 ppDeviceManager); +H_API __int64(__fastcall* MFCreateDxvaSampleRendererX)(__int64 a, __int64 b, __int64 c); +H_API __int64 (*MFResetDXGIDeviceManagerX)(); +H_API HRESULT(__stdcall* MFCreateAttributes)(/*IMFAttributes*/PVOID64** ppMFAttributes, UINT32 cInitialSize); +H_API HRESULT(__stdcall* MFCreateMediaType)(/*IMFMediaType*/PVOID64** ppMFType); +H_API HRESULT(__stdcall* MFStartup)(ULONG Version, DWORD dwFlags); diff --git a/mfplat/mfplat.vcxproj b/mfplat/mfplat.vcxproj new file mode 100644 index 0000000..548e5b1 --- /dev/null +++ b/mfplat/mfplat.vcxproj @@ -0,0 +1,177 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {a67d1cec-9f56-4d53-97c2-88badeddb22d} + mfplat + 10.0 + + + + DynamicLibrary + true + v143 + Unicode + + + DynamicLibrary + false + v143 + true + Unicode + + + DynamicLibrary + true + v143 + Unicode + + + DynamicLibrary + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + mfplat + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + mfplat + + + mfplat + + + mfplat + + + + Level3 + true + WIN32;_DEBUG;MFPLAT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + WIN32;NDEBUG;MFPLAT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + true + true + false + + + + + Level3 + true + _DEBUG;MFPLAT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + NDEBUG;MFPLAT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + true + true + false + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/mfplat/mfplat.vcxproj.filters b/mfplat/mfplat.vcxproj.filters new file mode 100644 index 0000000..84b80db --- /dev/null +++ b/mfplat/mfplat.vcxproj.filters @@ -0,0 +1,45 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/mfplat/pch.cpp b/mfplat/pch.cpp new file mode 100644 index 0000000..64b7eef --- /dev/null +++ b/mfplat/pch.cpp @@ -0,0 +1,5 @@ +// pch.cpp: source file corresponding to the pre-compiled header + +#include "pch.h" + +// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/mfplat/pch.h b/mfplat/pch.h new file mode 100644 index 0000000..885d5d6 --- /dev/null +++ b/mfplat/pch.h @@ -0,0 +1,13 @@ +// pch.h: This is a precompiled header file. +// Files listed below are compiled only once, improving build performance for future builds. +// This also affects IntelliSense performance, including code completion and many code browsing features. +// However, files listed here are ALL re-compiled if any one of them is updated between builds. +// Do not add files here that you will be updating frequently as this negates the performance advantage. + +#ifndef PCH_H +#define PCH_H + +// add headers that you want to pre-compile here +#include "framework.h" + +#endif //PCH_H