Get Hard Drive Serial Number Delphi
Function GetHDDSerialNumber(NomDriv e:byte): String; const IDENTIFY_BUFFER_SIZE = 512; type TIDERegs = packed record bFeaturesReg: BYTE; // Used for specifying SMART 'commands'. BSectorCountReg: BYTE; // IDE sector count register bSectorNumberReg: BYTE; // IDE sector number register bCylLowReg: BYTE; // IDE low order cylinder value bCylHighReg: BYTE; // IDE high order cylinder value bDriveHeadReg: BYTE; // IDE drive/head register bCommandReg: BYTE; // Actual IDE command. BReserved: BYTE; // reserved for future use.
May 11, 2003 - CPUsn read functions don't provide the unique serial number of the manufacturer. But there is the code for HDD manufacturer serial number.
Must be zero. End; TSendCmdInParams = packed record // Buffer size in bytes cBufferSize: DWORD; // Structure with drive register values. IrDriveRegs: TIDERegs; // Physical drive number to send command to (0,1,2,3). BDriveNumber: BYTE; bReserved: Array[0.2] of Byte; dwReserved: Array[0.3] of DWORD; bBuffer: Array[0.0] of Byte; // Input buffer. UlTotalAddressableSectors: DWORD; wSingleWordDMA: Word; wMultiWordDMA: Word; bReserved: Array[0.127] of BYTE; end; PIdSector = ^TIdSector; TDriverStatus = packed record // Error code from driver, or 0 if no error. BDriverError: Byte; // Contents of IDE Error register. Only valid when bDriverError is SMART_IDE_ERROR.
BIDEStatus: Byte; bReserved: Array[0.1] of Byte; dwReserved: Array[0.1] of DWORD; end; TSendCmdOutParams = packed record // Size of bBuffer in bytes cBufferSize: DWORD; // Driver status structure. DriverStatus: TDriverStatus; // Buffer of arbitrary length in which to store the data read from the drive. BBuffer: Array[0.0] of BYTE; end; var hDevice: THandle; cbBytesReturned: DWORD; // ptr: PChar; SCIP: TSendCmdInParams; aIdOutCmd: Array [0.(SizeOf(TSendCmdOutParams)+IDENTIFY_BUFFER_SIZE-1)-1] of Byte; IdOutCmd: TSendCmdOutParams absolute aIdOutCmd; procedure ChangeByteOrder( var Data; Size: Integer ); var ptr: PChar; i: Integer; c: Char; begin ptr:= @Data; for i:= 0 to (Size shr 1)-1 do begin c:= ptr^; ptr^:= (ptr+1)^; (ptr+1)^:= c; Inc(ptr,2); end; end; const IdeDriveNom='. PhysicalDrive'; begin Result:='Error'; // return empty string on error.
Only real reason to get this is probbaly nostalgia or some weird compatibility isue you might have with either a plugin or 3d file. Use a virtual machine just in case. My gues is, if you have a legal key, you might use the installer alone just as fine. Readme is mandatory to read. COmes with base minimal 3dMax (no animation studio or materials) and keygen. Discreet 3ds max 6 free download torrent.
Scott Earnest said: [SNIPP] Not really that related, but I just thought of something. Have anyone ever tried to use ports in NT? I mean, nt is supposed to be a 'secure' os and all. But does it still support realmode applications and if it does, how does it handle them? =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Kim Robert Blix ( kb.@c2i.net ) 'How do you shoot the devil in the back?' 'What if you miss?'
-Verbal Kint =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=. Quote Kim Robert Blix wrote: > Scott Earnest said: > [SNIPP] > Not really that related, but I just thought of something. Have anyone > ever tried to use ports in NT? I mean, nt is supposed to be a 'secure' > os and all. But does it still support realmode applications and if > it does, how does it handle them? I don't know about NT, but I know 95 has some problems with port calls in real mode programs.
The virtual DOS driver seems to handle most common functions (video, serial, parallel, audio, keyboard, etc.) like a normal real mode DOS session would, but it confuses some code I have which uses less commonly used port interfaces, like the IDE or floppy controllers. An educated guess says that NT might be prone to the same problems. Quote Scott Earnest wrote: > Kim Robert Blix wrote: > > Scott Earnest said: > > [SNIPP] > > Not really that related, but I just thought of something.
Have anyone > > ever tried to use ports in NT? I mean, nt is supposed to be a 'secure' > > os and all.
But does it still support realmode applications and if > > it does, how does it handle them? > I don't know about NT, but I know 95 has some problems with port calls > in real mode programs. The virtual DOS driver seems to handle most > common functions (video, serial, parallel, audio, keyboard, etc.) like a > normal real mode DOS session would, but it confuses some code I have > which uses less commonly used port interfaces, like the IDE or floppy > controllers. An educated guess says that NT might be prone to the same > problems. > Scott Earnest We now return you to our regularly > set.@ix.netcom.com scheduled chaos and mayhem.. I monitor the PCAD user group postings, and everyone who moves to NT has the same problem - the security dongle quits. WIN NT simply won't allow programs access to the hardware ports. Everyone has to upgrade to special drivers that have the necessary privilege level to do low-level stuff.