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