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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.