Цитата:
Сообщение от NumLock
Код:
var
h: THandle;
buf: array [0..$ffff] of Char;
dummy: Cardinal;
begin
h:=CreateFile(
PChar('\\.\F:'),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
0,
0
);
if h=0 then raise Exception.Create(SysErrorMessage(GetLastError));
SetFilePointer(h, $0000, nil, FILE_BEGIN);
if ReadFile(h, buf, SizeOf(buf), dummy, nil) then
Memo1.Text:=Copy(buf, 1, dummy)
else
ShowMessage(SysErrorMessage(GetLastError));
CloseHandle(h);
end;
|
Спасибо за оперативный ответ NumLock.
Прояснилось по поводу типов данных.
Но при выполнении данного кода у меня выводится лишь один символ л. И если я изменяю имя диска на \\.\C: то указывается что неправильный дескриптор, хотя такой логический диск существует. Правильно ли я указываю адрес диска и почему всего один символ выводится, хотя по идеи должно быть $FFFF символов.