From: Andrew S. <ac...@sy...> - 2003-04-10 21:54:11
|
> -----Original Message----- > From: David Fraser [mailto:da...@sj...] > Sent: April 10, 2003 02:39 > To: Andrew Stadt > Cc: 'Christopher Seawood'; min...@li... > Subject: Re: [Mingw-users] possibly misnamed function declaration in > sspi.h > > > Andrew Stadt wrote: > > >>-----Original Message----- > >>From: min...@li... > >>[mailto:min...@li...]On Behalf Of > >>Christopher > >>Seawood > >>Sent: April 9, 2003 20:21 > >>To: min...@li... > >>Subject: [Mingw-users] possibly misnamed function declaration > >>in sspi.h > >> > >> > >>We're still working on landing mingw support for Mozilla and > >>we have run > >>into another win32 vs w32api issue. In the SecurityFunctionTableA & > >>SecurityFunctionTableW structs in sspi.h, win32 has a > >>function prototype > >>named FreeCredentialHandle and w32api uses the name > >>FreeCredentialsHandle (note the extra s). Is this difference > >>intentional? > >> > >>- cls > >> > >> > > > >More Microsoft weirdness? According to Microsoft's SDK, the > >SecurityFunctionTable[A|W] is supposed to have a member named > >"FreeCredentialsHandle". I don't keep a copy of MS's > headers on my system, > >if you have access to those headers, I suggest you take a > look at both > >structures to see what they did. > > > >I think the simple solution would be to add something like: > > > >#define FreeCredentialHandle FreeCredentialsHandle > > > >in your own headers. > > > >HTH, Andrew. > > > > > I don't think that's going to work ... > According to the headers with VC++ 6, there's a function > SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle(PCredHandle > phCredential); > outside of the SecurityFunctionTable[A|W], but inside, > there's a member > FREE_CREDENTIALS_HANDLE_FN FreeCredentialHandle; > So doing a define would confuse things greatly. > > Doing Google searches for FreeCredentialsHandle and > FreeCredentialHandle > yields more info, including Microsoft documentation confirming this: > > http://www.microsoft.com/TechNet/prodtechnol/windows2000serv/m aintain/security/sspi2k.asp I'm pretty sure this was originally a Microsoft type as the other related functions in the structure have a plural Credentials as well as the function types, but now that it's in there, it's the definition ... so I think the w32api headers should change to reflect this... David You're probably correct in your assertion. I would like to examine MS's headers, but I don't want to contaminate my system. According to the link you provided above, typedef struct _SECURITY_FUNCTION_TABLE_W { . . . // QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW; ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW; FREE_CREDENTIALS_HANDLE_FN FreeCredentialHandle; void SEC_FAR * Reserved2; . . . yet according to msdn (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/s ecurity/securityfunctiontable.asp), typedef struct SECURITY_FUNCTION_TABLE { . . . QUERY_CREDENTIAL_ATTRIBUTES_FN QueryCredentialsAttributes; ACQUIRE_CREDENTIALS_HANDLE_FN AcquireCredentialsHandle; FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle; void SEC_FAR* Reserved2; . . . So which one do you deem to be more authorative? |