_SHExpandEnvironmentStrings() should return input string if no % found to expand?

Hans Leidekker hans at it.vu.nl
Sun Oct 24 05:55:32 CDT 2004

On Sunday 24 October 2004 01:35, James Hawkins wrote:

> The reason why I said to ignore this patch is because there has to be
> both an A and   a W version of it.  I'm pretty sure that this cast:

No, I believe this is an exception. I assume that the spec file
is correct in that there are no A and W versions of this function
in shell32, it's just WSCEnumProtocols().

> (PROTOCOL_INFOA *)buffer
> from a LPWSAPROTOCOL_INFOW structure isn't going to work. 

No, it will work. The cast probably there because the original author
didn't want to write two functions. Instead he added a bool to the 
internal function that specifies whether the buffer is unicode or 
not. The cast is then needed to keep the compiler happy.

> WSAPROTOCOL_INFO and PROTOCOL_INFO don't even have the same fields:

No, but WSCEnumProtocols() wants WSAPROTOCOL_INFOW structures, just
like WSAEnumProtocolsW(). Quote from MSDN:

int WSCEnumProtocols(
  LPINT lpiProtocols,
  LPDWORD lpdwBufferLength,
  LPINT lpErrno


More information about the wine-devel mailing list