elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  metodo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: metodo  (Leído 2,191 veces)
Pirat3net

Desconectado Desconectado

Mensajes: 270


Ver Perfil
metodo
« en: 1 Mayo 2013, 23:31 pm »

necesito si me podeis detallar el significado de dos lineas de codigo que no consigo entender

1.
Código
  1. __declspec(dllexport) LRESULT CALLBACK handlekeys(int code, WPARAM wp, LPARAM lp)//entra code , wp, lp
  2. {contenito...}
por lo que puedo entender es un metodo llamado __declspe, el parametro dllexport no lo entiendo bien , pues no especifica que tipo de variable es(string , int...)  LRESULT CALLBACK no estoy seguro, porque lo mio es mas java, pero supongo que aqui se le pueden dar propiedades al terminar de declarar un metodo, el handlekeys() si que pude encontrar bastante informacion sobre el googleando, pero agradeceria expliquen lo anterior. gracias



2.
Código
  1. std::string str;
en esta segunda linea, no he conseguido encontrar en google el significado de los :: al declarar una variable.


3.
Código
  1. KBDLLHOOKSTRUCT st_hook = *((KBDLLHOOKSTRUCT*)lp);
por ultimo, la declaracion de esta tercera variable me desconcierta mucho, sobre todo el tema de los asteriscos y no consigo entender que es KBDLLHOOKSTRUCT



gracias


« Última modificación: 1 Mayo 2013, 23:35 pm por Pirat3net » En línea

pacoperico

Desconectado Desconectado

Mensajes: 100


Ver Perfil
Re: metodo
« Respuesta #1 en: 2 Mayo 2013, 01:57 am »

La segunda duda te la puedo resolver facilmente. Los :: es el operador de resolucion de ambito, se utiliza para acceder a distintos metodos, miembros u objetos de un espacio de nombres o una clase.

Por ejemplo tenemos la libreria iostream, dentro de ella existe un espacio de nombres llamado std y dentro de este espacio de nombres tenemos el objeto cout que no es ni mas ni menos que la salida por pantalla.

Para poder usar el objeto cout y crearnos nuestro "hola mundo" tenemos que especificar que queremos usar el objeto cout que se encuentra en el espacio de nombres std:

Código
  1. #include <iostream>
  2. std::cout << "hola mundo" << std::endl;


En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: metodo
« Respuesta #2 en: 6 Mayo 2013, 22:48 pm »

__declspec(dllexport)  lo que hace es marcar una función o una clase o un miembro de una clase , para que sean identificados como símbolos exportados.
http://msdn.microsoft.com/es-AR/library/a90k134d(v=vs.80).aspx

necesitarías leer sobre vinculación dinámica, vinculación estática, EAT, IAT, import binding, imports, exports, DLLs, GetProcAddress y muchos temas relacionados.


LRESULT

y

CALLBACK

son definiciones propias de Windows. definiciones de tipos de datos.

lo mismo con WPARAM y LPARAM
« Última modificación: 6 Mayo 2013, 22:54 pm por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: metodo
« Respuesta #3 en: 7 Mayo 2013, 06:16 am »

Código:
KBDLLHOOKSTRUCT st_hook = *((KBDLLHOOKSTRUCT*)lp);
parece una typedef struct llamada st_hook a la cual apunta a una parametro que se llama lp
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
« Última modificación: 7 Mayo 2013, 06:20 am por flony » En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] invocar metodo desde metodo.
Scripting
Hesp 2 7,030 Último mensaje 8 Marzo 2009, 00:38 am
por Hesp
metodo xor
Dudas Generales
crsi 0 3,308 Último mensaje 9 Agosto 2010, 20:58 pm
por crsi
Metodo get y set
Java
mapers 1 3,323 Último mensaje 5 Octubre 2011, 00:06 am
por Valkyr
metodo de .NET
.NET (C#, VB.NET, ASP)
andaluz 5 3,188 Último mensaje 2 Febrero 2012, 13:09 pm
por andaluz
ObjectContext.SaveChanges (Método)
.NET (C#, VB.NET, ASP)
«Vicø™» 0 1,367 Último mensaje 4 Diciembre 2013, 15:57 pm
por «Vicø™»
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines