wlanreasoncodetostring (wlanapi)
Last changed: -84.233.245.68

.
Summary
The WlanReasonCodeToString function retrieves a string that describes a specified reason code.

C# Signature:

[DllImport("Wlanapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern uint WlanReasonCodeToString(uint dwReasonCode, uint dwBufferSize, StringBuilder pStringBuffer, IntPtr pReserved);

or

[DllImport("Wlanapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern uint WlanReasonCodeToString(WLAN_REASON_CODE dwReasonCode, uint dwBufferSize, StringBuilder pStringBuffer, IntPtr pReserved);

VB Signature:

Declare Function WlanReasonCodeToString Lib "wlanapi.dll" (TODO) As TODO

Parameters description:

- dwReasonCode: A WLAN_REASON_CODE value of which the string description is requested.

- dwBufferSize: The size of the buffer used to store the string, in WCHAR. If the reason code string is longer than the buffer, it will be truncated and NULL-terminated. If dwBufferSize is larger than the actual amount of memory allocated to pStringBuffer, then an access violation will occur in the calling program.

- pStringBuffer: Pointer to a buffer that will receive the string. The caller must allocate memory to pStringBuffer before calling WlanReasonCodeToString.

- pReserved: Reserved for future use. Must be set to NULL.

- return value: 0 in case of success; otherwise, an error code: ERROR_INVALID_PARAMETER (87) or another one.

User-Defined Types:

WLAN_REASON_CODE (enum) should be defined, if using the second signature.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

- `int` can be used instead of `uint`, at least in the C# version.

- The string that is returned is localized (seems to use the system language).

Tips & Tricks:

Please add some!

Sample Code:

uint reasonCode = 524289; // INVALID_PROFILE_SCHEMA
var stringBuffer = new StringBuilder(64);
WlanReasonCodeToString(reasonCode, stringBuffer.Capacity, stringBuffer, IntPtr.Zero);

Documentation