URL: https://www.overclockers.at/coding-stuff/win32api_experten-frage_122340/page_1 - zur Vollversion wechseln!
Hallo! Google spuckt zu diesem thema nix aus:
Sagt wem der Systemfehler 234: MORE_DATA_AVAILABLE im Zusammenhang mit der Funktion GetVolumeInformation() was?
Bräuchte die fkt. für die Datenträgerbezeichnungsermittlung
Gibts alternativen?
(Braäuchte schnelle Hilfe))- tia
ist vielleicht dein string für den volume-namen oder filesystem-namen zu klein?
hast schon GetLastError() gmacht?
ja sicher! drum komm ich ja auf die zahl 234
Der String hat die Länge 200. I glaub ned dass der zu kurz is
Poste mal das entsprechende Codestück.
Code:#include <windows.h> #include <stdio.h> TCHAR lpvolName[200]; // Bezeichnung int main() { int length; DWORD dwErr; char root[MAX_PATH]; DWORD lpSerial; // address of volume serial number DWORD lpMCL; // address of system's maximum filename length DWORD lpFSFlags; // address of file system flags char lpFSNameBuffer[200]; // address of name of file system DWORD nFSNSize; // length of lpFileSystemNameBuffer strcpy(root, "f:\\"); if(GetVolumeInformation(root, lpvolName, length, &lpSerial, &lpMCL, &lpFSFlags, lpFSNameBuffer, nFSNSize) == FALSE) { dwErr = GetLastError(); printf ("Error %d\n", dwErr); } printf("Volumename: %s\n", lpvolName); getchar(); return 0; }
najo, machs mit GetVolumeNameForVolumeMountPoint(...) oder gibt die die driveletters zurück?
Du hast vergessen, die Längenparameter zu initialisieren.
und wie genau geht das?
length = 200;
nFSNSize = 200;
:duh:
(ich würd bei der Gelegenheit die Konstante 200 überall durch ein const int ersetzen)
Zitat von thatlength = 200;
nFSNSize = 200;
:duh:
(ich würd bei der Gelegenheit die Konstante 200 überall durch ein const int ersetzen)
Problem gelöst: Funzt wunderbar!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025