Skip to content

Sspi.h #73

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 110 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
e2ee231
Create new security.h project
fredrikhr Nov 21, 2019
78522e8
Windows Security builtin package name constants, Security.h: line 59
fredrikhr Nov 21, 2019
746654f
SecHandle structure, sspi.h: line 134
fredrikhr Nov 21, 2019
0395032
SecInvalidateHandle, SecIsValidHandle macros, sspi.h: line 145
fredrikhr Nov 21, 2019
b0e608c
SEC_DELETED_HANDLE constants, sspi.h: line 150
fredrikhr Nov 21, 2019
58467fb
SECURITY_INTEGER structure, sspi.h: line 179
fredrikhr Nov 21, 2019
f1f2886
SECURITY_STRING structure, sspi.h: line 211
fredrikhr Nov 21, 2019
1c532f5
SECPKG_FLAG_* constants, sspi.h: line 299
fredrikhr Nov 21, 2019
75e1a5c
SecPkgInfo structure, sspi.h: line 264
fredrikhr Nov 21, 2019
78a5186
SECPKG_CALLFLAGS, sspi.h: line 313
fredrikhr Nov 21, 2019
83e69ec
SecBuffer, SecBufferDesc structures, SECBUFFER_* constants, sspi.h: l…
fredrikhr Nov 22, 2019
512e496
SEC_NEGOTIATION_INFO structure, sspi.h: line 381
fredrikhr Nov 22, 2019
47969ee
SEC_CHANNEL_BINDINGS structure, sspi.h: line 392
fredrikhr Nov 22, 2019
c63685c
SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT enumeration, sspi.h: line 400
fredrikhr Nov 22, 2019
87cac8d
SEC_APPLICATION_PROTOCOL_LIST, SEC_APPLICATION_PROTOCOLS, SEC_SRTP_PR…
fredrikhr Nov 22, 2019
e4ab83d
SEC_TOKEN_BINDING, sspi.h: line 425
fredrikhr Nov 22, 2019
1e62187
SEC_PRESHAREDKEY, sspi.h: line 435
fredrikhr Nov 22, 2019
0d3af67
SEC_PRESHAREDKEY_IDENTITY, sspi.h: line 440
fredrikhr Nov 22, 2019
59c41e6
SEC_DTLS_MTU, sspi.h: line 444
fredrikhr Nov 22, 2019
3a2385d
SSPI Constants, sspi.h: line 605
fredrikhr Nov 22, 2019
a3f8c9f
SecPkgCredentials_Names structures, sspi.h: line 633
fredrikhr Nov 22, 2019
7ca866a
SecPkgCredentials_Names structures, sspi.h: line 633
fredrikhr Nov 22, 2019
95e63b4
SecPkgCredentials_SSIProvider structures, sspi.h line 660
fredrikhr Nov 22, 2019
47b6e51
KDC_PROXY_SETTINGS constants, sspi.h line 665
fredrikhr Nov 22, 2019
40e0f3c
SecPkgCredentials_KdcProxySettingsW structure, sspi.h line 675
fredrikhr Nov 22, 2019
7468d07
SecPkgCredentials_Cert structure, sspi.h line 685
fredrikhr Nov 22, 2019
cd60f9d
SECPKG_ATTR_* constants, sspi.h line 751
fredrikhr Nov 22, 2019
7c39c9a
AUTHZ_ACCESS_REQUEST structure, authz.h line 116
fredrikhr Nov 22, 2019
ab7043d
authz.h line 378
fredrikhr Nov 22, 2019
98c3270
AUTHZ_SECURITY_ATTRIBUTE_V1 structure, authz.h line 493
fredrikhr Nov 22, 2019
f36c563
AuthZ.h, line 510
fredrikhr Nov 22, 2019
66a0e86
authz.h line 533
fredrikhr Nov 22, 2019
cb3b13b
Merge branch authz.h into sspi.h
fredrikhr Nov 22, 2019
e23104d
SecPkgContext_SubjectAttributes structure, sspi.h line 755
fredrikhr Nov 22, 2019
ba72682
SECPKG_ATTR_NEGO_INFO_FLAG_* constants, sspi.h line 758
fredrikhr Nov 22, 2019
31915a3
SECPKG_CRED_CLASS Enumeration, sspi.h line 760
fredrikhr Nov 22, 2019
96a5c4d
SecPkgContext_CredInfo structure, sspi.h line 772
fredrikhr Nov 22, 2019
26781ca
SecPkgContext_NegoPackageInfo structure, ssph.h line 780
fredrikhr Nov 22, 2019
d5ca4f1
SecPkgContext_NegoStatus structure, sspi.h line 785
fredrikhr Nov 22, 2019
2b16ae1
SecPkgContext_Sizes structure, sspi.h line 793
fredrikhr Nov 22, 2019
b48bcc0
SecPkgContext_StreamSizes structure, sspi.h line 802
fredrikhr Nov 22, 2019
d209874
SecPkgContext_NamesW structure, sspi.h line 810
fredrikhr Nov 22, 2019
5016f7f
SECPKG_ATTR_LCT_STATUS Enumeration, sspi.h line 818
fredrikhr Nov 22, 2019
68c30d9
SecPkgContext_LastClientTokenStatus structure, sspi.h line 823
fredrikhr Nov 22, 2019
fb64d36
SecPkgContext_NamesA structure, sspi.h line 828
fredrikhr Nov 22, 2019
4d6d270
SecPkgContext_Lifespan structure, sspi.h line 840
fredrikhr Nov 22, 2019
e3c2e08
SecPkgContext_DceInfo structure, sspi.h line 850
fredrikhr Nov 22, 2019
611a74c
SecPkgContext_KeyInfo structure, sspi.h line 882
fredrikhr Nov 22, 2019
08247c9
SecPkgContext_Authority structure, sspi.h line 904
fredrikhr Nov 22, 2019
28a7f8b
SecPkgContext_ProtoInfo structure, sspi.h line 930
fredrikhr Nov 22, 2019
302a69f
SecPkgContext_PasswordExpiry structure, sspi.h line 937
fredrikhr Nov 22, 2019
ae4115b
64-bit integer types
fredrikhr Nov 22, 2019
3bdc866
Use TimeStamp data type
fredrikhr Nov 22, 2019
721bad1
Assert filetime as DateTime within range
fredrikhr Nov 22, 2019
132af70
SecPkgContext_SessionKey structure, sspi.h line 946
fredrikhr Nov 22, 2019
dd7ed0a
SecPkgContext_NegoKeys structure, sspi.h line 961
fredrikhr Nov 22, 2019
a0ee729
SecPkgContext_PackageInfo structure, sspi.h line 973
fredrikhr Nov 22, 2019
0c0540a
SecPkgContext_UserFlags structure, sspi.h line 980
fredrikhr Nov 22, 2019
57ee6ab
SecPkgContext_Flags structure, sspi.h line 985
fredrikhr Nov 22, 2019
91509b8
SecPkgContext_NegotiationInfo structure, sspi.h line 1025
fredrikhr Nov 22, 2019
464c859
refer to SEC_I_CONTINUE_NEEDED
fredrikhr Nov 22, 2019
f31da1d
SecPkgContext_NativeNames structure, sspi.h line 1047
fredrikhr Nov 22, 2019
760bb08
SecPkgContext_CredentialName structures, sspi.h line 1074
fredrikhr Nov 22, 2019
6caa587
SecPkgContext_AccessToken structure, sspi.h line 1079
fredrikhr Nov 22, 2019
4275fd2
SecPkgContext_TargetInformation structure, sspi.h line 1086
fredrikhr Nov 22, 2019
44065ae
SecPkgContext_AuthzID structure, sspi.h line 1093
fredrikhr Nov 22, 2019
f0a2510
SecPkgContext_Target structure, sspi.h line 1100
fredrikhr Nov 22, 2019
1fe1e27
SecPkgContext_ClientSpecifiedTarget structure, sspi.h line 1106
fredrikhr Nov 22, 2019
53fac29
SecPkgContext_Bindings structure, sspi.h line 1112
fredrikhr Nov 22, 2019
7e7dcb6
SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS Enumeration, sspi.h line …
fredrikhr Nov 22, 2019
6561f83
SecPkgContext_ApplicationProtocol structure, sspi.h line 1129
fredrikhr Nov 22, 2019
e5d63ca
SecPkgContext_NegotiatedTlsExtensions structure, sspi.h line 1135
fredrikhr Nov 22, 2019
ace653d
SECPKG_APP_MODE_INFO structure, sspi.h line 1143
fredrikhr Nov 22, 2019
8770e33
SEC_GET_KEY_FN callback function, sspi.h 1148
fredrikhr Nov 22, 2019
e81bea2
SECPKG_CONTEXT_EXPORT_* constants, sspi.h line 1164
fredrikhr Nov 22, 2019
8204e73
SSPI Handles: CredHandle, sspi.h line 153
fredrikhr Nov 23, 2019
eac9788
SECPKG_CRED_USE constants, sspi.h line 453
fredrikhr Nov 23, 2019
c7cb7b2
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\credssp.h
fredrikhr Nov 23, 2019
5dbf461
AcquireCredentialsHandle (General) functions, sspi.h line 1236
fredrikhr Nov 23, 2019
d0ff99b
FreeCredentialsHandle function, sspi.h line 1248
fredrikhr Nov 23, 2019
502a455
AddCredentials function, sspi.h line 1313
fredrikhr Nov 23, 2019
07648f3
Add Windows SDK export library export symbols
fredrikhr Nov 23, 2019
7fede61
ChangeAccountPassword functions, sspi.h line 1556
fredrikhr Nov 23, 2019
14bb99f
InitializeSecurityContext functions, sspi.h 1646
fredrikhr Nov 23, 2019
df4fb71
AcceptSecurityContext function, sspih.h line 1674
fredrikhr Nov 24, 2019
94167aa
CompleteAuthToken function, sspi.h line 1687
fredrikhr Nov 24, 2019
7d9bf25
ImpersonateSecurityContext function, sspi.h line 1698
fredrikhr Nov 24, 2019
b570987
RevertSecurityContext function, sspi.h line 1709
fredrikhr Nov 24, 2019
bcebb80
QuerySecurityContextToken function, sspi.h line 1721
fredrikhr Nov 25, 2019
d48fb57
DeleteSecurityContext function, sspi.h line 1732
fredrikhr Nov 25, 2019
7112c70
ApplyControlToken function, sspi.h line 1744
fredrikhr Nov 25, 2019
b8a1620
ALG_ID, wincrypt.h line 358
fredrikhr Nov 26, 2019
3d53337
SECPKG_ATTR_* constants, minschannel.h line 71
fredrikhr Nov 26, 2019
5e37d5b
SecPkgCred_SupportedAlgs structure, minschannel.h line 83
fredrikhr Nov 26, 2019
5c873d7
SecPkgCred_CipherStrengths structure, minschannel.h line 90
fredrikhr Nov 26, 2019
72e76e0
Merge branch wincrypt.h
fredrikhr Nov 26, 2019
bf2c0b6
Merge branch 'minschannel.h'
fredrikhr Nov 26, 2019
26a709c
Additional SECPKG_ATTR_* constants
fredrikhr Nov 26, 2019
31813b0
SecBuffer structure
fredrikhr Nov 26, 2019
5b381a5
QueryContextAttributes, QueryContextAttributesEx functions, sspi.h li…
fredrikhr Nov 26, 2019
b8c3f03
SetContextAttributes functions, sspi.h line 1862
fredrikhr Nov 27, 2019
c5bdf3c
QueryCredentialsAttributes functions, sspi.h line 1936
fredrikhr Nov 27, 2019
112243f
SetCredentialsAttributes functions, sspi.h line 1983
fredrikhr Nov 27, 2019
a737e3c
FreeContextBuffer function, sspi.h line 1995
fredrikhr Nov 27, 2019
75e9396
MakeSignature function, sspi.h line 2020
fredrikhr Nov 27, 2019
5d562ea
VerifySignature function, sspi.h line 2037
fredrikhr Nov 27, 2019
d6ca605
SECQOP_* constants, sspi.h line 2041
fredrikhr Nov 27, 2019
107d7e5
EncryptMessage (General) function, sspi.h line 2051
fredrikhr Nov 27, 2019
3c16c71
DecryptMessage (General) function, sspi.h line 2064
fredrikhr Nov 28, 2019
943b288
EnumerateSecurityPackages functions, sspi.h line 2107
fredrikhr Nov 28, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
107 changes: 106 additions & 1 deletion TH-NETII Windows API.sln
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.Proc
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.FileApi", "src\THNETII.WinApi.Headers.FileApi\THNETII.WinApi.Headers.FileApi.csproj", "{DC49BB25-34E5-4B07-A527-F341D2EF833B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Headers.SysInfoApi", "src\THNETII.WinApi.Headers.SysInfoApi\THNETII.WinApi.Headers.SysInfoApi.csproj", "{75FD2E4B-27C9-49D0-8869-99C934DAACCF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.SysInfoApi", "src\THNETII.WinApi.Headers.SysInfoApi\THNETII.WinApi.Headers.SysInfoApi.csproj", "{75FD2E4B-27C9-49D0-8869-99C934DAACCF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.Security", "src\THNETII.WinApi.Headers.Security\THNETII.WinApi.Headers.Security.csproj", "{5085FB55-6B94-4B00-B657-CCE16D27A966}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.Sspi", "src\THNETII.WinApi.Headers.Sspi\THNETII.WinApi.Headers.Sspi.csproj", "{EEDC2869-9192-4ABB-8DE0-C961E96A813E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "THNETII.WinApi.Headers.AuthZ", "src\THNETII.WinApi.Headers.AuthZ\THNETII.WinApi.Headers.AuthZ.csproj", "{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Headers.CredSSP", "src\THNETII.WinApi.Headers.CredSSP\THNETII.WinApi.Headers.CredSSP.csproj", "{95069B1D-47A4-4277-A7C0-E34B775EF683}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Constants.Sspi", "src\THNETII.WinApi.Constants.Sspi\THNETII.WinApi.Constants.Sspi.csproj", "{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Headers.WinCrypt", "src\THNETII.WinApi.Headers.WinCrypt\THNETII.WinApi.Headers.WinCrypt.csproj", "{09B3D146-DCD1-4152-B080-2CEEF8392986}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "THNETII.WinApi.Headers.MinSchannel", "src\THNETII.WinApi.Headers.MinSchannel\THNETII.WinApi.Headers.MinSchannel.csproj", "{C7A69F04-DE6D-4E24-A650-1D705A56371A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -416,6 +430,90 @@ Global
{75FD2E4B-27C9-49D0-8869-99C934DAACCF}.Release|x64.Build.0 = Release|Any CPU
{75FD2E4B-27C9-49D0-8869-99C934DAACCF}.Release|x86.ActiveCfg = Release|Any CPU
{75FD2E4B-27C9-49D0-8869-99C934DAACCF}.Release|x86.Build.0 = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|x64.ActiveCfg = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|x64.Build.0 = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|x86.ActiveCfg = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Debug|x86.Build.0 = Debug|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|Any CPU.Build.0 = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|x64.ActiveCfg = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|x64.Build.0 = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|x86.ActiveCfg = Release|Any CPU
{5085FB55-6B94-4B00-B657-CCE16D27A966}.Release|x86.Build.0 = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|x64.ActiveCfg = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|x64.Build.0 = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|x86.ActiveCfg = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Debug|x86.Build.0 = Debug|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|Any CPU.Build.0 = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|x64.ActiveCfg = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|x64.Build.0 = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|x86.ActiveCfg = Release|Any CPU
{EEDC2869-9192-4ABB-8DE0-C961E96A813E}.Release|x86.Build.0 = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|x64.ActiveCfg = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|x64.Build.0 = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|x86.ActiveCfg = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Debug|x86.Build.0 = Debug|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|Any CPU.Build.0 = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|x64.ActiveCfg = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|x64.Build.0 = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|x86.ActiveCfg = Release|Any CPU
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C}.Release|x86.Build.0 = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|x64.ActiveCfg = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|x64.Build.0 = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|x86.ActiveCfg = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Debug|x86.Build.0 = Debug|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|Any CPU.ActiveCfg = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|Any CPU.Build.0 = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|x64.ActiveCfg = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|x64.Build.0 = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|x86.ActiveCfg = Release|Any CPU
{95069B1D-47A4-4277-A7C0-E34B775EF683}.Release|x86.Build.0 = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|x64.ActiveCfg = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|x64.Build.0 = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|x86.ActiveCfg = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Debug|x86.Build.0 = Debug|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|Any CPU.Build.0 = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|x64.ActiveCfg = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|x64.Build.0 = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|x86.ActiveCfg = Release|Any CPU
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA}.Release|x86.Build.0 = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|Any CPU.Build.0 = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|x64.ActiveCfg = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|x64.Build.0 = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|x86.ActiveCfg = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Debug|x86.Build.0 = Debug|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|Any CPU.ActiveCfg = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|Any CPU.Build.0 = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|x64.ActiveCfg = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|x64.Build.0 = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|x86.ActiveCfg = Release|Any CPU
{09B3D146-DCD1-4152-B080-2CEEF8392986}.Release|x86.Build.0 = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|x64.ActiveCfg = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|x64.Build.0 = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|x86.ActiveCfg = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Debug|x86.Build.0 = Debug|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|Any CPU.Build.0 = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|x64.ActiveCfg = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|x64.Build.0 = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|x86.ActiveCfg = Release|Any CPU
{C7A69F04-DE6D-4E24-A650-1D705A56371A}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -449,6 +547,13 @@ Global
{3B25A551-FBEC-4515-9D98-226C51A6E74F} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{DC49BB25-34E5-4B07-A527-F341D2EF833B} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{75FD2E4B-27C9-49D0-8869-99C934DAACCF} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{5085FB55-6B94-4B00-B657-CCE16D27A966} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{EEDC2869-9192-4ABB-8DE0-C961E96A813E} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{6AD87FE7-9FC9-44FB-A22C-FCAD41CB7C3C} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{95069B1D-47A4-4277-A7C0-E34B775EF683} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{7C16AF7E-FD0D-4D49-929C-EFEDA62123CA} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{09B3D146-DCD1-4152-B080-2CEEF8392986} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
{C7A69F04-DE6D-4E24-A650-1D705A56371A} = {9689DB3E-1ED7-478C-AC14-C734B0397619}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6EF7C9CF-E403-4B60-AB44-5F9FFEB668B7}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<!-- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> -->
<AdditionalDependencies>Secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
Expand Down
10 changes: 6 additions & 4 deletions src-native-c/THNETII.WinApi.Sample.Native/main.c
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
#include <Windows.h>
#include <WinBase.h>

#define SECURITY_WIN32 1
#include <sspi.h>

int main(int argc, char* argv[])
{
OSVERSIONINFOW instance;
ALG_ID instance;
const int size = sizeof(instance);
const int value = VER_PLATFORM_WIN32_NT;
const int value = STATUS_INVALID_PARAMETER;

const void* ptr = GetVersionEx;
const void* ptr = EnumerateSecurityPackages;

return EXIT_SUCCESS;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ public static class NativeLibraryNames
public const string KernelBase = "KernelBase.dll";
public const string Kernel32 = "Kernel32.dll";
public const string Ntdll = "Ntdll.dll";
public const string Secur32 = "Secur32.dll";
public const string User32 = "User32.dll";
}
}
54 changes: 54 additions & 0 deletions src-shared/THNETII.WinApi.WindowsDataTypes/FILETIME.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
using System.Runtime.InteropServices;

namespace THNETII.WinApi.Native
{
// C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\minwindef.h, line 267
/// <summary>
/// Contains a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC).
/// </summary>
/// <remarks>
/// <para>To convert a <see cref="FILETIME"/> structure into a time that is easy to display to a user, use the <see cref="FileTimeToSystemTime"/> function.</para>
/// <para>It is not recommended that you add and subtract values from the <see cref="FILETIME"/> structure to obtain relative times. Instead, you should copy the low- and high-order parts of the file time to a <see cref="ULARGE_INTEGER"/> structure, perform 64-bit arithmetic on the <see cref="ULARGE_INTEGER.QuadPart"/> member, and copy the <see cref="ULARGE_INTEGER.LowPart"/> and <see cref="ULARGE_INTEGER.HighPart"/> members into the <see cref="FILETIME"/> structure.</para>
/// <para>Do not cast a pointer to a <see cref="FILETIME"/> structure to either a <see cref="ULARGE_INTEGER"/> pointer or <see cref="ulong"/> value because it can cause alignment faults on 64-bit Windows.</para>
/// <para>Not all file systems can record creation and last access time and not all file systems record them in the same manner. For example, on NT FAT, create time has a resolution of 10 milliseconds, write time has a resolution of 2 seconds, and access time has a resolution of 1 day (really, the access date). On NTFS, access time has a resolution of 1 hour. Therefore, the <see cref="GetFileTime"/> function may not return the same file time information set using the <see cref="SetFileTime"/> function. Furthermore, FAT records times on disk in local time. However, NTFS records times on disk in UTC. For more information, see <a href="https://docs.microsoft.com/windows/desktop/SysInfo/file-times">File Times</a>.</para>
/// <para>A function using the <see cref="FILETIME"/> structure can allow for values outside of zero or positive values typically specified by the <see cref="dwLowDateTime"/> and <see cref="dwHighDateTime"/> members. For example, the <see cref="SetFileTime"/> function uses <c>0xFFFFFFFF</c> to specify that a file's previous access time should be preserved. For more information, see the topic for the function you are calling.</para>
/// <para>Microsoft Docs page: <a href="https://docs.microsoft.com/en-us/windows/win32/api/sspi/ns-sspi-filetime">FILETIME structure</a></para>
/// </remarks>
/// <seealso cref="CompareFileTime"/>
/// <seealso href="https://docs.microsoft.com/windows/desktop/SysInfo/file-times">File Times</seealso>
/// <seealso cref="FileTimeToSystemTime"/>
/// <seealso cref="GetFileTime"/>
/// <seealso cref="ULARGE_INTEGER"/>
[StructLayout(LayoutKind.Sequential)]
public struct FILETIME
{
/// <summary>
/// The low-order part of the file time.
/// </summary>
public uint dwLowDateTime;
/// <summary>
/// The high-order part of the file time.
/// </summary>
public int dwHighDateTime;
/// <summary>
/// The 64-bit part of the file time.
/// </summary>
public long QuadDateTime
{
get
{
var li = new LARGE_INTEGER
{
LowPart = dwLowDateTime,
HighPart = dwHighDateTime
};
return li.QuadPart;
}
set
{
var li = new LARGE_INTEGER { QuadPart = value };
(dwLowDateTime, dwHighDateTime) = (li.LowPart, li.HighPart);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@

[assembly: SuppressMessage("Naming", "CA1720: Identifier contains type name")]
[assembly: SuppressMessage("Naming", "CA1707: Identifiers should not contain underscores")]
[assembly: SuppressMessage("Design", "CA1051: Do not declare visible instance fields")]
[assembly: SuppressMessage("Performance", "CA1815: Override equals and operator equals on value types")]
25 changes: 25 additions & 0 deletions src-shared/THNETII.WinApi.WindowsDataTypes/LARGE_INTEGER.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using System.Runtime.InteropServices;

namespace THNETII.WinApi.Native
{
// C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\winnt.h, line 818
/// <summary>
/// Represents a 64-bit signed integer value.
/// </summary>
/// <seealso cref="ULARGE_INTEGER"/>
[StructLayout(LayoutKind.Explicit)]
public struct LARGE_INTEGER
{
/// <summary/>
[FieldOffset(0)]
public uint LowPart;
/// <summary/>
[FieldOffset(sizeof(uint))]
public int HighPart;
/// <summary>
/// A signed 64-bit integer.
/// </summary>
[FieldOffset(0)]
public long QuadPart;
}
}
25 changes: 25 additions & 0 deletions src-shared/THNETII.WinApi.WindowsDataTypes/ULARGE_INTEGER.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using System.Runtime.InteropServices;

namespace THNETII.WinApi.Native
{
// C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\winnt.h, line 838
/// <summary>
/// Represents a 64-bit unsigned integer value.
/// </summary>
/// <seealso cref="LARGE_INTEGER"/>
[StructLayout(LayoutKind.Explicit)]
public struct ULARGE_INTEGER
{
/// <summary/>
[FieldOffset(0)]
public uint LowPart;
/// <summary/>
[FieldOffset(sizeof(uint))]
public uint HighPart;
/// <summary>
/// A signed 64-bit integer.
/// </summary>
[FieldOffset(0)]
public ulong QuadPart;
}
}
8 changes: 8 additions & 0 deletions src/THNETII.WinApi.Constants.Sspi/GlobalSuppressions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// 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("Naming", "CA1707: Identifiers should not contain underscores")]
11 changes: 11 additions & 0 deletions src/THNETII.WinApi.Constants.Sspi/SECQOP_FLAGS.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using System;

namespace THNETII.WinApi.Native.Sspi
{
[Flags]
public enum SECQOP_FLAGS : int
{
SECQOP_WRAP_NO_ENCRYPT = SspiConstants.SECQOP_WRAP_NO_ENCRYPT,
SECQOP_WRAP_OOB_DATA = SspiConstants.SECQOP_WRAP_OOB_DATA,
}
}
Loading