Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

QuerySecurityPackageInfo (secur32)
 
.

Retrieves information about a specified security package. This information includes the bounds on sizes of authentication information, credentials, and contexts.

C# Signature:

[DllImport("secur32.dll", SetLastError=true)]
static extern long QuerySecurityPackageInfo(string pszPackageName, out IntPtr ppPackageInfo);
static extern long QuerySecurityPackageInfo(string pszPackageName, out SecPkgInfo ppPackageInfo);

[StructLayout(LayoutKind.Sequential)]
public struct SecPkgInfo
{
   public UInt32 fCapabilities;
   public UInt16 wVersion;
   public UInt16 wRPCID;
   public UInt32 cbMaxToken;
   public string Name;
   public string Comment;
   ulong fCapabilities;
   ushort wVersion;
   ushort wRPCID;
   ulong cbMaxToken;
   string Name;
   string Comment;
}

VB Signature:

Declare Function QuerySecurityPackageInfo Lib "secur32.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

IntPtr packagePtr;

QuerySecurityPackageInfo("Kerberos", out packagePtr);

      SecPkgInfo spi;
      Secur32Wrapper.QuerySecurityPackageInfo("NTLM", out spi);

int error = Marshal.GetLastWin32Error();

if (error == 0 && packagePtr != IntPtr.Zero)

{

    SecPkgInfo secPkgInfo = (SecPkgInfo)Marshal.PtrToStructure(packagePtr, typeof(SecPkgInfo));

}

Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions