Die Klasse hat dann Member Funktionen, die das Schreiben und Lesen erledigen. Wichtig ist, dass ich von nun an nur noch über das Objekt auf die IOW's zugreife, d.h das ioHandle[] array brauche ich nicht mehr. Wie programmiere ich das sauber?
Ich glaube da ist das hier das falsche Forum. Hier handelt es sich um reine Programmierung und deren Grundsätze und nicht um ein konkretes Problem.
Für solche Fälle einfach an ein C++ Forum wenden.
Da hast du wahrscheinlich recht. Ich weiss nur nicht wie ich mit den Handles umgehen muss. Wenn ich zum Beispiel ioHandles[0] = IoKitOpenDevice() aufrufe, kann ich in meinemObjekt dann ein neues Handle erstellen und new_handle = IoKitGetDevice() aufrufen oder sind die Devices dann schon an das Array ioHandles[0] vergeben? In diesem Fall müsste ich dann das ioHandle dem Objekt irgendwie übergeben...
Bei IowKitOpenDevice() wird die DLL geladen und das erste Gerät als Handle zurückgegeben.
Die anderen Handlels werden über IowKitGetDeviceHandle() geholt. Das muss man aber manuell in einer Routine durchführen.
In der Duko zur DLL steht das alles beschrieben drin.
So in etwa, wenn man das in eine seperate Variable speichern will.
Danke für deine Antwort. Soweit hatte ich das auch von der Doku verstanden. Was für mich noch unklar ist: Nehmen wir an wir haben 3 IOW's und führen deinen Code aus. Sind danach die IOW handles subhandle[0], subhandle[1] und subhandle[2] oder verbirgt sich der erste IOW im ioHandle. Falls ja, was ist dann in subhandle[0]?
Mein Code speichert alle Handels seperat in subHandle ab. Also subHandle[0] ist ioHandle.
Ist etwas anders als in der Doku aber tut seinen Dienst. Der Dokucode macht das selbe, nutzt aber gleich ein Handle-Array zum speichern.
also, wie ich so etwas machen würde, kannst du dir bei IOWJ ansehen (Achtung Reklame ;-). Da verfolge ich auch den objektorientierten Ansatz, allerdings in Java. Meiner Meinung nach gibt es da nur eine Möglichkeit: Wenn du das Array mit den Handles hast, die Objekte sofort erzeugen und die dann von eine Factory auf Verlangen herausgeben lassen. Wenn du mehrer IOWs angeschlossen hast, musst du die eh über den Typ oder die Seriennummer auseinanderhalten.
Bei mir heist die Klasse IowFactory und die Methoden