Added basic functionality to query package information.

This commit is contained in:
antiduh
2014-06-25 20:14:12 +00:00
parent 5f3fd64169
commit 6dfaa54b63
5 changed files with 139 additions and 4 deletions

42
PackageSupport.cs Normal file
View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace NSspi
{
public static class PackageSupport
{
public static SecPkgInfo GetPackageCapabilities( string packageName )
{
SecPkgInfo info;
SecurityStatus status;
SecurityStatus freeStatus;
IntPtr rawInfoPtr;
rawInfoPtr = new IntPtr();
info = new SecPkgInfo();
RuntimeHelpers.PrepareConstrainedRegions();
try
{ }
finally
{
status = NativeMethods.QuerySecurityPackageInfo( packageName, ref rawInfoPtr );
if( status == SecurityStatus.OK && rawInfoPtr != IntPtr.Zero )
{
Marshal.PtrToStructure( rawInfoPtr, info );
freeStatus = NativeMethods.FreeContextBuffer( rawInfoPtr );
}
}
return info;
}
}
}