Hi

I am just beginner in using the Perl module Win32::API. I could successfully invoke the Win32 API's and parse the return values using this module. But now I am stuck at a point where I have to invoke the API with a parameter of data type LPCWSTR as an input parameter. I tried following method to achieve the same.

$profileName = encode("UTF-16LE", $profileName); $profileName = pack ('p', $profileName); $API{ api}->Call($handle, $interface, $profileName, 0, $profileXml +, 0, 0));

API declaration:

DWORD WINAPI WlanGetProfile( __in HANDLE hClientHandle, __in const GUID *pInterfaceGuid, __in LPCWSTR strProfileName, __reserved PVOID pReserved, __out LPWSTR *pstrProfileXml, __inout_opt DWORD *pdwFlags, __out_opt PDWORD pdwGrantedAccess );

Output is:

Argument "t\0e\0s\0t\0\0\0\0\0\0\0\0\0\0\0\0\0..." isn't numeric in su +broutine entry at ...

Please help me by suggesting any work around to convert the string to LPCWSTR format before invoking the API. Also output of this API call is also a pointer type(LPWSTR). Hence please help me here also.


In reply to Win32::API : Creating a LPCWSTR type input parameter from a string by ajose

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.