OLa, deixa eu dar a minha opiniao, pois assunto é muito serio,
1 - NAO DEVEMOS MUDAR U NUMERO DE SERIE DA HD
2 - TODAS AS CHAVES DA TRANSPORTE DO RESGISTRO SAO GERADAS COM BASE NO
NUMERO DO HD
3 - SISTEMA JA INSTALADOS E QUE FAZEM A VERIFICACAO DO NUM DO HD VAO PARAR
DE FUNCIONAR
obs:
se voce que seguranca use hardlock


e-mail - [EMAIL PROTECTED]
MSN  - [EMAIL PROTECTED]
Analista de Sistemas
itamar roloff
-------------------------------------------
----- Original Message ----- 
From: "Walter Alves Chagas Junior" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Monday, January 17, 2005 10:23 AM
Subject: RES: [delphi-br] No Seria HD



Serial do Volume ou Serial da Controladora eu desconheço alguma coisa que
faça isto.



 []s

 Walter Alves Chagas Junior
 Projeto e desenvolvimento
 Telemont Engenharia de telecomunicações
 [EMAIL PROTECTED]
 Fone: (31) 3389-8215 Fax: (31) 3389-8200



> -----Mensagem original-----
> De: MOITA [mailto:[EMAIL PROTECTED]
> Enviada em: segunda-feira, 17 de janeiro de 2005 09:18
> Para: delphi-br@yahoogrupos.com.br
> Assunto: Re: [delphi-br] No Seria HD
>
>
>
> Essa rotina é apenas para buscar o SN, gostaria de muda-lo.
> Vc teria uma rotina ?
>
> Obrigado.
>   ----- Original Message ----- 
>   From: Walter Alves Chagas Junior
>   To: 'delphi-br@yahoogrupos.com.br'
>   Sent: Monday, January 17, 2005 8:34 AM
>   Subject: RES: [delphi-br] No Seria HD
>
>
>   Tem como buscar o numero serial interno do HD (Não é o do volume):
>
>   function GetIdeDiskSerialNumber : String;
>   type
>     TSrbIoControl = packed record
>        HeaderLength : ULONG;
>        Signature    : Array[0..7] of Char;
>        Timeout      : ULONG;
>        ControlCode  : ULONG;
>        ReturnCode   : ULONG;
>        Length       : ULONG;
>      end;
>      SRB_IO_CONTROL = TSrbIoControl;
>      PSrbIoControl = ^TSrbIoControl;
>
>      TIDERegs = packed record
>        bFeaturesReg     : Byte; // especificar "comandos" SMART
>        bSectorCountReg  : Byte; // registro de contador de setor
>        bSectorNumberReg : Byte; // registro de número de setores
>        bCylLowReg       : Byte; // valor de cilindro (byte mais baixo)
>        bCylHighReg      : Byte; // valor de cilindro (byte mais alto)
>        bDriveHeadReg    : Byte; // registro de drive/cabeça
>        bCommandReg      : Byte; // comando IDE
>        bReserved        : Byte; // reservado- tem que ser zero
>      end;
>      IDEREGS   = TIDERegs;
>      PIDERegs  = ^TIDERegs;
>
>      TSendCmdInParams = packed record
>        cBufferSize  : DWORD;
>        irDriveRegs  : TIDERegs;
>        bDriveNumber : Byte;
>        bReserved    : Array[0..2] of Byte;
>        dwReserved   : Array[0..3] of DWORD;
>        bBuffer      : Array[0..0] of Byte;
>      end;
>      SENDCMDINPARAMS   = TSendCmdInParams;
>      PSendCmdInParams  = ^TSendCmdInParams;
>
>      TIdSector = packed record
>        wGenConfig                 : Word;
>        wNumCyls                   : Word;
>        wReserved                  : Word;
>        wNumHeads                  : Word;
>        wBytesPerTrack             : Word;
>        wBytesPerSector            : Word;
>        wSectorsPerTrack           : Word;
>        wVendorUnique              : Array[0..2] of Word;
>        sSerialNumber              : Array[0..19] of Char;
>        wBufferType                : Word;
>        wBufferSize                : Word;
>        wECCSize                   : Word;
>        sFirmwareRev               : Array[0..7] of Char;
>        sModelNumber               : Array[0..39] of Char;
>        wMoreVendorUnique          : Word;
>        wDoubleWordIO              : Word;
>        wCapabilities              : Word;
>        wReserved1                 : Word;
>        wPIOTiming                 : Word;
>        wDMATiming                 : Word;
>        wBS                        : Word;
>        wNumCurrentCyls            : Word;
>        wNumCurrentHeads           : Word;
>        wNumCurrentSectorsPerTrack : Word;
>        ulCurrentSectorCapacity    : ULONG;
>        wMultSectorStuff           : Word;
>        ulTotalAddressableSectors  : ULONG;
>        wSingleWordDMA             : Word;
>        wMultiWordDMA              : Word;
>        bReserved                  : Array[0..127] of Byte;
>      end;
>      PIdSector = ^TIdSector;
>
>   const
>      IDE_ID_FUNCTION               = $EC;
>      IDENTIFY_BUFFER_SIZE          = 512;
>      DFP_RECEIVE_DRIVE_DATA        = $0007c088;
>      IOCTL_SCSI_MINIPORT           = $0004d008;
>      IOCTL_SCSI_MINIPORT_IDENTIFY  = $001b0501;
>      DataSize = sizeof(TSendCmdInParams)-1+IDENTIFY_BUFFER_SIZE;
>      BufferSize = SizeOf(SRB_IO_CONTROL)+DataSize;
>      W9xBufferSize = IDENTIFY_BUFFER_SIZE+16;
>   var
>      hDevice : THandle;
>      cbBytesReturned : DWORD;
>      pInData : PSendCmdInParams;
>      pOutData : Pointer; // PSendCmdOutParams
>      Buffer : Array[0..BufferSize-1] of Byte;
>      srbControl : TSrbIoControl absolute Buffer;
>
>   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;
>
>   begin
>      Result := '';
>      FillChar(Buffer,BufferSize,#0);
>      if Win32Platform=VER_PLATFORM_WIN32_NT then
>      // Windows NT, Windows 2000, Windows XP
>      begin
>      // recuperar handle da porta SCSI
>        hDevice := CreateFile('\\.\Scsi0:',
>        // Nota: '\\.\C:' precisa de privilégios administrativos
>        GENERIC_READ or GENERIC_WRITE,
>        FILE_SHARE_READ or FILE_SHARE_WRITE,
>        nil, OPEN_EXISTING, 0, 0);
>
>        if hDevice=INVALID_HANDLE_VALUE then Exit;
>        try
>          srbControl.HeaderLength := SizeOf(SRB_IO_CONTROL);
>          System.Move('SCSIDISK',srbControl.Signature,8);
>          srbControl.Timeout      := 2;
>          srbControl.Length       := DataSize;
>          srbControl.ControlCode  := IOCTL_SCSI_MINIPORT_IDENTIFY;
>          pInData := PSendCmdInParams(PChar(@Buffer) +
> SizeOf(SRB_IO_CONTROL));
>          pOutData := pInData;
>          with pInData^ do
>          begin
>            cBufferSize  := IDENTIFY_BUFFER_SIZE;
>            bDriveNumber := 0;
>            with irDriveRegs do
>            begin
>              bFeaturesReg     := 0;
>              bSectorCountReg  := 1;
>              bSectorNumberReg := 1;
>              bCylLowReg       := 0;
>              bCylHighReg      := 0;
>              bDriveHeadReg    := $A0;
>              bCommandReg      := IDE_ID_FUNCTION;
>            end;
>          end;
>
>          if not DeviceIoControl( hDevice,
> IOCTL_SCSI_MINIPORT, @Buffer,
>   BufferSize, @Buffer, BufferSize, cbBytesReturned, nil) then
>            Exit;
>          finally
>            CloseHandle(hDevice);
>          end;
>        end
>      else
>        begin
>        // Windows 95 OSR2, Windows 98, Windows ME
>        hDevice := CreateFile( '\\.\SMARTVSD', 0, 0, nil,
> CREATE_NEW, 0, 0 );
>        if hDevice=INVALID_HANDLE_VALUE then Exit;
>        try
>          pInData := PSendCmdInParams(@Buffer);
>          pOutData := @pInData^.bBuffer;
>          with pInData^ do
>          begin
>            cBufferSize  := IDENTIFY_BUFFER_SIZE;
>            bDriveNumber := 0;
>            with irDriveRegs do
>            begin
>              bFeaturesReg     := 0;
>              bSectorCountReg  := 1;
>              bSectorNumberReg := 1;
>              bCylLowReg       := 0;
>              bCylHighReg      := 0;
>              bDriveHeadReg    := $A0;
>              bCommandReg      := IDE_ID_FUNCTION;
>            end;
>          end;
>
>          if not DeviceIoControl( hDevice, DFP_RECEIVE_DRIVE_DATA,
>          pInData, SizeOf(TSendCmdInParams)-1, pOutData, W9xBufferSize,
>   cbBytesReturned, nil ) then
>            Exit;
>          finally
>            CloseHandle(hDevice);
>          end;
>        end;
>
>        with PIdSector(PChar(pOutData)+16)^ do
>        begin
>          ChangeByteOrder(sSerialNumber,SizeOf(sSerialNumber));
>          SetString(Result,sSerialNumber,SizeOf(sSerialNumber));
>        end;
>   end;
>
>
>
>   Dica de como chamar a função
>   1) Create this variables:
>          s : String;
>          rc : DWORD;
>
>   2) on onClick of Event of Button, paste this code
>        s := GetIdeDiskSerialNumber;
>        if s='' then
>        begin
>          rc := GetLastError;
>          if rc=0 then
>            showmessage('Drive IDE don´t suport SMART')
>          else
>            showmessage(SysErrorMessage(rc));
>        end
>        else
>          showmessage('Fisical serial number disk is: ' + s);
>
>
>
>
>   []s
>
>   Walter Alves Chagas Junior
>   Projeto e desenvolvimento
>   Telemont Engenharia de telecomunicações
>   [EMAIL PROTECTED]
>   Fone: (31) 3389-8215 Fax: (31) 3389-8200
>
>
>
>   > -----Mensagem original-----
>   > De: Alosi yarru [mailto:[EMAIL PROTECTED]
>   > Enviada em: segunda-feira, 17 de janeiro de 2005 08:27
>   > Para: delphi-br@yahoogrupos.com.br
>   > Assunto: Re: [delphi-br] No Seria HD
>   >
>   >
>   >
>   > Tem como buscar o ROM do HD?
>   >
>   >
>   >   ----- Original Message ----- 
>   >   From: Rubem Rocha
>   >   To: delphi-br@yahoogrupos.com.br
>   >   Sent: Saturday, January 15, 2005 9:05 AM
>   >   Subject: RES: [delphi-br] No Seria HD
>   >
>   >
>   >   O número de série do volume do HD, sim! O número de série
>   > de fábrica, que fica armazenado na ROM do HD, não!
>   >   []s
>   >
>   >   -----Mensagem original-----
>   >   De: MOITA [mailto:[EMAIL PROTECTED]
>   >   Enviada em: sábado, 15 de janeiro de 2005 08:24
>   >   Para: delphi-br@yahoogrupos.com.br
>   >   Assunto: [delphi-br] No Seria HD
>   >
>   >
>   >
>   >   É possivel alterar o numero de serie do HD ?
>   >
>   >   [As partes desta mensagem que não continham texto foram
> removidas]
>   >
>   >
>   >
>   >   -- 
>   >   <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>   >
>   >   Para ver as mensagens antigas, acesse:
>   > http://br.groups.yahoo.com/group/delphi-br/messages
>   >
>   >   Para falar com o moderador, envie um e-mail para:
>   > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>   >
>   >   Links do Yahoo! Grupos
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >   ---
>   >   Incoming mail is certified Virus Free.
>   >   Checked by AVG anti-virus system (http://www.grisoft.com).
>   >   Version: 6.0.799 / Virus Database: 543 - Release Date:
> 19/11/2004
>   >
>   >
>   >
>   >   -- 
>   >   <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>   >
>   >   Para ver as mensagens antigas, acesse:
>   >   http://br.groups.yahoo.com/group/delphi-br/messages
>   >
>   >   Para falar com o moderador, envie um e-mail para:
>   >   [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>   >
>   >
>   >
>   >         Yahoo! Grupos, um serviço oferecido por:
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   > --------------------------------------------------------------
>   > ----------------
>   >   Links do Yahoo! Grupos
>   >
>   >     a.. Para visitar o site do seu grupo na web, acesse:
>   >     http://br.groups.yahoo.com/group/delphi-br/
>   >
>   >     b.. Para sair deste grupo, envie um e-mail para:
>   >     [EMAIL PROTECTED]
>   >
>   >     c.. O uso que você faz do Yahoo! Grupos está sujeito aos
>   > Termos do Serviço do Yahoo!.
>   >
>   >
>   >
>   >
>   > [As partes desta mensagem que não continham texto foram removidas]
>   >
>   >
>   >
>   > -- 
>   > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>   >
>   > Para ver as mensagens antigas, acesse:
>   >  http://br.groups.yahoo.com/group/delphi-br/messages
>   >
>   > Para falar com o moderador, envie um e-mail para:
>   >  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>   >
>   > Links do Yahoo! Grupos
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>
>
>   [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>   -- 
>   <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>   Para ver as mensagens antigas, acesse:
>   http://br.groups.yahoo.com/group/delphi-br/messages
>
>   Para falar com o moderador, envie um e-mail para:
>   [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
>         Yahoo! Grupos, um serviço oferecido por:
>               PUBLICIDADE
>
>
>
>
> --------------------------------------------------------------
> ----------------
>   Links do Yahoo! Grupos
>
>     a.. Para visitar o site do seu grupo na web, acesse:
>     http://br.groups.yahoo.com/group/delphi-br/
>
>     b.. Para sair deste grupo, envie um e-mail para:
>     [EMAIL PROTECTED]
>
>     c.. O uso que você faz do Yahoo! Grupos está sujeito aos
> Termos do Serviço do Yahoo!.
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos










-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a