The SecPkgInfo structure provides general information about a security package, such as its name and its capabilities.
typedef struct _SecPkgInfo {
      ULONG fCapabilities;  // capability of bit mask
      USHORT wVersion;      // version of driver
      USHORT wRPCID;        // identifier for RPC run time
      ULONG cbMaxToken;     // size of authentication token
      SEC_CHAR * Name;      // text name
      SEC_CHAR * Comment;   // comment
} SecPkgInfo, * PSecPkgInfo;   
 | Value | Meaning | 
|---|---|
| SECPKG_FLAG_INTEGRITY | Verify that all messages exchanged have not been tampered with or exchanged out of sequence. | 
| SECPKG_FLAG_PRIVACY | All messages are tamper proof and are not passed in cleartext. Reserved for future use. | 
| SECPKG_FLAG_TOKEN_ONLY | The package is interested only in the security-token portion of messages, and will ignore any other buffers. This is a performance-related issue. | 
| SECPKG_FLAG_DATAGRAM | Supports datagram-style authentication. For more information, see Context Semantics. | 
| SECPKG_FLAG_CONNECTION | Supports connection-oriented style authentication. For more information, see Context Semantics. | 
| SECPKG_FLAG_MULTI_REQUIRED | Multiple legs are required for authentication. | 
| SECPKG_FLAG_CLIENT_ONLY | Server authentication support is not provided. | 
| SECPKG_FLAG_EXTENDED_ERROR | Supports extended error handling. For more information, see Extended Error Information. | 
| SECPKG_FLAG_IMPERSONATION | Supports Win32 impersonation in server contexts. | 
| SECPKG_FLAG_ACCEPT_WIN32_NAME | Understands Win32 principal and target names. | 
| SECPKG_FLAG_STREAM | Supports stream semantics. For more information, see Context Semantics. | 
EnumerateSecurityPackages, QuerySecurityPackageInfo