填充 NDIS_GUID 结构

NDIS_GUID结构定义如下:

typedef struct _NDIS_GUID {
  GUID  Guid;
  union {
    NDIS_OID  Oid;
    NDIS_STATUS  Status;
  };
  ULONG  Size;
  ULONG  Flags;
} NDIS_GUID, *PNDIS_GUID;

若要获取结构的 Guid 成员的 GUID ,可以运行 Uuidgen.exe 应用程序。 有关此应用程序的详细信息,请参阅 生成接口 UUID

OidStatus 成员是 ULONG,它是一个 OID 代码。 NDIS 6.0 不会将自定义状态指示映射到 WMI GUID。

如果NDIS_GUID结构映射返回数据项数组的 OID, 则 Size 成员指定数组中每个数据项的大小(以字节为单位)。 如果数据不是数组,则 Size 成员指定数据的大小。 如果数据项的大小可变,或者 OID 不返回数据, 则 Size 成员必须为 -1。

Flags 成员的以下值的按位 OR 指示与 GUID 关联的数据类型:

fNDIS_GUID_TO_OID
设置此标志后,NDIS_GUID结构会将 GUID 映射到 OID。

fNDIS_GUID_TO_STATUS
为 NDIS 保留。 微型端口驱动程序不应使用此标志。

fNDIS_GUID_ANSI_STRING
设置此标志时,会为 GUID 提供以 null 结尾的 ANSI 字符串。

fNDIS_GUID_UNICODE_STRING
设置此标志时,将为 GUID 提供 Unicode 字符串。

fNDIS_GUID_ARRAY
设置此标志时,会为 GUID 提供一个数据项数组。 指定的 Size 值指示数组中每个数据项的长度。

fNDIS_GUID_ALLOW_READ
设置此标志后,所有用户都可以使用此 GUID 来获取信息。

fNDIS_GUID_ALLOW_WRITE
设置此标志后,所有用户都可以使用此 GUID 来设置信息。

注意 默认情况下,只有具有管理员权限的用户才能访问微型端口驱动程序提供的自定义 WMI GUID。 如果微型端口驱动程序支持该 GUID 的读取或写入操作,则具有管理员特权的用户始终可以读取或写入自定义 GUID。 可以设置fNDIS_GUID_ALLOW_READ和fNDIS_GUID_ALLOW_WRITE标志,以允许所有用户访问自定义 GUID。

请注意,对于驱动程序注册的所有自定义 GUID,驱动程序必须设置fNDIS_GUID_TO_OID。 微型端口驱动程序绝不应设置fNDIS_GUID_TO_STATUS。 可以使用按位 OR 运算组合所有其他标志。