Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с GetNetworkParams
Форум на CrossPlatform.RU > Библиотеки > Другие библиотеки
crazymonkey
Добрый день.
Суть проблемы.
Код в Visual Studio
   DWORD Err;
    DWORD FixedInfoSize = 0;

    //
    // Get the main IP configuration information for this machine using a FIXED_INFO structure
    //

if ((Err = GetNetworkParams(NULL, &FixedInfoSize)) != 0)
    {
        if (Err != ERROR_BUFFER_OVERFLOW)
        {
            printf("GetNetworkParams sizing failed with error %d\n", Err);
            return;
        }
    }
    printf("Hi %d\n", Err);

И так далее исходники ipconfig

Вывод: Hi 111
Выполняется без проблем.

Код в QtCreator
DWORD FixedInfoSize = 0;
    DWORD Err;

    qDebug() << "!!";

    //
    // Get the main IP configuration information for this machine using a FIXED_INFO structure
    //
    if ((Err = GetNetworkParams(NULL, &FixedInfoSize)) != 0)
        {
        if (Err != ERROR_BUFFER_OVERFLOW)
        {
            qDebug() << "GetNetworkParams sizing failed with error" <<  Err;
        }
        }

    qDebug() << "hey";

Вывод: !!

Вылетает с сообщением что работа программы остановлена

Есть ли у вас мнения почему так может быть?
Litkevich Yuriy
Цитата(crazymonkey @ 15.8.2011, 18:09) *
Код в Visual Studio
А в этом коде кроме qDebug какая часть имеет отношение к Qt?
ssoft
Сигнатура метода

DWORD GetNetworkParams(
  __out  PFIXED_INFO pFixedInfo,
  __in   PULONG pOutBufLen
);


Необходимо передавать в качестве первого параметра не NULL, а указатель на структуру FIXED_INFO.

Вызываемая реализация Visual Studio и QtCreator (gcc) может быть разная. Вероятно, во втором случае нет проверки на NULL.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.