PDA

Ver la Versión Completa : Nombre de las funciones API


Faust
05-05-2010, 20:55:53
Hola buena gente del foro, ando por aquí de nuevo.

Mi duda es la siguiente, andaba curioseando en la Unit Windows.pas de Delphi 2009 y me encontré con que muchas de las funciones que realizan operaciones con el registro de windows son p. ej.:

function RegOpenKey; external advapi32 name 'RegOpenKeyW';
function RegOpenKeyA; external advapi32 name 'RegOpenKeyA';
function RegOpenKeyW; external advapi32 name 'RegOpenKeyW';
function RegOpenKeyEx; external advapi32 name 'RegOpenKeyExW';
function RegOpenKeyExA; external advapi32 name 'RegOpenKeyExA';
function RegOpenKeyExW; external advapi32 name 'RegOpenKeyExW';

Por lo visto al checar en la ayuda y algunas más en Internet pues llego a la conclusión de que todas estas son las mismas, pero hay RegOpenKey y otras iguales que terminan en A, W, Ex, ExA, y ExW, pero cuál es la verdadera diferencia, ojalá alguien pudiera ayudarme.

Gracias de antemano.

Lepe
06-05-2010, 09:07:07
Borland Delphi -> help -> MS sdk -> Win32 Programer's Reference

Ahí viene toda la ayuda de la API de windows. Normalmente los que tienen "Ex" hacen algo más que la original.

escafandra
06-05-2010, 15:14:37
Además de lo que te apunta Lepe debes revisar msdn (http://msdn.microsoft.com/en-us/library/ms123401(v=MSDN.10).aspx).

Las API que terminan en A (RegOpenKeyA) utilizan las cadenas de caracteres normales. Las que terminan en W (RegOpenKeyW) utilizan cadenas Unicode. Las versiones A siempre terminan llamando a las versiones W que son las verdaderas API en Win32. Windows internamente trabaja en Unicode.

Saludos.

Faust
06-05-2010, 17:27:35
Borland Delphi -> help -> MS sdk -> Win32 Programer's Reference

Ahí viene toda la ayuda de la API de windows. Normalmente los que tienen "Ex" hacen algo más que la original.

Tienes razón, estas requieren de más parámetros...


Además de lo que te apunta Lepe debes revisar msdn (http://msdn.microsoft.com/en-us/library/ms123401%28v=MSDN.10%29.aspx).

Las API que terminan en A (RegOpenKeyA) utilizan las cadenas de caracteres normales. Las que terminan en W (RegOpenKeyW) utilizan cadenas Unicode. Las versiones A siempre terminan llamando a las versiones W que son las verdaderas API en Win32. Windows internamente trabaja en Unicode.

Saludos.

Checaré MSDN, la explicación de ambos me va aclarando mis dudas.

Gracias.

Faust
06-05-2010, 17:36:36
Listo, gracias por darme un empujón en esta duda, les debo unas chelas.