_SHExpandEnvironmentStrings() should return input string if no % found to expand?
James Hawkins
truiken at gmail.com
Sat Oct 23 18:35:28 CDT 2004
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:
(PROTOCOL_INFOA *)buffer
from a LPWSAPROTOCOL_INFOW structure isn't going to work.
WSAPROTOCOL_INFO and PROTOCOL_INFO don't even have the same fields:
typedef struct _WSAPROTOCOL_INFOW
{
DWORD dwServiceFlags1;
DWORD dwServiceFlags2;
DWORD dwServiceFlags3;
DWORD dwServiceFlags4;
DWORD dwProviderFlags;
GUID ProviderId;
DWORD dwCatalogEntryId;
WSAPROTOCOLCHAIN ProtocolChain;
int iVersion;
int iAddressFamily;
int iMaxSockAddr;
int iMinSockAddr;
int iSocketType;
int iProtocol;
int iProtocolMaxOffset;
int iNetworkByteOrder;
int iSecurityScheme;
DWORD dwMessageSize;
DWORD dwProviderReserved;
WCHAR szProtocol[WSAPROTOCOL_LEN+1];
} WSAPROTOCOL_INFOW, *LPWSAPROTOCOL_INFOW;
typedef struct _PROTOCOL_INFOW
{
DWORD dwServiceFlags;
INT iAddressFamily;
INT iMaxSockAddr;
INT iMinSockAddr;
INT iSocketType;
INT iProtocol;
DWORD dwMessageSize;
LPWSTR lpProtocol;
} PROTOCOL_INFOW, *PPROTOCOL_INFOW, *LPPROTOCOL_INFOW;
To implement this the way you wanted, by calling WSAEnumProtocols,
you'd have to make an A and W version, and in each of those you would
have to make the appropriate PROTOCOL_INFO struct by pulling out the
relevant fields from WSAPROTOCOL_INFO. That is why I didn't want my
version committed.
On Sun, 24 Oct 2004 00:17:35 +0200, Hans Leidekker <hans at it.vu.nl> wrote:
> On Saturday 23 October 2004 21:00, Dan Kegel wrote:
>
> > I'm trying to install an app using
> > Wine cvs as of about Sat Oct 23 07:00:00 PDT 2004
> > plus the patch http://article.gmane.org/gmane.comp.emulators.wine.patches/11184
> > from James Hawkins <truiken at gmail.com>
> > to get around the problem that the program terminates immediately
> > if it can't find at least a stub for WSCEnumProtocols.
>
> WSCEnumProtocols is an elaboration on WSAEnumProtocols for which we
> already have an implementation. This patch simply uses the existing
> implementation.
>
> -Hans
>
> Changelog:
> Implement WSCEnumProtocols.
>
>
>
--
James Hawkins
More information about the wine-patches
mailing list