This commit is contained in:
Will Thant 2020-09-30 16:38:16 -07:00
Родитель 9da5a3728b dc52d1ce95
Коммит 99d01b6045
8 изменённых файлов: 52 добавлений и 16 удалений

Просмотреть файл

@ -24,6 +24,7 @@
<file src="$winrtactx64debug$" target="runtimes\x64\debug\"/>
<file src="$winrtactx86release$" target="runtimes\x86\release\"/>
<file src="$winrtactx86debug$" target="runtimes\x86\debug\"/>
<file src="$mwinrtactx64release$" target="lib\netstandard2.0"/>
<file src="$winrtactlibx64release$" target="runtimes\x64\release\"/>
<file src="$winrtactlibx64debug$" target="runtimes\x64\debug\"/>
<file src="$winrtactlibx86release$" target="runtimes\x86\release\"/>

Просмотреть файл

@ -16,12 +16,9 @@ Initializing the detours on winrtact.dll
Initialization of the dll is taken care of automatically through ForceSymbolReferences.
- Managed
For Managed code, one will need to call DllImport on winrtact.dll and extern winrtact_Initialize().
[DllImport("winrtact.dll")]
static extern void winrtact_Initialize();
winrtact_Initialize() needs to be called on startup to initialize the detours and load the catalog.
For Managed code, one will have to initialize it manually by calling
Microsoft.Windows.UndockedRegFreeWinrt.Initialize();
This will initialize the detours and load the catalog.
Example application manifest:

Просмотреть файл

@ -15,12 +15,9 @@ Initializing the detours on winrtact.dll
Initialization of the dll is taken care of automatically through ForceSymbolReferences.
- Managed
For Managed code, one will need to call DllImport on winrtact.dll and extern winrtact_Initialize().
```
[DllImport("winrtact.dll")]
static extern void winrtact_Initialize();
```
winrtact_Initialize() needs to be called on startup to initialize the detours and load the catalog.
For Managed code, one will have to initialize it manually by calling
Microsoft.Windows.UndockedRegFreeWinrt.Initialize();
This will initialize the detours and load the catalog.
Example application manifest:

Просмотреть файл

@ -36,6 +36,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Catch", "Catch", "{388CB1AF
ProjectSection(SolutionItems) = preProject
Catch\catch.hpp = Catch\catch.hpp
EndProjectSection
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mwinrtact", "mwinrtact\mwinrtact.csproj", "{61857961-CD9B-4948-AC31-26B0806FA7A3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -110,6 +111,7 @@ Global
{24CDEA0D-CDB4-447C-B7D9-F19510D35581}.Release|x64.Build.0 = Release|x64
{24CDEA0D-CDB4-447C-B7D9-F19510D35581}.Release|x86.ActiveCfg = Release|x86
{24CDEA0D-CDB4-447C-B7D9-F19510D35581}.Release|x86.Build.0 = Release|x86
<<<<<<< HEAD
{48786E53-ACFE-4B61-A739-A9CF366C85DC}.Debug|Any CPU.ActiveCfg = Debug|Win32
{48786E53-ACFE-4B61-A739-A9CF366C85DC}.Debug|ARM.ActiveCfg = Debug|Win32
{48786E53-ACFE-4B61-A739-A9CF366C85DC}.Debug|x64.ActiveCfg = Debug|x64
@ -148,6 +150,24 @@ Global
{7DC750DE-F43C-4A3B-9FBF-8D964458829A}.Release|x64.Build.0 = Release|x64
{7DC750DE-F43C-4A3B-9FBF-8D964458829A}.Release|x86.ActiveCfg = Release|Win32
{7DC750DE-F43C-4A3B-9FBF-8D964458829A}.Release|x86.Build.0 = Release|Win32
=======
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|ARM.ActiveCfg = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|ARM.Build.0 = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|x64.ActiveCfg = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|x64.Build.0 = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|x86.ActiveCfg = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Debug|x86.Build.0 = Debug|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|Any CPU.Build.0 = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|ARM.ActiveCfg = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|ARM.Build.0 = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|x64.ActiveCfg = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|x64.Build.0 = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|x86.ActiveCfg = Release|Any CPU
{61857961-CD9B-4948-AC31-26B0806FA7A3}.Release|x86.Build.0 = Release|Any CPU
>>>>>>> dc52d1ce9522ddbf8a15f67a49987e36bf5b223f
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -1,14 +1,12 @@
using System;
using System.Runtime.InteropServices;
using TestComponent;
using Microsoft.Windows;
namespace UndockedRegFreeWinRTManagedTest
{
class Program
{
[DllImport("winrtact.dll", PreserveSig = false)]
static extern void winrtact_Initialize();
public static bool succeeded;
static void TestClassBoth(int expected)
@ -52,8 +50,8 @@ namespace UndockedRegFreeWinRTManagedTest
static int Main(string[] args)
{
UndockedRegFreeWinrt.Initialize();
Console.WriteLine("Undocked RegFree WinRT Managed Test - Starting");
winrtact_Initialize();
System.Threading.Thread testThread;
succeeded = false;

Просмотреть файл

@ -19,6 +19,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\mwinrtact\mwinrtact.csproj" />
<ProjectReference Include="..\TestComponent\TestComponent.vcxproj" />
<ProjectReference Include="..\UndockedRegFreeWinRT\UndockedRegFreeWinRT.vcxproj" />
</ItemGroup>

Просмотреть файл

@ -0,0 +1,15 @@
using System.Runtime.InteropServices;
namespace Microsoft.Windows
{
public static class UndockedRegFreeWinrt
{
[DllImport("winrtact.dll", PreserveSig=false)]
static extern void winrtact_Initialize();
public static void Initialize()
{
winrtact_Initialize();
}
}
}

Просмотреть файл

@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>