|
发表于 2012-5-11 10:36:18
|
显示全部楼层
本帖最后由 diddom 于 2012-5-11 11:42 编辑
没有正确的结构,不可能得到正确的记忆体大小配置
MIB_IF_ROW2和MIB_IF_TABLE2的结构用於Vista以上的OS
且看其宣告都是64位元在用的
返回值为零的话好像代表是要取出的记忆体大小配置错误
必须再重新跟系统要更多更大的记忆体区块给他
回过头来你还是必须写出正确的VB的MIB_IF_ROW2和MIB_IF_TABLE2的结构
typedef struct _MIB_IF_ROW2 {
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
GUID InterfaceGuid;
WCHAR Alias[IF_MAX_STRING_SIZE + 1];
WCHAR Description[IF_MAX_STRING_SIZE + 1];
ULONG PhysicalAddressLength;
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
ULONG Mtu;
IFTYPE Type;
TUNNEL_TYPE TunnelType;
NDIS_MEDIUM MediaType;
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
struct {
BOOLEAN HardwareInterface :1;
BOOLEAN FilterInterface :1;
BOOLEAN ConnectorPresent :1;
BOOLEAN NotAuthenticated :1;
BOOLEAN NotMediaConnected :1;
BOOLEAN Paused :1;
BOOLEAN LowPower :1;
BOOLEAN EndPointInterface :1;
} InterfaceAndOperStatusFlags;
IF_OPER_STATUS OperStatus;
NET_IF_ADMIN_STATUS AdminStatus;
NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
NET_IF_NETWORK_GUID NetworkGuid;
NET_IF_CONNECTION_TYPE ConnectionType;
ULONG64 TransmitLinkSpeed;
ULONG64 ReceiveLinkSpeed;
ULONG64 InOctets;
ULONG64 InUcastPkts;
ULONG64 InNUcastPkts;
ULONG64 InDiscards;
ULONG64 InErrors;
ULONG64 InUnknownProtos;
ULONG64 InUcastOctets;
ULONG64 InMulticastOctets;
ULONG64 InBroadcastOctets;
ULONG64 OutOctets;
ULONG64 OutUcastPkts;
ULONG64 OutNUcastPkts;
ULONG64 OutDiscards;
ULONG64 OutErrors;
ULONG64 OutUcastOctets;
ULONG64 OutMulticastOctets;
ULONG64 OutBroadcastOctets;
ULONG64 OutQLen;
} MIB_IF_ROW2, *PMIB_IF_ROW2;
光是看到这麽大~~~~~头就变大了
这位老兄不知道还在不在~在的话 一起把它完成
|
|