Add Magnification PInvoke library

Fixes #336
This commit is contained in:
Andrew Arnott 2017-06-26 15:25:45 -07:00
Родитель 0eb1227793
Коммит c2f974fd23
11 изменённых файлов: 123 добавлений и 1 удалений

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

@ -74,6 +74,7 @@ DwmApi.dll |`PInvoke.DwmApi` | [![NuGet](https://buildstats.info/nuget/PInvok
gdi32.dll |`PInvoke.Gdi32` | [![NuGet](https://buildstats.info/nuget/PInvoke.Gdi32)](https://www.nuget.org/packages/PInvoke.Gdi32)|[Windows Graphics Device Interface][Gdi]
hid.dll |`PInvoke.Hid` | [![NuGet](https://buildstats.info/nuget/PInvoke.Hid)](https://www.nuget.org/packages/PInvoke.Hid)|[Windows Human Interface Devices][Hid]
kernel32.dll |`PInvoke.Kernel32`| [![NuGet](https://buildstats.info/nuget/PInvoke.Kernel32)](https://www.nuget.org/packages/PInvoke.Kernel32)|Windows Kernel API
magnification.dll |`PInvoke.Magnification`| [![NuGet](https://buildstats.info/nuget/PInvoke.Magnification)](https://www.nuget.org/packages/PInvoke.Magnification)|[Windows Magnification API][Magnification]
mscoree.dll |`PInvoke.MSCorEE` | [![NuGet](https://buildstats.info/nuget/PInvoke.MSCorEE)](https://www.nuget.org/packages/PInvoke.MSCorEE)|.NET Framework CLR host
msi.dll |`PInvoke.Msi` | [![NuGet](https://buildstats.info/nuget/PInvoke.Msi)](https://www.nuget.org/packages/PInvoke.Msi)|[Microsoft Installer][Msi]
fusion.dll |`PInvoke.Fusion` | [![NuGet](https://buildstats.info/nuget/PInvoke.Fusion)](https://www.nuget.org/packages/PInvoke.Fusion)|.NET Framework Fusion
@ -101,6 +102,7 @@ public release of the library.
[Crypt32]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa380256
[DwmApi]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx
[Hid]: https://msdn.microsoft.com/en-us/library/windows/hardware/ff538865
[Magnification]: https://msdn.microsoft.com/en-us/library/windows/desktop/ms692162
[Msi]: https://msdn.microsoft.com/en-us/library/aa372860.aspx
[SetupApi]: https://msdn.microsoft.com/en-us/library/windows/hardware/ff550855
[Gdi]: https://msdn.microsoft.com/en-us/library/dd145203

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

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net46</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Windows.Core\Windows.Core.csproj" />
<ProjectReference Include="..\Magnification\Magnification.csproj" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
</Project>

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

@ -0,0 +1,15 @@
// Copyright (c) to owners found in https://github.com/AArnott/pinvoke/blob/master/COPYRIGHT.md. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
using System;
using PInvoke;
using Xunit;
using static PInvoke.Magnification;
public class MagnificationFacts
{
[Fact(Skip = "No tests yet")]
public void NoTests()
{
}
}

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

@ -0,0 +1,20 @@
// Copyright (c) to owners found in https://github.com/AArnott/pinvoke/blob/master/COPYRIGHT.md. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
namespace PInvoke
{
using System;
using System.Runtime.InteropServices;
/// <content>
/// Methods and nested types that are not strictly P/Invokes but provide
/// a slightly higher level of functionality to ease calling into native code.
/// </content>
public static partial class Magnification
{
// This is where you define methods that assist in calling P/Invoke methods.
// For example, if a P/Invoke method requires allocating unmanaged memory
// and freeing it up after the call, a helper method in this file would
// make "P/Invoking" for most callers much easier and is a welcome addition.
}
}

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

@ -0,0 +1,32 @@
// Copyright (c) to owners found in https://github.com/AArnott/pinvoke/blob/master/COPYRIGHT.md. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
namespace PInvoke
{
using System;
using System.Runtime.InteropServices;
/// <summary>
/// Exported functions from the Magnification.dll Windows library
/// that are available to Desktop and Store apps.
/// </summary>
[OfferFriendlyOverloads]
public static partial class Magnification
{
/// <summary>
/// Creates and initializes the magnifier run-time objects.
/// </summary>
/// <returns>Returns TRUE if successful, or FALSE otherwise.</returns>
[DllImport(nameof(Magnification))]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool MagInitialize();
/// <summary>
/// Destroys the magnifier run-time objects.
/// </summary>
/// <returns>Returns TRUE if successful, or FALSE otherwise.</returns>
[DllImport(nameof(Magnification))]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool MagUninitialize();
}
}

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

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(DesktopAndPortableFrameworks)</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Windows.Core\Windows.Core.csproj" />
</ItemGroup>
<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
</Project>

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

@ -0,0 +1,19 @@
MagGetColorEffect
MagGetFullscreenColorEffect
MagGetFullscreenTransform
MagGetImageScalingCallback
MagGetInputTransform
MagGetWindowFilterList
MagGetWindowSource
MagGetWindowTransform
MagInitialize
MagSetColorEffect
MagSetFullscreenColorEffect
MagSetFullscreenTransform
MagSetImageScalingCallback
MagSetInputTransform
MagSetWindowFilterList
MagSetWindowSource
MagSetWindowTransform
MagShowSystemCursor
MagUninitialize

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

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

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

@ -1,4 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
@ -135,6 +135,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WtsApi32.Tests", "WtsApi32.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win32", "Win32\Win32.csproj", "{34C97C6A-0323-44C6-B8E6-ED748CA287D5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Magnification", "Magnification\Magnification.csproj", "{B9778D6F-25D9-4B3B-B752-A326F2801EC2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Magnification.Tests", "Magnification.Tests\Magnification.Tests.csproj", "{9E6F16CF-7C21-4C6C-AC06-8933A02F99A6}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Msi.Shared\Msi.Shared.projitems*{01174e89-de65-47dc-bf53-4e2cf34ad843}*SharedItemsImports = 4
@ -365,6 +369,14 @@ Global
{34C97C6A-0323-44C6-B8E6-ED748CA287D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34C97C6A-0323-44C6-B8E6-ED748CA287D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34C97C6A-0323-44C6-B8E6-ED748CA287D5}.Release|Any CPU.Build.0 = Release|Any CPU
{B9778D6F-25D9-4B3B-B752-A326F2801EC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9778D6F-25D9-4B3B-B752-A326F2801EC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9778D6F-25D9-4B3B-B752-A326F2801EC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9778D6F-25D9-4B3B-B752-A326F2801EC2}.Release|Any CPU.Build.0 = Release|Any CPU
{9E6F16CF-7C21-4C6C-AC06-8933A02F99A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E6F16CF-7C21-4C6C-AC06-8933A02F99A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E6F16CF-7C21-4C6C-AC06-8933A02F99A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E6F16CF-7C21-4C6C-AC06-8933A02F99A6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

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

@ -31,6 +31,7 @@
<ProjectReference Include="..\Windows.Core\Windows.Core.csproj" />
<ProjectReference Include="..\Windows.ShellScalingApi\Windows.ShellScalingApi.csproj" />
<ProjectReference Include="..\Wtsapi32\Wtsapi32.csproj" />
<ProjectReference Include="..\Magnification\Magnification.csproj" />
</ItemGroup>
<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
</Project>