Перечисление устройств хранения данных

Тема в разделе "WASM.WIN32", создана пользователем RamMerLabs, 2 янв 2009.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Доброго времени суток!

    Возник очередной вопрос: как можно перечислить все локальные устройства хранения данных (со сменными носителями и fixed, флоппы и сетевые диски не важны), чтобы результатом перечисления была ссылка вида "\\.\PhysicalDeviceX", "\\.\CDROMX" или др, главное чтобы впоследствии можно было совершить ZwCreateFile по этой строке. всё для Native-приложения, желательно обойтись одной ntdll.dll в импорте :) есть варианты?
    как обычно, заранее благодарен
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Вызывай CreateFile в цикле пока не получишь ошибку.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    неужели это единственный способ?
     
  4. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Я других не знаю. А чем этот способ плох ?
     
  5. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    долговато получаецца выполнение

    но видимо придётся юзать именно так
     
  6. ams007

    ams007 New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2007
    Сообщения:
    86
    Способ имеет право на жизнь, только не в коем случае нельзя делать цикл до возникновения ошибки(может, флешку выдернули и тд.).
    Есть ф-я, смотрит по таблице MountPointManager и еще чему-то там. Только я не помню как она называется и сказать смогу не раньше какого там числа на работу))).