Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Alle SQL-Server auslesen #2


4 replies to this topic

Anger

Anger
  • Members
  • 32 posts

Posted 13 March 2001 - 13:02

prototype LONG NETAPI32.NetServerEnum(POINTER, BYVAL LONG, BYREF LONG, BYVAL LONG, BYREF LONG, BYREF LONG, BYVAL LONG, POINTER, BYREF LONG);

prototype LONG NETAPI32.NetApiBufferFree(BYVAL LONG);
prototype LONG Kernel32.lstrlenW(LONG);
prototype LONG Kernel32.RtlMoveMemory(POINTER,NUMBER,BYVAL NUMBER);
prototype Get_All_SQLServer();
#define SV_TYPE_SQLSERVER 4

typedef SV
begin
LONG plattform;
LONG name;
end;


typedef DOMAINSTR
begin
STRING Domain[255];
end;


function Get_All_SQLServer()
STRING TestStr2[255];
NUMBER i,nResult, EintraegeGelesen, EintraegeInsg, Handle, Level,Buffer,Laenge,l;
LIST ServerListe;

SV test;
SV POINTER ptest;

DOMAINSTR DomainName;
DOMAINSTR POINTER pDomainName;

begin

ServerListe=ListCreate(STRINGLIST);

ptest=&test;
pDomainName=&DomainName;

nResult=NetServerEnum(NULL,100,Buffer,-1, EintraegeGelesen, EintraegeInsg,SV_TYPE_SQLSERVER,NULL,Handle);

while(i<(EintraegeGelesen-1))
  RtlMoveMemory(ptest,Buffer,8);
  l=ptest->name;
  Laenge=lstrlenW(l)*2;
  if Laenge then
  RtlMoveMemory(pDomainName,l,Laenge);
  endif;
  TestStr2=pDomainName->Domain;  
  ListAddString(ServerListe,TestStr2,AFTER);
  Buffer = Buffer + 8;
  i=i+1;
endwhile;
NetApiBufferFree(Buffer);

SdShowInfoList ("SQL Server", "Alle verfügbaren SQL Server:", ServerListe);
ListDestroy(ServerListe);
end;

Leider bekomme ich nur das erste Zeichen des SQL-Servers. Wie bekomme ich den Rest? Bitte helft mir!


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 March 2001 - 14:21

Die Funktion liefert Unicode Strings - Du musst sie wahrscheinlich in ANSI wandeln. Dazu gibt#s glaube ich eine WinAPI Funktion.

Anger

Anger
  • Members
  • 32 posts

Posted 13 March 2001 - 16:12

ICH HAB ES GESCHAFFT! Schicke Euch die Funktion, damit sie jeder nutzen kann!

PS: Danke Stefan...mußte das ganze noch nach ANSI konvertieren.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 March 2001 - 16:58

Prima.
Bitte an webmaster@installsite.org , dann stelle ich die Funktion hier zum Download bereit.