| Предыдущий | Следующий |
| S_ADS_NOMORE_ROWS | STG_S_CONVERTED |
S_ADS_NOMORE_COLUMNS
S_ADS_NOMORE_COLUMNS завершает перечисление столбцов текущей строки результата поиска. Результаты поиска ADSI организованы по строкам, а каждая строка может предоставлять набор возвращённых атрибутов через API столбцов; конец одной строки не означает завершение всего поиска.
Разделяйте состояния итерации строк и столбцов
- При перечислении столбцов сбрасывайте состояние их обработки после перехода к новой строке.
- Если приложение запросило явный набор атрибутов, сравнивайте возвращённые столбцы с этим запросом, не предполагая наличия значения каждого атрибута у каждого объекта.
- Освобождайте каждый
ADS_SEARCH_COLUMN, полученный черезGetColumn, вызовомFreeColumnдо продолжения.
Распространённая ошибка — использовать одно условие завершения для обоих циклов и случайно остановиться после первой строки. Microsoft описывает отдельные контракты итерации строк и получения столбцов: строки продвигаются через GetFirstRow/GetNextRow, а данные столбца представлены ADS_SEARCH_COLUMN. При диагностике отсутствующих данных записывайте идентификатор текущей строки и имя столбца; отсутствие значения столбца отличается от исчерпания столбцов, доступных для строки.
Перечисление результатов IDirectorySearch · Общие состояния ADSI
Нужно найти другой код? Найти другой код состояния или ошибки.
