Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: pack()ing Win32 Structures

by jsprat (Curate)
on May 06, 2002 at 02:06 UTC ( #164208=note: print w/replies, xml ) Need Help??


in reply to pack()ing Win32 Structures

A couple of things -

  1. 'u' in the pack template is UUEncoded text, I think you want 'U' for unicode, right? The template you are looking for should be "LU32PLU32PL"
  2. Instead of " " x 32, pass a list of 32 32's, for example:
    push @splist, 32 for (1 .. 32); $tz_struct = pack("LU32PLU32PL", 0, @splist, $systime_struct, 0, @splist, $systime_struct, 0 +);
  3. 'P' and 'N' are constants defined in Win32::API, not strings. The third parameter to new Win32::API should be an anonymous list or an array reference, not a string literal
    'GetTimeZoneInformation', [P], N
  4. Have fun unpacking the unicode string! If all you are interested in is the bias, try "LS64PLS64PL" for the template.

Update:

Updated my Win32::API, and updated #3 above. Thanks mothra:-)
BTW, $bias returns 480 after making the above modifications (UTC -8)

Replies are listed 'Best First'.
Re: Re: pack()ing Win32 Structures
by mothra (Hermit) on May 06, 2002 at 02:27 UTC
    'P' and 'N' are constants defined in Win32::API, not strings. The third parameter to new Win32::API should be an anonymous list or an array reference, not a string literal
    'GetTimeZoneInformation', [P], N
    FWIW, according to the documentation, string literals are allowed for specifying the types of the parameters.
      You must have a newer version of Win32::API than I do. The docs in mine say:

      The third parameter, the input parameter list, specifies how many arguments the function wants, and their types. It MUST be passed as a list reference.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://164208]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2021-04-22 19:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?