Вопрос

В Unix все является файлом, поэтому вы можете использовать файловые функции ввода-вывода с каналами, файлами, сокетами и т.д.Но в Windows используемый вами API зависит от типа используемого вами дескриптора ввода-вывода.

Мой вопрос заключается в следующем:учитывая ДЕСКРИПТОР, как вы определяете, что такое базовый тип?Например, у меня есть дескриптор, который является либо реальным файлом, либо именованным / анонимным каналом.Я хотел бы знать, можно ли вызвать PeekNamedPipe с помощью этого ДЕСКРИПТОРА.

Это было полезно?

Решение

Использование GetFileType.Проверьте наличие возвращаемого значения FILE_TYPE_PIPE.

http://msdn.microsoft.com/en-us/library/aa364960 (ПРОТИВ 85).aspx

Другие советы

Не пытаясь быть глупым.Назови это.Если вы получите ответ с кодом ошибки, в котором говорится, что это что-то не то...тогда ты знаешь.

Аналогичный принципал уместен при попытке проверить, есть ли у пользователя права на открытие файла.Можно попробовать полностью перепроектировать и повторно реализовать логику, через которую проходит файловая система для тестирования списков управления доступом.Или просто попробуйте открыть его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top