Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-08-2013
Jais Jais is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 12
Poder: 0
Jais Va por buen camino
Redefinir API ReadFile

Hola

Yo tengo este codigo y me funciona bien:

Código:
var
  Fichero: THandle;
  Tamano: Int64;
  c: Cardinal;
  BufferTXT: Pointer;

Fichero := CreateFile(PAnsiChar('C:\archivo.txt'), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
if Fichero <> INVALID_HANDLE_VALUE then
  begin
    Tamano := GetFileSize(Fichero, nil);
    BufferTXT := VirtualAlloc(nil, Tamano, MEM_COMMIT, PAGE_READWRITE);
    SetFilePointer(Fichero, 0, nil, FILE_BEGIN);
    ReadFile(Fichero, BufferTXT^, Tamano, c, nil);
  end;
  CloseHandle(Fichero);
Ahora lo que quiero hacer es "redefinir las funciones GetFileSize y ReadFile" y utilizar las mias, es decir(Para el caso de GetFileSize):

type
TGetFileSiz: Function(hFile: Cardinal;lpFileSizeHigh:Pointer): Cardinal; StdCall;

Ahora mediante GetProcAddress(LoadLibrary('Kernel32.dll'), 'GetFileSize') obtengo la direccion a GetFileSize y de este modo puedo utilizar la mia propia.

Pero el problema esta cuando quiero "redefinir ReadFile" ya que segun esta API los tipos de sus parametros son:

hFile:Cardinal
lpBuffer: UnTyped
nNumberOfBytesToRead: Cardinal
lpNumberOfBytesRead:Cardinal
lpOverlapped: POverLapped

Como pueden ver el 2º parametro pone: UnTyped y ahi es donde tengo el problema.

¿Que tipo puedo ponerle al redefinir la api al 2º parametro(lpBufffer: UnTyped) para que el codigo de arriba me siga funcionando y sin cambiar el codigo de arriba?

Espero me haya explicado bien.

Muchisimas gracias de antemano!!

Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Redefinir procedure OnShow en form heredado. Walterio OOP 3 11-09-2012 17:46:25
redefinir métodos virtuales waremovil C++ Builder 1 24-11-2011 23:07:40
redefinir constructor de TForm Bauhaus1975 OOP 4 20-12-2008 18:06:40
readfile? BetoAlonso Varios 2 05-03-2008 12:10:24
WNET/wnet_error: ReadFile end-of-file errno = 109 evt Firebird e Interbase 0 11-12-2007 14:38:55


La franja horaria es GMT +2. Ahora son las 19:25:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi