再开一贴,势要解决此问题;通过 CreateFile 打开无线网卡,并使用 DeviceIoControl 问题?
我从 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
得到了 网卡的名字,使用
memset(SymbolicLinkA,0,MAX_PATH);
strcpy(SymbolicLinkA,"\\\\.\\Global\\");
strcat(SymbolicLinkA,adaptername);//{6EFC6662-3A56-43E1-ABCE-0C4EAE89CC3B}
DeviceHandle = CreateFile(SymbolicLinkA, GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,INVALID_HANDLE_VALUE);
这步是 OK 的
result = DeviceIoControl(DeviceHandle,
pBIOCQUERYOID,
oidData1
buffLen1,
oidData1,
buffLen1,
&dwByteCount,
NULL//&lap
);
但是这步就不行了
---------------------------
如果使用了 winpcap 的 PacketOpenAdapter 操作以后(它是用这个 linkname "\\Device\\NPF_adaptername")
那么使用 "\\\\.\\NPF_adaptername" 使用上面的CreateFile 和 DeviceIoControl是成功的,否则无法成功
如果没有装 WINPCAP ,那怎么 CreateFile 并且成功的 DeviceIoControl ??
此贴解决,和上个帖子一起放分;