.版本 2
.支持库 spec
.子程序 取网卡MAC地址, 文本型, , 返回网卡MAC地址,失败返回空
.参数 ServiceName, 文本型
.局部变量 网卡MAC地址, 文本型
.局部变量 hDev, 整数型
.局部变量 bresult, 逻辑型
.局部变量 inBuf, 整数型
.局部变量 outBuf, 字节集
.局部变量 dwSize, 整数型
.局部变量 dwID, 整数型
hDev = CreateFile (“\\.\” + ServiceName, 位或 (#GENERIC_WRITE, #GENERIC_READ), 位或 (#FILE_SHARE_READ, #FILE_SHARE_WRITE), 0, #OPEN_EXISTING, 0, 0)
.如果真 (hDev > 0)
outBuf = 取空白字节集 (256)
inBuf = #OID_802_3_PERMANENT_ADDRESS
bresult = DeviceIoControl2 (hDev, #IOCTL_NDIS_QUERY_GLOBAL_STATS, inBuf, 4, outBuf, 256, dwSize, 0)
.如果真 (bresult)
网卡MAC地址 = 字节集MAC到十六进制文本 (取字节集左边 (outBuf, dwSize))
调试输出 (“物理mac”, 网卡MAC地址)
.如果真结束
outBuf = 取空白字节集 (256)
inBuf = #OID_802_3_CURRENT_ADDRESS
bresult = DeviceIoControl2 (hDev, #IOCTL_NDIS_QUERY_GLOBAL_STATS, inBuf, 4, outBuf, 256, dwSize, 0)
.如果真 (bresult)
调试输出 (“当前mac”, 字节集MAC到十六进制文本 (取字节集左边 (outBuf, dwSize)))
.如果真结束
CloseHandle (hDev)
返回 (网卡MAC地址)
.如果真结束
返回 (“”)
DeviceIoControl取网卡MAC.e
(22.42 KB, 下载次数: 131)
|