Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Nee. Mit Doppelklick ist die Standardanwendung des jeweiligen Dateityps verknüpft. Was geht:
@if exist %1 >nul chcp 1252 & type %1|clip.exe
Textdatei per drag/drop auf das Script ziehen, fertig.
Thread affinity of user interface objects, part 2: Device contexts | The Old New Thing (microsoft.com)
Ich hab bislang kaum was mit GDI+ angestellt. GUI ist nicht so meins ...
Sieht so aus als könntest du Berechnungen in Threads machen, aber nicht parallel auf das DC zugreifen. Critical Section...
Ich erfinde das Rad auch mal ganz gerne neu, wenn ich die Zeit habe. Trägt enorm zum eigenen Verständnis bei. Aber für so ne Nummer, wo du neben "ich hab da was zu Laufen gebracht" auch noch nem ellenlangen Standard folgen musst? Wär mir persönlich zu Viel Aufwand mit viel zu hohem...
Naja, was soll ich sagen. Musst halt alles was optional ist in separate structs packen. Was anderes fällt mir dazu auch nicht ein.
Und ja, write gibt die Anzahl geschriebener Bytes zurück. Sich den ganzen Kram aber noch mal als HEX Dump anzusehen, kann auch nicht schaden.
Das Reverse...
Wer denn sonst :D
Dann ist SSID[0] = '\0'. Ich weiß nicht wie das dann prinzipiell gesendet wird, ob mit oder ohne Nullterminierung. Wenn dein TagLength Member die Stringlänge der SSID ist, dann braucht's eigentlich keine Nullterminierung. Weiß aber nicht was da für ein Format erwartet wird.
Na das ist doch mal übersichtlich :)
Hmm. 33 oder irgendwas größeres was nicht so eine krumme Zahl ist. Platz für die Nullterminierung sollt schon bleiben.
Ja das ist so mehr oder weniger mein letzter Vorschlag. Der ganze Kram muss eben noch serialisiert werden, bevor er versendet werden kann...
Wenn ich's mir recht überlege, lass SSID beim Pointer. Den kannst du separat allokieren und reinhängen. Die Serialisierung machst du dann beim finalen Zusammenkopieren. So brauchst du wenigstens nicht alles umwerfen und kannst erst mal deine Stackvariablen weiterverwenden.
Du musst auch höllisch aufpassen, wenn ich mir so deinen Versuch oben ansehe. struct s_SSID_Parameter gibt es jetzt nur noch als Interface und nicht mehr real. Heißt, du kannst es nur noch als Pointer verwenden. Und das wiederum bedeutet, dass es beacon.Tagged_Parameters.SSID_Parameter.SSID...
Kannst du ja machen, wird dich aber nicht davor bewahren noch mal alles zusammenhängend in einen Speicherbereich zu kopieren, bevor du die Daten senden kannst.
Ja genau. Sobald du variable Längen irgendwo drin hast, kannst du leider den Gedanken begraben, dass du sowas wie den Speicherbereich eines "Gesamt-structs" senden kannst. Da musst du dann für den ganzen Kram am Ende Speicher allokieren und mit memcpy die Daten zusammenkopieren. Schade, aber...
Für so außergewöhnliche Kombinationen musst du natürlich ne Extrawurst haben. Wie würde denn ein Wert aussehen, den du da reinbringen musst und wie muss er auf die 3 Bits aufgeteilt werden?
Das sieht übel aus :D
Du hast unten einen Pointer drin. Das klingt (für mich) nicht richtig. Ein Pointer...
Ja, weil du dein Schema schon verkehrt aufgebaut hast.
/*
Capabilities Information: 0x0411
.... .... .... ...1 = ESS capabilities: Transmitter is an AP
.... .... .... ..0. = IBSS status: Transmitter belongs to a BSS
.... .... .... 00.. = CFP Lo participation capabilities: No point...
Kannst du machen, aber ... Wenn du das vorhergehende struct immer mit in das Bitfeld packst, bist du mit den Typbreiten für data ziemlich schnell am Ende ;)
struct FrameControlField {
union {
uint8_t data;
struct {
uint8_t version : 2;
uint8_t type : 2;
uint8_t...
Damit der Compiler weiß was du mit der union vorhast. Nämlich ein vernünftiges Alignment zu bekommen. Und das geht nur unter den Bedingungen die ich oben geschrieben habe. Versuch so was wie ...
... gar nicht erst. Es wird kein struct geben das nur 2 Bit breit ist. Das Ding ist 8 Bit breit. Und...
Muharhar :ROFLMAO: Hatte ich schon erwähnt, dass ich von dem Netzwerkkram ... ? Ja hatte ich. Also, ich weiß dass es sowas wie Wireshark gibt. Mehr aber auch nicht.
Ja, da liegt immer der Hase im Pfeffer. Das muss stimmen, und das muss immer die Breite eines der Integertypen ergeben, sonst wird...
Joa, du bringst dich aber selber durcheinander wenn du da andere Breiten hast als du benötigst.
Anfangen musst du aber sowieso da:
Sowas ist extrem hilfreich. Muss aber stimmen. Soll da wirklich 0x8000 rauskommen? Dann sind das 16 Bit. Beschrieben hast du dann aber 8 Bit. Mach das mal schön...