Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Un petit coup de main pour l'appel à la fonction "GetIpAddrTable" ?
Il s'agit sans doute d'un problème de type/initialisation de variables en entrée/sortie de la fonction;
Je la retourne dans tous les sens depuis quelques temps ...
//Déclaration de structure str_ipaddrrow long cl_ip_address long cl_interface long cl_subnet long cl_broadcast long cl_rassembly byte cb_unused1 byte cb_unused2 //Déclaration de structure str_ipaddrtable long cl_numentries str_ipaddrrow cstr_ipaddrrow //Déclaration de Globale External function Function Long GetIpAddrTable(ref str_ipaddrtable cstr_ipaddrtable, ref Long cl_size, & ref Boolean cb_border) library "iphlpapi.dll" alias for "GetIpAddrTable;Ansi" //Appel de la fonction Long cl_GetIpAddrTable, cl_size Boolean cb_border str_ipaddrtable cstr_ipaddrtable cl_GetIpAddrTable = GetIpAddrTable(cstr_ipaddrtable, cl_size, cb_border)
Merci
Dernière modification par cdtit (17-09-2007 14:31:20)
Hors ligne
Bon c'est surement pas ça mais sait-on jamais, moi j'essayerai avec l'ajout d'un A majuscule après le nom de la fct°
Function Long GetIpAddrTableA(ref str_ipaddrtable cstr_ipaddrtable, ref Long cl_size, & ref Boolean cb_border) library "iphlpapi.dll"
Hors ligne
// str_ipaddrtable long cl_numentries str_ipaddrrow cstr_ipaddrrow
il semblerait qu'il faille déclarer un tableau de str_ipaddrrow dans la structure (?)
http://www.developpez.com/delphi/faq/?p … dressesip.
http://msdn2.microsoft.com/en-us/library/aa365949.aspx
Hors ligne
type str_ipaddrrow from structure long addr long interface long m long b long as integer u1 integer u2 end type
type str_ipaddrtable from structure long numentries str_ipaddrrow table[6] end type
FUNCTION long GetIpAddrTable(ref str_ipaddrtable lstr_ip, ref long addr_len,boolean ip_sort) LIBRARY "iphlpapi.dll"
Hors ligne
Pas de résultats avec ces methodes.
Par contre celle-ci renvoie bien l'adresse IP =>
DWORD GetAdaptersInfo( __out PIP_ADAPTER_INFO pAdapterInfo, __in_out PULONG pOutBufLen );
Je continuerais à chercher pour "GetIpAddrTable",
par ailleurs.
Hors ligne
avec oracle :
SELECT TO_CHAR(SID)||':'||TO_CHAR(SERIAL#), UPPER(SYS_CONTEXT('USERENV','SESSION_USER')), UPPER(SYS_CONTEXT('USERENV','OS_USER')), UPPER(SYS_CONTEXT('USERENV','HOST')), UPPER(SYS_CONTEXT('USERENV','TERMINAL')), UPPER(SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')), UPPER(SYS_CONTEXT('USERENV','IP_ADDRESS')), UPPER(PROGRAM), LTRIM(MODULE) FROM V$SESSION WHERE UPPER(USERNAME) = UPPER(USER) AND AUDSID = SYS_CONTEXT('USERENV','SESSIONID') AND AUDSID > 0 ;
Hors ligne
Je pointe sur une base DB2 par TCPIP, par conséquent, et c'est ce qui m'interesse dans le cas présent,
je ne peux obtenir que des infos sur le serveur où se trouve la base et non l'adresse IP du poste ou tourne l'appli.
Hors ligne
Pages: 1