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, LPWSAPROTOCOL_INFOW lpProtocolBuffer, LPDWORD lpdwBufferLength, LPINT lpErrno );
-Hans