SHELL32: use structure defined in standard headers for advertised shortcut info

Dmitry Timoshkov dmitry at baikal.ru
Tue Mar 15 20:48:57 CST 2005


"Mike McCormack" <mike at 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?

-- 
Dmitry.




More information about the wine-devel mailing list