Auf der Seite
http://dotnet247.com/247reference/msgs/21/109256.aspx
stand folgendes.
Ich habe zwar keine Ahnung woher der Junge das hat und ich verstehe so gut wie nichts was da steht, konnte aber erkenne, das die Funktion wohl 5 oder 6 ZEichen erwartet. Nachdem ihr mich so schön über .s und .c aufgeklärt habt und ich dann mal wieder getestet habe, scheint es zu klappen, wenn ichiAfter much hair pulling, I've figured it out.
Do not do this:
detailData.cbSize =Marshal.SizeOf(typeof
(Win32Methods.SP_DEVICE_INTERFACE_DETAIL_DATA));
Marshal.SizeOf returns a size of 8 for the struct which is
not what the setupapi is expecting. The setupapi expects
the original size of the struct. Looking at the header
files in the DDK, I calculated the size to be 5 for the
ANSI version of the function and 6 for the Unicode.
That's what was hanging me up. I forgot I was calling the
Unicode version.
Regards,
Kevin
devicePAth.c nehme.
zwar habe ich noch nicht genau rausgefunden, wie ich nun die Requierdsize genau ausrechnen soll, aber das teste ich später, morgen oder wenn ich mir einen neuen PC gekauft habe, dieser ich schon halb aus dem Fenster geflogen.
Hoffentlich habe ich mich jetzt nicht zu früh gefreut, denn ich schlafe schon zu 2/3.
was ich aber nicht verstehe ist, weshalb IDEV (der schleifenzähler) im originalcode auf der MSDN-Seite (und bei allen umsetzugen die ich gefunden habe)immer um 2 hochgezählt wird, habe das bei meinem Code noch nicht gemacht.
Ach bitte, sagt mal, hat jemand von euch ein Notebook? bei mir wird immer das selbe ausgegeben, egal wieviel akkus drinn sind und wenn ich dann auch noch IDEV++ mache, komme ich wieder nicht zur "Errormeldung 259". Gibt also noch viel zu lösen

[edit]habe ein bissl weiter versucht.
was könnte IOCTL_BATTERY_QUERY_INFORMATION und BATTERY_QUERY_INFORMATION_LEVEL InformationLevel sein, ist das etwas was ich mit Datasection erstellen muß oder mit enumeration einfach ne konstantenliste erstellen"?
Bei BATTERY_QUERY_INFORMATION_LEVEL hatte ich auf Grund einer Headerdatei gedacht es sind Konstantenwerte, in der Vorlage von MSDN steht
Code: Alles auswählen
bqi.InformationLevel = BatteryInformation
Wenn ich das noch mit Eurer Hilfe rausbekomme / verstehe, dann bin ich langsam durch den größten Kram durch und kann mal einen kompletten Testcode angehen.
[/edit]
[edit=080220070816]ich bin endlich soweit,das ich einen Großteil verstanden und erste Erfolge habe:-) Ohne Eure Hilfe wäre das unmöglich. Besonderen dann an edel[/edit]
Gruß
Toshy