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.h

    In 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*


Anmelden zum Antworten