Поделиться через


Доступ к сведениям о конфигурации

Расширение класса 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-объектов и сетевых адресов, настраиваемых программно.