Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Session neu aufbauen (https://www.delphipraxis.net/49429-windows-session-neu-aufbauen.html)

Gruber_Hans_12345 12. Jul 2005 10:22

Re: Windows Session neu aufbauen
 
@shmia
Ich kann zwar das Laufwerk und/oder die Netzwerkfreigabe disconnecten, das geht auch ohne Probleme. (Und es scheint anschließend auch nicht mehr bei Enum ... nicht mehr auf), aber ich bekomme trotzdem wenn ich mich anschließend mit einem anderen Benutzernamen anmelden will den obigen Fehler.
Wenn ich mit Enum alle Verbindungen aufliste, bekomme ich immer nur Laufwerke (habe keine Drucker verbunden), aber auch keine Verbindung auf \IPC$.
(Habe auch schon versucht "blind" \\SERVER\IPC$ zu trennen, hat aber nicht funktioniert !)

Gruber_Hans_12345 12. Jul 2005 11:03

Re: Windows Session neu aufbauen
 
Kann den Fehler jetzt rekonstruieren :

*) Keine Verbindung zum Server
*) Baue eine Verbindung mit User1 auf (Laufwerk R: -> \\SERVER\USER_1)
*) Eins meiner Programme öffnet eine Datei am Server lockDir := CreateFile(PChar(ServerPfad+'temp.lck')
, GENERIC_READ
, FILE_SHARE_READ or FILE_SHARE_DELETE or FILE_SHARE_WRITE
, nil
, OPEN_EXISTING
, 0//FILE_FLAG_BACKUP_SEMANTICS {Or FILE_FLAG_OVERLAPPED}
, 0
);
*) Enum zeigt nur R: an
*) Am Server sehe ich eine Sitzung und die Datei geöffnet
*) Verbindung von R: wird disconnected
*) Das Programm schließt die Datei
if not CloseHandle(lockDir) then
RaiseLastWin32Error;
*) Die Datei bleibt am Server nach wie vor geöffnet (genau so wie die Sitzung)


Wenn ich die Datei schließe und das Disconnect erst anschließend mache, dann passt alles, Datei geschlossen, Sitzung geschlossen und kann anschließend mit einem anderem Username anmelden.

Gruber_Hans_12345 12. Jul 2005 13:21

Re: Windows Session neu aufbauen
 
hmmm, irgendwie verwirrend

MSDN:
The WNetEnumResource function does not enumerate users connected to a share; you can call the NetConnectionEnum function to accomplish this task. To enumerate hidden shares, call the NetShareEnum function.


Delphi Hilfe:
The NetConnectionEnum function is obsolete. It is provided only for compatibility with LAN Manager and 16-bit versions of Windows. Win32-based applications should use the WNetEnumResource function.

Olli 12. Jul 2005 14:06

Re: Windows Session neu aufbauen
 
Immer und ausschließlich auf die PSDKs (oder eben MSDN) zurückgreifen. Die alte Helpdatei kann man vergessen ;)

Christian Seehase 12. Jul 2005 20:34

Re: Windows Session neu aufbauen
 
Moin Hans,

wenn es sich nur um zwei Verbindungen handelt (User1 und User2), mit denen Du Dich am Servershare anmelden willst, kannst Du das auch mit einem "Workaround" machen.
Der eine User verbindet sich mit Server, der andere mit IP-Adresse-von-Server.
Unter dieser Voraussetzung ist es möglich sich gleichzeitig mit zwei verschiedenen Accounts von einem Rechner aus auf einen anderen zu verbinden.

Gruber_Hans_12345 13. Jul 2005 08:10

Re: Windows Session neu aufbauen
 
@Christian Seehase

Das funktioniert ja wirklich.
Aber leider kann ich nicht für alle User immer neue IP-Adressen anlegen (am Server)

Jetzt hab ich schon NetConnectionEnum,NetFileEnum und NetSessionEnum ausprobiert, aber die liefern anscheindend ja nur die Verbinung zu meinem Server.

Schön langsam bin ich am verzweifeln ....

Gruber_Hans_12345 13. Jul 2005 08:16

Re: Windows Session neu aufbauen
 
Hab jetzt das selbe auch am Server probiert:
NetSessionEnum, NetFileEnum, NetConnectionEnum, WNetEnumResource
nur NetSessionEnum zeigt was an, diese Session schließe ich dann in der Computerverwaltung, aber am Client bekomme ich immer den selben Fehler.

Christian Seehase 13. Jul 2005 12:08

Re: Windows Session neu aufbauen
 
Moin Hans,

wieso müssen sich eigentlich diverse verschiedene User von einem Client aus auf den Server verbinden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz