Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#14

AW: Festplatten zugriff sichbar machen (LED im Tray)

  Alt 27. Apr 2013, 19:48
Ich glaube, einen Weg gefunden zu haben, wie man auch mit DELPHI eine HDD-READ/WRITE-Anzeige realisieren kann.

Stichwörter:
Device Input and Output Control (IOCTL) = DeviceIoControl
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

The DeviceIoControl function provides a device input and output control (IOCTL) interface through which an application can communicate directly with a device driver. The DeviceIoControl function is a general-purpose interface that can send control codes to a variety of devices. Each control code represents an operation for the driver to perform. For example, a control code can ask a device driver to return information about the corresponding device, or direct the driver to carry out an action on the device, such as formatting a disk.
-
Gefunden hier:
{ ref JwaWinIoctl.pas }
unit winconst_ioctl;

Delphi-Quellcode:
// This structure defines the disk logging record. When disk logging
// is enabled, one of these is written to an internal buffer for each
// disk request.
//

  PDISK_RECORD = ^DISK_RECORD;
  _DISK_RECORD = record
    ByteOffset: LARGE_INTEGER;
    StartTime: LARGE_INTEGER;
    EndTime: LARGE_INTEGER;
    VirtualAddress: Pointer; //PVOID;
    NumberOfBytes: DWORD;
    DeviceNumber: BYTE;
    ReadRequest: ByteBool;
  end;
  DISK_RECORD = _DISK_RECORD;
  TDiskRecord = DISK_RECORD;
  PDiskRecord = PDISK_RECORD;

//
// The following structure is exchanged on an IOCTL_DISK_LOG request.
// Not all fields are valid with each function type.
//

  PDISK_LOGGING = ^DISK_LOGGING;
  _DISK_LOGGING = record
    Function_: BYTE;
    BufferAddress: PVOID;
    BufferSize: DWORD;
  end;
  DISK_LOGGING = _DISK_LOGGING;
  TDiskLogging = DISK_LOGGING;
  PDiskLogging = PDISK_LOGGING;

//
// Disk logging functions
//
// Start disk logging. Only the Function and BufferSize fields are valid.
//

const
  DISK_LOGGING_START = 0;

//
// Stop disk logging. Only the Function field is valid.
//

  DISK_LOGGING_STOP = 1;

Geändert von hathor (27. Apr 2013 um 22:23 Uhr)
  Mit Zitat antworten Zitat