Лучший отвечающий
Как узнать тип сетевого диска (dvd-проигрывателя)?

Вопрос
-
Добрый день. Я не программирую на C++, поэтому не смогу воспользоваться инструментами языка C++.
Я сделал общий доступ к dvd-проигрывателю в локальной сети.
Функция "GetDriveType" сообщает, что это сетевой диск (4).
С помощью какой api-функции можно узнать, что это dvd-проигрыватель?
Задача: узнать информацию о сетевом диске и сообщить эту информацию юзеру. Никаких действий не нужно делать с dvd-проигрывателем.7 июля 2019 г. 12:02
Ответы
-
Ilya Tumanov, ни в гугле, ни в яндексе не могу выйти на официальную справку по Win32 API, в которой было бы описание api-функции DeviceIoControl.
Вы видимо как то уникально ищите, первый же результат во всех трех поисковиках (baidu я не пробовал) по запросу "DeviceIoControl" ведет прямо на нужное описание функции (вам его уже привели). Судя по всему на pinvoke.net есть и определение под нее если вы используйте один из CLR языков.
Кстати, чтоб вы знали на будущее: функции библиотек самого языка C обычно пишутся строчными буквами, а Win32 API обычно Pascal case. Типично можно даже справку не смотреть чтоб понять где какая. Например ioctl() это функция в библиотеке C, а DeviceIoControl() - Win32. Скорее всего первая вызывает вторую в коде библиотеки для Win32.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 10 июля 2019 г. 8:40
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 24 июля 2019 г. 12:49
9 июля 2019 г. 16:41Модератор -
Вот все функции kernel32: https://www.geoffchappell.com/studies/windows/win32/kernel32/api/index.htm
Также здесь: https://docs.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Изменено Maksim MarinovMicrosoft contingent staff, Moderator 9 июля 2019 г. 13:16
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 10 июля 2019 г. 8:41
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 24 июля 2019 г. 12:49
9 июля 2019 г. 13:13Модератор
Все ответы
-
Здравствуйте,
Посмотрите вариант предложенный здесь:
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
8 июля 2019 г. 13:26Модератор -
Maksim Marinov, по ссылке предлагается использовать инструменты языка C++.
Я эти инструменты не могу использовать, т.к. программирую на другом языке программирования.
Есть ли win32 api-функция, аналогичная си-функции "DeviceIoControl"?
9 июля 2019 г. 3:52 -
Maksim Marinov, по ссылке предлагается использовать инструменты языка C++.
Я эти инструменты не могу использовать, т.к. программирую на другом языке программирования.
Есть ли win32 api-функция, аналогичная си-функции "DeviceIoControl"?
DeviceIoControl и есть Win32 функция. Находится в Kernel32.dll.
Но вам это скорее всего не поможет, ведь устройства то на вашем ПК и нет, есть только сетевой редиректор.
This posting is provided "AS IS" with no warranties, and confers no rights.
9 июля 2019 г. 4:07Модератор -
Ilya Tumanov, ни в гугле, ни в яндексе не могу выйти на официальную справку по Win32 API, в которой было бы описание api-функции DeviceIoControl.9 июля 2019 г. 8:06
-
Вот все функции kernel32: https://www.geoffchappell.com/studies/windows/win32/kernel32/api/index.htm
Также здесь: https://docs.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Изменено Maksim MarinovMicrosoft contingent staff, Moderator 9 июля 2019 г. 13:16
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 10 июля 2019 г. 8:41
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 24 июля 2019 г. 12:49
9 июля 2019 г. 13:13Модератор -
Ilya Tumanov, ни в гугле, ни в яндексе не могу выйти на официальную справку по Win32 API, в которой было бы описание api-функции DeviceIoControl.
Вы видимо как то уникально ищите, первый же результат во всех трех поисковиках (baidu я не пробовал) по запросу "DeviceIoControl" ведет прямо на нужное описание функции (вам его уже привели). Судя по всему на pinvoke.net есть и определение под нее если вы используйте один из CLR языков.
Кстати, чтоб вы знали на будущее: функции библиотек самого языка C обычно пишутся строчными буквами, а Win32 API обычно Pascal case. Типично можно даже справку не смотреть чтоб понять где какая. Например ioctl() это функция в библиотеке C, а DeviceIoControl() - Win32. Скорее всего первая вызывает вторую в коде библиотеки для Win32.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 10 июля 2019 г. 8:40
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 24 июля 2019 г. 12:49
9 июля 2019 г. 16:41Модератор