访问配置信息

NetAdapterCx 类扩展支持一组函数,这些函数提供对客户端驱动程序注册表参数的访问。

通常,客户端驱动程序从其 EVT_WDF_DRIVER_DEVICE_ADD 回调函数读取配置信息。

对于 NetAdapter 对象,首先调用 NetAdapterOpenConfiguration 以获取配置对象的句柄。 然后,可以对其进行查询:

NETCONFIGURATION configuration;

status = NetAdapterOpenConfiguration(NetAdapter, 
                                     WDF_NO_OBJECT_ATTRIBUTES, 
                                     &configuration);
if (!NT_SUCCESS(status)) {
    return status;
}

status = NetConfigurationQueryUlong(configuration, 
                                    NET_CONFIGURATION_QUERY_ULONG_NO_FLAGS, 
                                    &SomeValue, 
                                    &myvalue);

NetConfigurationClose(configuration);

打开和查询网络设备的配置对象是类似的:

status = NetDeviceOpenConfiguration(Device, 
                                    WDF_NO_OBJECT_ATTRIBUTES, 
                                    &configuration);
if(!NT_SUCCESS(status))
{
    return status;
}

WDFCOLLECTION myStrings;

DECLARE_CONST_UNICODE_STRING(myValueName, L"ExampleValueName");

status = NetConfigurationQueryMultiString(configuration,
                                          myValueName,
                                          WDF_NO_OBJECT_ATTRIBUTES,
                                          myStrings);

有一些 NetConfiguration* 函数可用于查询 ULONG 数据、字符串、多字符串 (类似于REG_MULTI_SZ) 、二进制 Blob 和软件可配置的网络地址: