"Mike McCormack" mike@codeweavers.com wrote:
- LINK_ADVERTISEINFO buffer;
- EXP_DARWIN_LINK buffer;
...
- TRACE("magic %08lx string = %s\n", buffer.magic, debugstr_w(buffer.bufW));
- TRACE("magic %08lx string = %s\n", buffer.dbh.dwSignature, debugstr_w(buffer.szwDarwinID));
- if( (buffer.magic&0xffff0000) != 0xa0000000 )
- if( (buffer.dbh.dwSignature&0xffff0000) != 0xa0000000 )
After reading your patch I inspected ShlObj.h from PlatformSDK and found out the following:
typedef struct { DWORD cbSize; // Size of this extra data block DWORD dwSignature; // signature of this extra data block CHAR szTarget[ MAX_PATH ]; // ANSI target name w/EXP_SZ in it WCHAR swzTarget[ MAX_PATH ]; // UNICODE target name w/EXP_SZ in it } EXP_SZ_LINK, *LPEXP_SZ_LINK; #define EXP_SZ_LINK_SIG 0xA0000001 // LPEXP_SZ_LINK (target) #define EXP_SZ_ICON_SIG 0xA0000007 // LPEXP_SZ_LINK (icon)
Is it a better choice?