mirror of https://github.com/dahall/Vanara.git
Added/updated tests for Kernel32
parent
4a4184ab87
commit
21c4311935
|
@ -33,7 +33,7 @@ namespace Vanara.PInvoke.Tests
|
||||||
{
|
{
|
||||||
var output = new List<string>();
|
var output = new List<string>();
|
||||||
var attr = System.Reflection.TypeAttributes.SequentialLayout | System.Reflection.TypeAttributes.ExplicitLayout;
|
var attr = System.Reflection.TypeAttributes.SequentialLayout | System.Reflection.TypeAttributes.ExplicitLayout;
|
||||||
foreach (var t in typeof(AdvApi32).GetNestedTypes(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic).
|
foreach (var t in type.GetNestedTypes(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic).
|
||||||
Where(t => t.IsValueType && !t.IsEnum && (t.Attributes & attr) != 0 && ((filters?.Length ?? 0) == 0 || filters.Any(s => t.Name.Contains(s)))))
|
Where(t => t.IsValueType && !t.IsEnum && (t.Attributes & attr) != 0 && ((filters?.Length ?? 0) == 0 || filters.Any(s => t.Name.Contains(s)))))
|
||||||
output.Add($"{t.Name} = {Marshal.SizeOf(t)}");
|
output.Add($"{t.Name} = {Marshal.SizeOf(t)}");
|
||||||
output.Sort();
|
output.Sort();
|
||||||
|
|
|
@ -277,9 +277,9 @@ namespace Vanara.PInvoke.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void GetLogicalDriveStringsTest()
|
public void GetLogicalDriveStringsTest()
|
||||||
{
|
{
|
||||||
var sb = new StringBuilder(1024);
|
var ie = Enumerable.Empty<string>();
|
||||||
Assert.That(GetLogicalDriveStrings((uint)sb.Capacity, sb), Is.Not.Zero);
|
Assert.That(ie = GetLogicalDriveStrings(), Is.Not.Empty);
|
||||||
TestContext.WriteLine(sb);
|
ie.WriteValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -11,5 +11,33 @@ namespace Vanara.PInvoke.Tests
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class IoApiSetTests
|
public class IoApiSetTests
|
||||||
{
|
{
|
||||||
|
[Test]
|
||||||
|
public void DeviceIoControlNoInOutTest()
|
||||||
|
{
|
||||||
|
using var hFile = CreateFile(@"\\.\C:", FileAccess.GENERIC_READ, System.IO.FileShare.Read,
|
||||||
|
default, System.IO.FileMode.Open, 0);
|
||||||
|
Assert.That(hFile, ResultIs.ValidHandle);
|
||||||
|
Assert.True(DeviceIoControl(hFile, IOControlCode.FSCTL_IS_VOLUME_MOUNTED));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void DeviceIoControlOutAndInTest()
|
||||||
|
{
|
||||||
|
using var hFile = CreateFile(TestCaseSources.WordDoc, FileAccess.GENERIC_READ | FileAccess.GENERIC_WRITE,
|
||||||
|
System.IO.FileShare.None, default, System.IO.FileMode.Open, 0);
|
||||||
|
Assert.That(hFile, ResultIs.ValidHandle);
|
||||||
|
|
||||||
|
Assert.That(DeviceIoControl(hFile, IOControlCode.FSCTL_GET_COMPRESSION, out COMPRESSION_FORMAT compr), ResultIs.Successful);
|
||||||
|
Assert.That(DeviceIoControl(hFile, IOControlCode.FSCTL_SET_COMPRESSION, compr == COMPRESSION_FORMAT.COMPRESSION_FORMAT_NONE ? COMPRESSION_FORMAT.COMPRESSION_FORMAT_DEFAULT : COMPRESSION_FORMAT.COMPRESSION_FORMAT_NONE), ResultIs.Successful);
|
||||||
|
Assert.That(DeviceIoControl(hFile, IOControlCode.FSCTL_GET_COMPRESSION, out COMPRESSION_FORMAT newcompr), ResultIs.Successful);
|
||||||
|
Assert.That(compr, Is.Not.EqualTo(newcompr));
|
||||||
|
Assert.That(DeviceIoControl(hFile, IOControlCode.FSCTL_SET_COMPRESSION, compr), ResultIs.Successful);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void StructSizeTest()
|
||||||
|
{
|
||||||
|
TestHelper.GetNestedStructSizes(typeof(Kernel32)).WriteValues();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue