Hiho ...<br>
Nach einigen Stunden an Recherche und Unterhaltungen mit C++ Programmierern und keine Ahnung wievielen Ausdrucken von C-Header Dateien habe ich nun folgendes Ergebnis:<br>
<br>
Das Struct _Share_Info_50 sieht so aus:<br>
<br>
<pre>
Type ShareIt = record
shi50_netname : Array[0..12] of Char;
shi50_type : Byte;
shi50_flags : Word;
shi50_remark : ^PChar;
shi50_path : ^PChar;
shi50_rw_password : Array[0..8] of Char;
shi50_ro_password : Array[0..8] of Char;
end;
</pre>
<br>
Im QuellText versuche ich nun C:\Programme freizugeben:<br>
<br>
<pre>
Procedure Freigeben;
var Path, Remark : PChar;
begin
Path := 'C:\PROGRAMME\'; //Alles UpperCase wie Beschrieben (SDK)
Remark := 'ICH BIN EINE BESCHREIBUNG';
<br>
Share.shi50_netname := 'FREIGEGEBEN'; //Ist dann doch der Name, der in der Netzwerkumgebung gilt, oder ??? Also mit \\PCNAME\FREIGEGEBEN\ anzusprechen<br>
Share.shi50_type := 0; //STYPE_DISKTREE
Share.shi50_flags := 1; //SHI50F_RDONLY
Share.shi50_remark := @Remark; //Ist die Beschreibung der Freigabe, wenn ich das richtig verstanden habe
Share.shi50_path := @Path; //Alles UpperCase so wie Beschrieben (SDK)
Share.shi50_rw_password := ''; //Soll nicht vergeben werden ...
Share.shi50_ro_password := ''; //Soll nicht vergeben werden ...
<br>
ShowMessage(IntToStr(NetShareAdd(NIL, 50, @Share, SizeOf(Share))));
end;
</pre>
ShowMessage gibt 2116 wieder, also den Fehler: The Device or Directory does not exist (NERR_UnknownDevDir).<br>
So sieht es aus, allerdings verstehe ich das nicht so ganz, da der Ordner existiert, C logischerweise auch. Habe ich Zuweisungen vertauscht / falsch verstanden ??? Liegt das daran das ich als ServerName NIL übergebe ???<br>
Ich hoffe das ist nun so genau beschrieben das mir jemand helfen kann. Der Aufwand sollte nun auch nicht mehr so groß sein ... <br><br>
Ciao Hagen<br><br>
P.S.: Hr. Kosch sie können meine E-Mail nun hoffentlich löschen ...
Nach einigen Stunden an Recherche und Unterhaltungen mit C++ Programmierern und keine Ahnung wievielen Ausdrucken von C-Header Dateien habe ich nun folgendes Ergebnis:<br>
<br>
Das Struct _Share_Info_50 sieht so aus:<br>
<br>
<pre>
Type ShareIt = record
shi50_netname : Array[0..12] of Char;
shi50_type : Byte;
shi50_flags : Word;
shi50_remark : ^PChar;
shi50_path : ^PChar;
shi50_rw_password : Array[0..8] of Char;
shi50_ro_password : Array[0..8] of Char;
end;
</pre>
<br>
Im QuellText versuche ich nun C:\Programme freizugeben:<br>
<br>
<pre>
Procedure Freigeben;
var Path, Remark : PChar;
begin
Path := 'C:\PROGRAMME\'; //Alles UpperCase wie Beschrieben (SDK)
Remark := 'ICH BIN EINE BESCHREIBUNG';
<br>
Share.shi50_netname := 'FREIGEGEBEN'; //Ist dann doch der Name, der in der Netzwerkumgebung gilt, oder ??? Also mit \\PCNAME\FREIGEGEBEN\ anzusprechen<br>
Share.shi50_type := 0; //STYPE_DISKTREE
Share.shi50_flags := 1; //SHI50F_RDONLY
Share.shi50_remark := @Remark; //Ist die Beschreibung der Freigabe, wenn ich das richtig verstanden habe
Share.shi50_path := @Path; //Alles UpperCase so wie Beschrieben (SDK)
Share.shi50_rw_password := ''; //Soll nicht vergeben werden ...
Share.shi50_ro_password := ''; //Soll nicht vergeben werden ...
<br>
ShowMessage(IntToStr(NetShareAdd(NIL, 50, @Share, SizeOf(Share))));
end;
</pre>
ShowMessage gibt 2116 wieder, also den Fehler: The Device or Directory does not exist (NERR_UnknownDevDir).<br>
So sieht es aus, allerdings verstehe ich das nicht so ganz, da der Ordner existiert, C logischerweise auch. Habe ich Zuweisungen vertauscht / falsch verstanden ??? Liegt das daran das ich als ServerName NIL übergebe ???<br>
Ich hoffe das ist nun so genau beschrieben das mir jemand helfen kann. Der Aufwand sollte nun auch nicht mehr so groß sein ... <br><br>
Ciao Hagen<br><br>
P.S.: Hr. Kosch sie können meine E-Mail nun hoffentlich löschen ...
Comment