132{
133
137
138 trace(
"Running testEnumerateSecurityPackages\n");
139
140 sec_status = pEnumerateSecurityPackagesA(&num_packages, &pkg_info);
141
143 "EnumerateSecurityPackages() should return %d, not %08x\n",
145
146 if (num_packages == 0)
147 {
149 ok(num_packages > 0,
"Number of sec packages should be > 0 ,but is %d\n",
150 num_packages);
151 skip(
"no sec packages to check\n");
152 return;
153 }
154 else
155 ok(num_packages > 0,
"Number of sec packages should be > 0 ,but is %d\n",
156 num_packages);
157
159 "pkg_info should not be NULL after EnumerateSecurityPackages\n");
160
161 trace(
"Number of packages: %d\n", num_packages);
162 for(
i = 0;
i < num_packages; ++
i){
163 trace(
"%d: Package \"%s\"\n",
i, pkg_info[
i].
Name);
164 trace(
"Supported flags:\n");
165#define X(flag) \
166 if(pkg_info[i].fCapabilities & flag) \
167 trace("\t" #flag "\n")
168
193#undef X
196 }
197
198 pFreeContextBuffer(pkg_info);
199}
#define SECPKG_FLAG_APPCONTAINER_CHECKS
#define SECPKG_FLAG_TOKEN_ONLY
#define SECPKG_FLAG_IMPERSONATION
#define SECPKG_FLAG_CLIENT_ONLY
#define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH
#define SECPKG_FLAG_STREAM
#define SECPKG_FLAG_EXTENDED_ERROR
#define SECPKG_FLAG_PRIVACY
#define SECPKG_FLAG_RESTRICTED_TOKENS
#define SECPKG_FLAG_MULTI_REQUIRED
#define SECPKG_FLAG_CONNECTION
#define SECPKG_FLAG_NEGOTIABLE
#define SECPKG_FLAG_DELEGATION
#define SECPKG_FLAG_INTEGRITY
#define SECPKG_FLAG_ASCII_BUFFERS
#define SECPKG_FLAG_MUTUAL_AUTH
#define SECPKG_FLAG_DATAGRAM
#define SECPKG_FLAG_NEGO_EXTENDER
#define SECPKG_FLAG_NEGOTIABLE2
#define SECPKG_FLAG_LOGON
#define SECPKG_FLAG_READONLY_WITH_CHECKSUM
#define SECPKG_FLAG_FRAGMENT
#define SECPKG_FLAG_ACCEPT_WIN32_NAME
#define SECPKG_FLAG_GSS_COMPATIBLE