WINCE 网卡控制
最近在搞wifi上網,看了些這方面的資料,稍微總結點東西:)
DeviceIoControl和底層通信:
方法1 :把第二個參數設為IOCTL_NDIS_REBIND_ADAPTER。
方法2 :把第二個參數設為IOCTL_NDIS_UNBIND_ADAPTER,然后再IOCTL_NDIS_BIND_ADAPTER。
獲取設備的句柄 :?
hNdis = CreateFile(DD_NDIS_DEVICE_NAME, GENERIC_READ | GENERIC_WRITE,
??????????????????????? FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS,
??????????????????????? 0, NULL);
(note:?用DeviceIoControl后面第二個參數帶IOCTL_NDIS_GET_ADAPTER_NAMES的話很容易獲取到網卡的名字,可以用來遍歷網卡。如果照我所說的方法,編譯出現問題,你可能沒包含ntddndis.h這個頭文件。)
?
BOOL DoNdisIOControl(DWORD dwCommand, LPVOID pInBuffer,
????????????????????????????????? DWORD cbInBuffer, LPVOID pOutBuffer,
????????????????????????????????? DWORD * pcbOutBuffer)
{
?? HANDLE hNdis;
?? BOOL fResult = FALSE;
?? hNdis = CreateFile(DD_NDIS_DEVICE_NAME, GENERIC_READ | GENERIC_WRITE,
??????????????????????? FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS,
??????????????????????? 0, NULL);
?? if (INVALID_HANDLE_VALUE != hNdis)
?? {
????? fResult = DeviceIoControl(hNdis, dwCommand, pInBuffer, cbInBuffer,
????????????????????????????????? pOutBuffer, (pcbOutBuffer ? *pcbOutBuffer : 0),
????????????????????????????????? pcbOutBuffer, NULL);
????? CloseHandle(hNdis);
?? }
?? return fResult;
}
總結
以上是生活随笔為你收集整理的WINCE 网卡控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兑换微软积分导致大批用户被封号 官方回应
- 下一篇: JOJ的2042面试题目的数学推导过程