[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);
Declare Function WlanReasonCodeToString Lib "wlanapi.dll" (TODO) As TODO
- 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 (IntPtr.Zero in C#).
WLAN_REASON_CODE (enum) should be defined, if using the second signature.
Do you know one? Please contribute it!
- `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).
Please add some!
uint reasonCode = 524289; // INVALID_PROFILE_SCHEMA
var stringBuffer = new StringBuilder(64);
WlanReasonCodeToString(reasonCode, stringBuffer.Capacity, stringBuffer, IntPtr.Zero);