diff --git a/TH-NETII Windows API.sln b/TH-NETII Windows API.sln index 571cd59c..a3a6d354 100644 --- a/TH-NETII Windows API.sln +++ b/TH-NETII Windows API.sln @@ -89,7 +89,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.WinI EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Constants.SCardErr", "src\THNETII.WinApi.Constants.SCardErr\THNETII.WinApi.Constants.SCardErr.csproj", "{25A891EB-9BF0-45D1-89EE-B24E80DE259E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Headers.WinSCard", "src\THNETII.WinApi.Headers.WinSCard\THNETII.WinApi.Headers.WinSCard.csproj", "{56348771-2C99-4C0A-B63A-C7F0736621DA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.WinSCard", "src\THNETII.WinApi.Headers.WinSCard\THNETII.WinApi.Headers.WinSCard.csproj", "{56348771-2C99-4C0A-B63A-C7F0736621DA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.WinSock2", "src\THNETII.WinApi.Headers.WinSock2\THNETII.WinApi.Headers.WinSock2.csproj", "{A2A98D11-DA03-410F-8440-280BFAE263CB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -473,6 +475,18 @@ Global {56348771-2C99-4C0A-B63A-C7F0736621DA}.Release|x64.Build.0 = Release|Any CPU {56348771-2C99-4C0A-B63A-C7F0736621DA}.Release|x86.ActiveCfg = Release|Any CPU {56348771-2C99-4C0A-B63A-C7F0736621DA}.Release|x86.Build.0 = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|x64.ActiveCfg = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|x64.Build.0 = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|x86.ActiveCfg = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Debug|x86.Build.0 = Debug|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|Any CPU.Build.0 = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|x64.ActiveCfg = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|x64.Build.0 = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|x86.ActiveCfg = Release|Any CPU + {A2A98D11-DA03-410F-8440-280BFAE263CB}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -510,6 +524,7 @@ Global {35C252B4-AD97-4E09-8097-72FDCA04EBF7} = {9689DB3E-1ED7-478C-AC14-C734B0397619} {25A891EB-9BF0-45D1-89EE-B24E80DE259E} = {9689DB3E-1ED7-478C-AC14-C734B0397619} {56348771-2C99-4C0A-B63A-C7F0736621DA} = {9689DB3E-1ED7-478C-AC14-C734B0397619} + {A2A98D11-DA03-410F-8440-280BFAE263CB} = {9689DB3E-1ED7-478C-AC14-C734B0397619} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6EF7C9CF-E403-4B60-AB44-5F9FFEB668B7} diff --git a/src-native-c/THNETII.WinApi.Sample.Native/main.c b/src-native-c/THNETII.WinApi.Sample.Native/main.c index f36a265a..ebc2df0f 100644 --- a/src-native-c/THNETII.WinApi.Sample.Native/main.c +++ b/src-native-c/THNETII.WinApi.Sample.Native/main.c @@ -1,12 +1,12 @@ -#include +#include int main(int argc, char* argv[]) { - SCARD_READERSTATE instance; + u_char instance; const int size = sizeof(instance); - const int value = SCARD_ABSENT; + const int value = WINSOCK_VERSION; - const void* ptr = SCardGetReaderDeviceInstanceId; + const void* ptr = NULL; return EXIT_SUCCESS; } diff --git a/src/THNETII.WinApi.Headers.WinSock2/GlobalSuppressions.cs b/src/THNETII.WinApi.Headers.WinSock2/GlobalSuppressions.cs new file mode 100644 index 00000000..cac5bb60 --- /dev/null +++ b/src/THNETII.WinApi.Headers.WinSock2/GlobalSuppressions.cs @@ -0,0 +1,11 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("Documentation", "CS1591: Missing XML comment for publicly visible type or member")] +[assembly: SuppressMessage("Documentation", "CA1200: Avoid using cref tags with a prefix")] +[assembly: SuppressMessage("Naming", "CA1707: Identifiers should not contain underscores")] + diff --git a/src/THNETII.WinApi.Headers.WinSock2/THNETII.WinApi.Headers.WinSock2.csproj b/src/THNETII.WinApi.Headers.WinSock2/THNETII.WinApi.Headers.WinSock2.csproj new file mode 100644 index 00000000..c4813374 --- /dev/null +++ b/src/THNETII.WinApi.Headers.WinSock2/THNETII.WinApi.Headers.WinSock2.csproj @@ -0,0 +1,10 @@ + + + + + netstandard1.3;netstandard2.0 + true + THNETII.WinApi.Native.WinSock2 + + + diff --git a/src/THNETII.WinApi.Headers.WinSock2/WinSock2Constants.cs b/src/THNETII.WinApi.Headers.WinSock2/WinSock2Constants.cs new file mode 100644 index 00000000..59a031bf --- /dev/null +++ b/src/THNETII.WinApi.Headers.WinSock2/WinSock2Constants.cs @@ -0,0 +1,15 @@ +namespace THNETII.WinApi.Native.WinSock2 +{ + using static WinSock2Macros; + + public static class WinSock2Constants +#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member + { + // C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\WinSock2.h, line 83 + /// + /// Define the current Winsock version. To build an earlier Winsock version + /// application redefine this value prior to including Winsock2.h. + /// + public static readonly ushort WINSOCK_VERSION = MAKEWORD(2, 2); + } +} diff --git a/src/THNETII.WinApi.Headers.WinSock2/WinSock2Macros.cs b/src/THNETII.WinApi.Headers.WinSock2/WinSock2Macros.cs new file mode 100644 index 00000000..976a3cf0 --- /dev/null +++ b/src/THNETII.WinApi.Headers.WinSock2/WinSock2Macros.cs @@ -0,0 +1,12 @@ +namespace THNETII.WinApi.Native.WinSock2 +{ + public static class WinSock2Macros + { + // C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\WinSock2.h, line 78 + #region MAKEWORD macro + /// + public static ushort MAKEWORD(byte low, byte high) => + (ushort)(low | ((uint)high << 8)); + #endregion + } +}