"Mike McCormack" <[EMAIL PROTECTED]> 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? -- Dmitry.