Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Netzwerkressourcen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.12.2002, 20:09 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Hab heute versucht, den Speicherplatz einer Festplatte am Server auszulesen.


C++:
NETRESOURCE NR;
ZeroMemory(&NR, sizeof(NR));
NR.dwType = RESOURCETYPE_DISK;
NR.lpLocalName = "N:";
NR.lpRemoteName =   "\\\\MICHAEL-COMPUTER1\\NetShare";
DWORD Res = WNetAddConnection2(&NR, NULL, NULL, 0);

unsigned long   secPerCluster;
unsigned  long  bytesPerSector;
unsigned  long  freeClusters;
unsigned   long  totalClusters;
int    space_remaining;
    
GetDiskFreeSpace("N:\\\\", &secPerCluster, &bytesPerSector,&freeClusters, &totalClusters );

space_remaining = secPerCluster * bytesPerSector * (freeClusters/1000) ;

CString str;
str.Format("%i",space_remaining);
AfxMessageBox(str);


Das mit dem Speicher dürfte stimmen, denn wenn ich mit Win dfas Netzlaufwerk verbinde, zeigt es das richtige an.
Res liefert einen Fehlercode zurück. Warum??

Danke im voraus
mfg mike :D

edit: Smilie gekillt ;)
--

Dieser Post wurde am 30.12.2002 um 22:05 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.12.2002, 22:03 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Mike,
kann verschiedene Ursachen haben. Bei Mehrfachaufruf z.B Res=85.

C++:
85   ERROR_ALREADY_ASSIGNED The local device name is
                                            already in use.

Dein Quellcode ist (IMHO)o.k.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 30.12.2002 um 22:06 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.12.2002, 10:12 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Mein Fehlercode war bei 1200 oder so.
Laut MSDN sind nur für Windows XP die weiteren Befehle

C++:
CreateProcessAsUser(..);
GetLogicalDrives(..);



Bei den älteren Versionen müsste es wie oben funktionieren, da keine Windows XP ähnliche Multiuserfunktion vorhanden ist.
Werds weiter probieren

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.12.2002, 15:40 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Eine Frage hätte ich noch: Welches OS hast du? Hat es bei dir problemlos das Laufwerk "gemountet"??

Danke im voraus & guten Rutsch!!

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.01.2003, 15:10 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Mike,

Zitat:
mike postete
Hi!
Eine Frage hätte ich noch: Welches OS hast du? Hat es bei dir problemlos das Laufwerk "gemountet"??
mfg mike


Bin im moment nich @ Home aber,
1. OS: Win Xp Prof.;W2k; Win98 (da bin ich flexibel ). Verbunden hab ich einen XP - Rechner mit W2k. Anders herum hab ich (noch) nicht getestet.
2. Ja, hat es. Has Du evtl. die Freigaben nicht richtig gesetzt?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 01.01.2003 um 15:12 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.01.2003, 17:17 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Zu 2: Was muss man da einstellen? Wenn ich mit dem Explorer das NT Laufwerk verbinde fragt er mich nach keinem Passwort.

Danke im voraus!!

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.01.2003, 19:22 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Mike,

Zitat:
mike postete
Hi!
Mein Fehlercode war bei 1200 oder so.


Kann das jetzt nicht prüfen aber müsste:

C++:
1200 ERROR_BAD_DEVICE          device name is
                                            invalid.

oder ähnlich ergeben?. Werde das mal zu Hause nachlesen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.01.2003, 22:48 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Mike,
passe mal folgenden Quellcode an Dein System an und berichte was für ein Fehler kommt:

C++:
void CconnectDlg::OnBnClickedConnect()
{
    nr.dwScope=RESOURCE_GLOBALNET;
    nr.dwUsage=RESOURCEUSAGE_CONNECTABLE;
    nr.dwType=RESOURCETYPE_ANY;
    nr.lpLocalName="Z:";
    nr.lpRemoteName="\\\\Master\\E$";
    nr.lpProvider=NULL;
    ret=WNetAddConnection2(&nr,NULL,NULL,CONNECT_UPDATE_PROFILE);


    if(ret==NO_ERROR){
        unsigned long secPerCluster;
        unsigned long bytesPerSector;
        unsigned long freeClusters;
        unsigned long totalClusters;
        int    space_remaining;
    
        GetDiskFreeSpace("Z:\\", &secPerCluster,
        &bytesPerSector,&freeClusters, &totalClusters );

        space_remaining = secPerCluster * bytesPerSector * (freeClusters/1000) ;

        CString str;
        str.Format("%i",space_remaining);
        AfxMessageBox(str);
    }
    else{
        //Trap the error
        switch(ret){
            case ERROR_ACCESS_DENIED:
                MessageBox("Access to the network resource was denied","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_ALREADY_ASSIGNED:
                MessageBox("The local device specified by lpLocalName is already connected to a network resource","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BAD_DEV_TYPE:
                MessageBox("The type of local device and the type of network resource do not match","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BAD_DEVICE:
                MessageBox("The value specified by lpLocalName is invalid","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BAD_NET_NAME:
                MessageBox("The value specified by 'lpRemoteName' is not\nacceptable to any network resource provider. The resource name is invalid, or the named resource cannot be located","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BAD_PROFILE:
                MessageBox("The user profile is in an incorrect format","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BAD_PROVIDER:
                MessageBox("The value specified by 'lpProvider'\ndoes not match any provider","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_BUSY:
                MessageBox("The router or provider is busy, possibly initializing.","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_CANCELLED:
                MessageBox("The attempt to make the connection was cancelled by the user\nthrough a dialog box from one of the network\nresource providers, or by a called resource","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_CANNOT_OPEN_PROFILE:
                MessageBox("The system is unable to open the user profile to process persistent connections","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_DEVICE_ALREADY_REMEMBERED:
                MessageBox("An entry for the device specified in 'lpLocalName'\nis already in the user profile","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_EXTENDED_ERROR:
                MessageBox("A network-specific error occured.\nPlease Re-execute the program ","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_INVALID_PASSWORD:
                MessageBox("The password you specified is invalid","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_NO_NET_OR_BAD_PATH:
                MessageBox("A network component has not started, or the\nspecified name could not be handled","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case ERROR_NO_NETWORK:
                MessageBox("There is no network present.","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case 53:
                MessageBox("The network path you specified is not found.","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case 1219:
                MessageBox("The Account name & Password you typed does\nnot match with the existing account in 'Comp1'","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            case 487: MessageBox("The remote machine is not existing on the network.","Network Login Failure",MB_OK+MB_ICONERROR);
                break;
            default:Error.Format("Connection to the remote PC .\nThread Exited with an Error Code '%d'.",ret);
                MessageBox(Error,"Copy Error",MB_OK+MB_ICONERROR);
                break;
        }
    }
}

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 01.01.2003 um 22:52 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.01.2003, 17:27 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ahmm. Funktioniert einwandfrei Hatte vorher die ganze Festplatte als Freigabe. Bekam aber da im den Error "The type of local device and the type of network resource do not match". Hatte dann nur mehr einen Ordner in die Freigabe gegeben, und es funktionierte.
Die Festplatte auf dem zweiten PC ist nur auf FAT32. Vielleicht war das die Ursache.
Oder ist M$ doch Sicherheitsbewusst!? Denn sonst bräuchte man nur mehr 2 Befehle und einen . Naja

Danke!!
mfg mike
--

Dieser Post wurde am 03.01.2003 um 17:27 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: