Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > вопрос по дескрипторам


Автор: RinOSpro 11.9.2007, 14:15
LHandle := CreateFile('\\.\A:', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ

меня озадачила строка '\\.\A:' я знаю что это диск А а какие еще существуют дескрипторы?
и как их можно посмотреть. 

Автор: yar 11.9.2007, 14:32
Об этом написано в http://msdn2.microsoft.com/en-us/library/aa363858.aspx
Так, можно открывать доступ к различным файлам, устройствам, портам, дискам и так далее. Например, \\.\C:, \\.\COM15 или LPT1...

Автор: W4FhLF 11.9.2007, 15:30
http://www.microsoft.com/technet/sysinternals/SystemInformation/WinObj.mspx

Автор: RinOSpro 11.9.2007, 15:50
А можно где нибудь проситать про эти \\.\C:, \\.\COM15 или LPT1... на русском 
в msdn лазил ничего не понимаю 

Автор: W4FhLF 11.9.2007, 16:05
Это называется "Символьная ссылка"

Автор: EvilsInterrupt 11.9.2007, 20:35
RinOSpro, А че про них читать то? Юзай как обычный файл. 

Автор: RinOSpro 12.9.2007, 07:06
а где эти Символьные ссылки хранятся в реестре? 

Автор: RinOSpro 12.9.2007, 07:28
Цитата(EvilsInterrupt @ 11.9.2007,  20:35)
А че про них читать то? Юзай как обычный файл.

Ну прежде чем юзать нужно знать о них немножко понять как это работает и т.д.

Автор: W4FhLF 12.9.2007, 08:03
Ну так поискать слабо чтоли? 
http://www.wasm.ru/print.php?article=drvw2k04

Автор: RinOSpro 14.9.2007, 10:38
в WinObj есть такая символическая ссылка
Device\Floppy0  как мне написать ее в делфи

CreateFile('\\Device\\Floppy0',.....

так не работает.

Автор: W4FhLF 14.9.2007, 10:59
Использовании символьных ссылок Windows ссылается на "виртуальные устройства", проще говоря на драйвера и посылает им IRP пакет с кодом IRP_MJ_CREATE, в драйвере для этого пакета отведена своя процедура обработки. Это теория вдвух словах, чтобы понимал. На практике не совсеми объектами имеющими символьную ссылку можно работать, как с файлами. 

Вызвал ты неверно. Например попробуй:

Код

hDevice := CreateFile( '\\.\Floppy0', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0 );

Автор: RinOSpro 14.9.2007, 11:17
Цитата(W4FhLF @  14.9.2007,  10:59 Найти цитируемый пост)
имеющими символьную ссылку можно работать, как с файлами. 


кроме работы как с файлами что можно делать с символьными ссылками

Автор: W4FhLF 14.9.2007, 11:28
google.com

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)