C# WlanQueryInterface无法解释地失败
我在这件事上绞尽脑汁已经有一段时间了。WLan中一个看似简单的命令对我来说失败了。我正在尝试执行以下代码:C# WlanQueryInterface无法解释地失败,c#,pinvoke,wifi,C#,Pinvoke,Wifi,我在这件事上绞尽脑汁已经有一段时间了。WLan中一个看似简单的命令对我来说失败了。我正在尝试执行以下代码: [DllImport("Wlanapi.dll", EntryPoint = "WlanQueryInterface", SetLastError = true)] public static extern uint WlanQueryInterface( [In] IntPtr hClientHandle, [In] ref Guid pInterfaceGuid,
[DllImport("Wlanapi.dll", EntryPoint = "WlanQueryInterface", SetLastError = true)]
public static extern uint WlanQueryInterface(
[In] IntPtr hClientHandle,
[In] ref Guid pInterfaceGuid,
WLAN_INTF_OPCODE OpCode,
IntPtr pReserved,
[Out] out uint pdwDataSize,
ref IntPtr ppData,
IntPtr pWlanOpcodeValueType);
var tempID = InterfaceID;
UInt32 dataSize;
IntPtr pData = IntPtr.Zero;
uint results = WlanQueryInterface(
_sessionHandle,
ref tempID,
WLAN_INTF_OPCODE.wlan_intf_opcode_current_connection,
IntPtr.Zero,
out dataSize,
ref pData,
IntPtr.Zero);
我每次得到的结果都是50分,没有指针。我已经搜索过,无法确定50作为返回值的含义。我最好的猜测是它的错误状态无效。但我也无法找到文档中列出的错误状态的任何定义
我以前打开过一个句柄,并验证它是否仍然有效。我还验证了在本例中从InterfaceInfo结构检索的接口Guid是否正确。我使用了很多不同的WLan方法,没有类似的问题,所以我猜我没有正确定义P/Invoke声明
如果有人看到我的错误,我发誓我会改变 不支持此错误。它做不到。谢谢,这回答了一个问题。你从哪里得到这个定义的?知道为什么不能吗?错误代码列在WinError.h SDK头文件中。不,当我对你的硬件和操作系统一无所知时,错误就不被支持了。