MFC-DLL aus Funktionen mit struct erstellen *HELP PLS*
-
Hallo,
ich habe in C++ einige Anwendungen gebastelt, die alle ziemlich die gleiche Funktion haben:
Sie lesen Laufwerksinformationen aus.
Ich habe im Moment 2 Dateien: DriveInfo.h und DriveInfo.cpp.
Diese Dateien binde ich mit #include "DriveInfo.h" ein. In der DriveInfo.cpp werden diverse andere Dateien eingebunden, welche ich brauche, z.B. windows.hIn meiner Anwendung schreibe ich dann extern DriveInfo drive[];
Wenn ich dann z.B. die Funktion int drivecnt = GetDrives() aufrufe, wird das struct drive mit Daten gefüllt.
Das Struct ist so deffiniert (in DriveInfo.h)
struct DriveInfo{ bool bDriveStatus; // Laufwerk bereit CString szDriveType; // Typ des Datenträgers CString szDriveLabel; // Datenträgerbezeichnung CString szDriveFilesystem; // Dateisystem CString szDriveletterFull; // Laufwerksbuchstabe, z.B. "A:\" CString szDriveletterOnly; // Laufwerksbuchstabe, z.B. A CString szDriveSize; // Partitionsgröße CString szDriveFree; // Partition - Frei CString szDriveUsed; // Partition - Belegt CString szDriveFreepercent; // Partition - Frei: % CString szDriveUsedpercent; // Partition - Belegt: % ULONGLONG ullDiskSize; // Datenträgergröße in Byte CString szDriveHardwareUID; // Nummer zum Datenträger CString szDriveHardwareId; // ID des Datenträgers CString szDriveHardwareName; // Hardwarebezeichnung zum Datenträger, z.B. "IBM DTLA-XXXX" int iDiskCylinder; // Laufwerk - Cylinder int iDiskSectorsTrack; // Laufwerk - Sektoren pro Track int iDiskBytesSector; // Laufwerk - Bytes pro Sector int iDiskTracksCylinder; // Laufwerk - Tracks pro Cylinder int iDiskSectors; // Laufwerk - Sektoren };
Nun will ich die Möglichkeit schaffen, dass andere Entwickler diese Funktionen nutzen können, ohne zu sehen, was passiert.
Ich bin ewig lange daran gesessen, um rauszufinden, wie man aus Windows ausliest, welche Hardware zu welchem Laufwerksbuchstaben gehört.
Daher will ich diese Information auch nicht umbedingt so einfach bereit stellen. (Sonst kauft es ja keiner mehr).Frage: Kann man sowas (wegen dem Struct) überhaupt in eine DLL packen, oder gibt es andere, einfachere Wege das zu verpacken, dass man den Quellcode nicht mehr sieht?
Plattformunabhängig ist es ja eh nicht...
Ich habe mich bisher nicht mit DLLs beschäftigt, ich weiß nur dass man eine Main-Funktion braucht. --> ???
Was soll da drin stehen? wie kann man sich das vorstellen?Das ganze verwendet ja die MFC. Geht das mit einer DLL?
Gibt es Anleitungen wie man sowas erstellt, speziell mit dem Struct?
Ich habe zwar eine Beispielanwendung mit einer DLL da, aber mit einem Struct?Bin für jeden Tipp dankbar.
mfg
trequ
-
*push*