0

Прошу помочь... Необходимо получить список пользователей. Использую функцию:

void FindUser() {
    comboBox1->Items->Clear();
    LPUSER_INFO_3 ui = NULL;
    (LPBYTE*) ui = NULL; // ОШИБКА error C2106: '=' : left operand must be l-value
    DWORD dwRead = 0;
    DWORD dwTotal = 0;

    NetUserEnum(NULL, 3, FILTER_NORMAL_ACCOUNT,
                (LPBYTE * ) & ui, (DWORD) - 1, &dwRead,
                &dwTotal, NULL);

    for (DWORD i = 0; i < dwRead; i++) {
        comboBox1->Items->Add(Convert::ToString(ui->usri3_name));
        ui++;
    }
}

Получаю ошибку

fatal error LNK1120: 2 unresolved externals...

Как правильно сделать? Как исправить? Прошу, помогите!

Anna
  • 127
  • Так про какую именно ошибку ваш вопрос? "left operand must be l-value" или "unresolved externals"? – AnT stands with Russia Jan 07 '19 at 07:44
  • 1
    Могу предположить что не хватает заголовка #include <lm.h>, а строка (LPBYTE *)ui = NULL; просто лишняя, надо убрать. И функция живёт в Netapi32.dll – NewView Jan 07 '19 at 08:00
  • @NewView, спасибо! Действительно забыла про dll... Вы не знаете, почему Convert::ToString(ui->usri3_name) возвращает TRUE, а не имя пользователя? – Anna Jan 07 '19 at 08:52
  • Метод Convert::ToString ожидает на входе тип из управляемого кода .NET. Вы ему подсовываете нативный тип. Поэтому выбирается перегрузка с входным параметром bool. – Alexander Petrov Jan 08 '19 at 08:06

0 Answers0