| |
|
|
- Seite 1 - |
|
| Hat jemand Interesse an den Native-APIs mit der Prefix Zw und Nt? |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| Andreas Hötker
Viele Funktionen, die erst in WindowsXP in die dokumentierten APIs aufgenommen wurden, sind schon sehr lange in Native-APIs enthalten. Man ist also durch das Aufrufen von Native-APIs dazu in der Lage, bereits unter WindowsNT Funktionen aufzurufen, die es offiziell erst ab WindowsXP gegeben hat - oder die es offiziell überhaupt noch gar nicht gibt! Kennt man sich also mit den Native-APIs aus, ist man in der Lage Programme zu zaubern, die in ihrem Funktionsumfang weit über dem Liegen, was irgendein anderer Programmierer zu stande bringen würde.
Hier noch einige Beispiele dazu:
Die Toolhelp-Funktionen wurden erst ab Windows2000 eingeführt - trotzdem gab es schon unter WindowsNT einen Taskmanager. Warum? Native-API Calls!
Eine API-Funktion, die die aktuelle Größe der Registry ausliest, wurde erst ab XP eingeführt. Mit der Native-API ist das bereits ab WindowsNT möglich.
Soweit ich weiß gibt es zur Zeit offiziell noch keine Möglichkeit, die Anzahl geöffneter Handles auf Kernelobjekte in fremden Prozessen zu bestimmen. Mit der Native-API ist das kein Problem (siehe [...] ).
Module, die ohne Pfadangabe geladen werden, werden unter anderem in der Current Directory des jeweiligen Prozesses gesucht. Wer schon mal versucht hat, die Current Directory anderer Prozesse zu bestimmen, wird wohl festgestellt haben, daß das normalerweise nicht möglich ist. [...] liest die Current Directory fremder Prozesse aus. Womit? Mit Hilfe einer Native-API.
Es gibt keine Möglichkeit einen Treiber zu laden ohne ihn umständlich über die Registry zu registrieren. Ich mache das trotzdem. Wie geht das? Mit Native-APIs.
Es ist nicht gerade einfach, Infos über die von einem System geladenen Treiber zu bekommen - es sei denn, man nimmt Native-APIs.
Diese Liste ließe sich noch fast endlos fortsetzen, sie soll aber erst einmal einen kleinen Einblick geben, was außerhalb des Machbaren mit Native-APIs trotzdem möglich ist. |
|
|
| |
|
|
|
| Ja Deine Einblicke sind ja prima aber ohne Source hier in der Community wohl weniger veranschaulichbar...
Ich meine - so ein bisl ists (und ich schliesse mich hier mal den Leuten an Dich mich jetzt schon X mal darauf angesprochen hatten was AH hier uns eigendlich sagen will ) als wenn ich hätte unter schönste-community.de gepostet was alles möglich wäre wenn ich eine Community schreiben würde...
Interessant ists doch aber nicht das drüber reden, sondern es a) tun und b) zur Verfügung zu stellen.
Andernfalls kommt (nein nicht unbedingt bei mir!) so ein komischer Nachgeschmack auf - ich glaube Du verstehst mich.
Also zeig - drum sind wir auch hier! |
|
|
| |
|
|
|
| Ein Source steht hier z.B. in einem Rätsel von mir - nicht gelesen?
Jeder, der sich an diesem Rätsel in irgendeiner Art und Weise beteiligt hat, hätte auf Nachfrage hin Infos von mir zur Verwendung bekommen können (steht da) - keiner hat nachgefragt - kein Interesse?
Ich habe oben nur versucht, Torstens Frage zu beantworten, denn der hat gefragt und hat scheinbar Interesse. Wer Interesse hat, wird Infos bekommen (und zumindestens einer hat davon schon mehr als genug , und der hat sich scheinbar auch sehr darüber gefreut).
Ich werde auf jedenfall keine Infos an Leute geben, die sich im Prinzip gar nicht mit der Materie beschäftigen wollen und nur auf der Suche nach Quelltexten sind - das bringt für mich nur Nachteile. |
|
|
| |
|
|
|
|
Ich werde auf jedenfall keine Infos an Leute geben, die sich im Prinzip gar nicht mit der Materie beschäftigen wollen und nur auf der Suche nach Quelltexten sind - das bringt für mich nur Nachteile.
Naja du maßt Dir hier aber an im Vorraus zu wissen ob sich jemand damit beschäftigen möchte oder würde - das ist vermessen. Stell Dir vor ich hätte nach ähnlichen Maßgaben die Community programmiert - in der Quelltextesammlung wären 3 Sources - wenig inspirierend meinst nicht auch?
Und welche Nachteile sich speziell für Dich ergeben wenn Du brauchbare CodePieces postest ist wohl für die Meisten kaum nachvollziehbar - zumal - es kann sich hierbei auch nur um Spekulation deinerseits handeln.
Wie ichs drehe und wende - es bleibt unangenehm. Auf einer Party wird nunmal getanzt ;)
Nicht gelesen?
Es gibt kein Posting das ich nicht persönlich kenne - schon alleine aus Sicherheitsgründen lasse ich mir jedes Posting sofort beim Absenden oder Bearbeiten auf meinen süßen Communicator zustellen - per überlange-SMS. Dank Base konnte ich es mir sogar kostenlos ermöglichen... |
|
|
| |
|
|
|
| Wie gesagt, Quelltexte, stehen hier bereits drei - wie viele soll ich noch posten und warum?. 1. Quelltext liefert ein Beispiel zur Verwendung von Registry in einer Native-API. 2. Quelltext liefert ein Beispiel zur Verwendung von Dateien in der Native-API. Aus beiden Quelltexten kann man ersehen, wie Strings verwendet werden. 3. Quelltext liefert ein Beispiel zum Auslesen der Current Direktory fremder Prozesse. Wer die Native-API benutzen möchte, weiß also die wichtigsten Sachen, um damit umzugehen.
Um diese APIs in die API-Library aufzunehmen, fehlt mir wohl doch etwas die Zeit - eine API hat mehrere Parameter und ein Parameter hat unter Umständen weit über 20 verschiedene Zustände.
Welche Nachteile hätte es für mich hier weiter Quelltexte zu posten, ohne das ein wirkliches Interesse besteht: Wer alles vorgekaut bekommt, hat keinerlei Interesse, selbst nach Lösungen zu suchen. Es wird so laufen, wie mit sämtlichen Programmen, die ich hier poste: Es gibt keine Kommentare, es gibt keine Fragen, es gibt nichts, was mich in irgendeiner Art und Weise weiterbringt. Fehler habe ich selbst zu suchen und ich weiß nicht einmal, ob das was ich da hergestellt habe überhaupt irgendwie benutzbar und verwendbar ist. Im Prinzip vergeude ich also nur einen haufen Zeit, die ich besser mit denken und schreiben nutzen kann.
Weise ich hier aber nur die Richtung, wird vielleicht irgendeiner mal selbst nachsehen und selbst nachdenken - und das bringt dann auch mich weiter. Es ist also wesentlich besser, hier überhaupt gar nichts vorzukauen und möglichst wenig brauchbares zu posten, wenn kein Interesse besteht - was da möglich ist, habe ich ja jetzt gesagt.
Ich bin dagegen sehr gerne bereit (soweit ich das kann) Fragen zu beantworten und bei Bedarf auch entsprechende Dokumentationen herauszugeben sowie bei der Entwicklung von Quelltexten zu helfen (wie ich das an anderer Stelle auch tue). Gleiches gilt übrigens für die Programmierung von Treibern, was ja eng zusammenhängt. Auch da werde ich sehr genau beobachten, ob das, was man da tun kann, überhaupt für irgendjemanden von Interesse ist. Wenn einer gerne Türmchen baut, der Rest aber lieber mit Puppen spielt, warum sollte dieser eine dann an die anderen seine Bauklötze verteilen? Ist doch unsinnig, oder? |
|
|
| |
|
|
|
| Ach da drückt der Schuh - ein enttäuschtes ich krich zu wenig Feedback - Handeln?
Welche Nachteile hätte es für mich hier weiter Quelltexte zu posten: Wer alles vorgekaut bekommt, hat keinerlei Interesse, selbst nach Lösungen zu suchen.
Ähm - wo ist da der Nachteil für Dich?
: Es gibt keine Kommentare, es gibt keine Fragen, es gibt nichts, was mich in irgendeiner Art und Weise weiterbringt.
Nene, wo ist der Nachteil für Dich?
Fehler habe ich selbst zu suchen und ich weiß nicht einmal, ob das was ich da hergestellt habe überhaupt irgendwie benutzbar und verwendbar ist.
... Nachteil?
Im Prinzip vergeude ich also nur einen haufen Zeit, die ich besser mit denken und schreiben nutzen kann.
Was hindert Dich?!
Weise ich hier aber nur die Richtung, wird vielleicht irgendeiner mal selbst nachsehen und selbst nachdenken - und das bringt dann auch mich weiter.
Und, auch Zeitverschwendung?
Es ist also wesentlich besser, hier überhaupt gar nichts vorzukauen und möglichst wenig brauchbares zu posten, wenn kein Interesse besteht
Wenn es Dein Anliegen ist möglichst wenig brauchbares zu posten müsste ich Dich bitten garnichts zu posten? Würde hier jeder möglichst wenig brauchbares Posten - müsstest Dir ein AssemblerBuch kaufen? XPSE selber schreiben weil ich ihn nicht posten würde damit Du InlineASM einfach nutzen kannst - bzw. man Dich erst überhaupt auf die Idee brachte? Zeitverschwendung?
was da möglich ist, habe ich ja jetzt gesagt.
Was möglich ist wissen wir ohne Dich nicht - zumal Dein Anliegen es ist möglichst wenig brauchbares zu posten? Hä?
Ich bin dagegen sehr gerne bereit (soweit ich das kann) Fragen zu beantworten und bei Bedarf auch entsprechende Dokumentationen herauszugeben sowie bei der Entwicklung von Quelltexten zu helfen (wie ich das an anderer Stelle auch tue).
Deshalb sind wir hier! Auch Zeitverschwendung?
Auch da werde ich sehr genau beobachten, ob das, was man da tun kann, überhaupt für irgendjemanden von Interesse ist.
Hier will keiner beobachtet werden Diese Form des offensichtlichen Zuteilens führt zu wenig Feedback und bringt mehr Fragen als Antworten?
Wenn einer gerne Türmchen baut, der Rest aber lieber mit Puppen spielt, warum sollte dieser eine dann an die anderen seine Bauklötze verteilen?
Kann ich Dir sagen -
a) weil der der Türme baut nicht einschätzen kann ob die die mit Puppen spielen vielleicht doch auch Türmchen bauen werden (Wenn Du das kannst dann Respekt - das kann IMHO nicht mal Gott ),
b) weil der der Türme baut die Puppenspieler nicht ausser acht lassen sollte weil ohne die Puppenspieler seine Türme niemanden interessiert,
c) Du selber mehr mit Puppen spielst als Du in Deinem jungen Programmiererdasein überhaupt verstehst?
Schau mal - ich will Dich doch nur davor bewahren - also ich drücks mal so aus - das klitzekleine Thema was Du da behandelst - also wir hatten als wir noch jung und unerfahren (was Programmierung betrifft) sicherlich alle mal solche damalig interessanten Themen und wollten bestimmt auch ganz viel Anerkennung und Feedback - es blieb aber aus. Heute wissen wir das wir uns eigendlich nicht mit dem Thema selbst - sondern mit unserer Art zum Apfel gemacht haben. Nicht das das Thema langweilig war - aber es war halt nur ein Thema. Treiberprogrammierung - schön - hey können wir alle! Echt! Wen es interessiert der baut sich einen Treiber - kein Ding! Man ich hab schon unter Dos assemblert da war ich 12 - tsrs hab ich gebaut wie ein Weltmeister - sogar PCX-BIld-Screenshots vom TextModus(c080/40) hab ich hingeproggt - hat keine sau interessiert ich fands grandios!
Gäbe es damals schon das Internet wie heute - würde ich vielleicht immernoch postings von mir lesen - wenns nach AH ginge in der Art: CO80, schon mal gehört? (gelächter - keiner sagt was) oder TSR macht Screenshot! Haha! Jemand interesse wie man PCX-Header korrekt schreibt? (gelächte - keine sagt was) - na ist doch auch klar!
Ich war halt ein Noob - dachte das ist wundersache was ich anstelle. Schau mal ich persönlich finde heutzutage alle Programmierthemen stink langweilig. Echt. Es gibt nix was ich mir nicht dahinpinseln könnte - dauerts halt - naund. Aber das heist doch nicht das ich mich sofort und jetzt für Treiberproging interessieren muss weil Du grad den Ich teil mich der Welt mit wie ich APIs aufrufen-Drang hast. Echt interessiert vielleicht grad kein! Nicht böse gemeint! Aber überlasse doch den Leute es für sich den Zeitpunkt zu finden wann sie es brauchen. Und dann! Dann aber sollte eine solide Datenbasis bereit stehen - und dann würde man sich freuen wenn es verfügbar ist. Dann will die Puppe vielleicht mit Klötzern spielen!
Andernfalls erhebst Dir ja den Anspruch immer hier zu diesem Thema Verfügbar zu sein - ich meine hey - kein Ding meinetwegen - von mir aus warst Du hier immer schon sehr willkommen - das weist Du aber! Die realität hat aber auch gezeigt das es mal ganz so einfach vorkommen kann das AH aus - völlig unwichtig welchen Gründen - mal ebend nicht verfügbar ist. Nè?
Wir sind hier eine Community - oder Plattform oder Portal oder was auch immer derartiges - damit auch eine Wissenssammlung. Es sollte hier nicht im Vordergrund stehen zu versuchen andere an die persönlichen Bedürfnisse anzupassen. Oder machs wie ich ermögliche das Umsetzen Deiner persönlichen Spielereien damit das Du sie allen zur Verfügung stellst.
Finde ich - kommt irgendwie lockerer. Und stell mal vor - ich hab niemanden gefragt ob Interesse an einer XProfanCommunity besteht - wirklich nicht die Antworten hätten mich auch üüüüberhautp nicht interessiert! Mittlerweile weiß ich aber das viele gesagt hätten bloß nicht - da gabs wohl mal Vorfälle bla bla. Du siehst - das Leben spielt sich nicht ab in Schwarz oder Weiß - es ist Bunt. Das einzige was der Mensch imho glaubt beeinflussen zu können ist seine Farbtiefe.
Ist doch unsinnig, oder?
Ganzschöner Unsinn! |
|
|
| |
|
|
|
Michael Wodrich | Da möchte ich auch mal eine Anregung einwerfen.
@AH: Denke doch mal daran, wie Du zu den Treiberinfos gekommen bist. Die standen einfach so im Internet - ohne das einer gefragt hat ob das jemand braucht.
Auch wenn diese neuen Infos im Moment noch niemenden interessieren. Es wird mit Sicherheit Leute geben, die damit etwas anfangen können.
Und - ganz ehrlich - hast Du den Autoren der Treiberinfos Informationen zukommen lassen, das es Dir bei Deinem Problem geholfen oder Dein Verständnis erweitert hat???
Das ist leider immer so ein Problem mit dem Feedback....
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 08.11.2006 ▲ |
|
|
|
|
Carlo Keil | Michael Wodrich
Das ist leider immer so ein Problem mit dem Feedback....
Ein so grosses Ausrufezeichen, wie da hinter müsste, passt nicht auf mal auf meinen 20-Zoll-Monitor.
@Andreas: Es wird vielen hier gehen wie mir: 1. Ich brauche aktuell keinen Treiber; vor allem keinen, den ich mir selber schreiben müsste. 2. Ich weiss jetzt, das die Infos, die mir erlauben bei Bedarf einen Treiber selbst zu schreiben. verfügbar sind 3. Ich weiss jetzt, wo ich danach fragen kann. 4. Ich weiss jetzt, wer mir bei entsprechenden Problemen helfen würde.
Für den Punkt 1. kannst du nix Die anderen Punkte darfst du dir gutschreiben Und was das Thema Quellcodes angeht, kann ich mir eine Bermerkung doch nicht verkneifen: lass dir mal von einem Angler (oder einem Werbefachmann) erklären was anfüttern ist.
Damit klar ist, in welchem Sinne ich das Ganze meine: Dankeschön für manchen nützlichen Tip und manche interessante Anregung (und damit sich niemand auf Schlips oder Füsse getreten fühlt gilt das gleich mit für alle Community-Mitglieder)
Herzliche Grüsse Carlo |
|
|
| |
|
|
|
| Ich muß gleich zur Arbeit und komme leider über das Lesen des ersten Satzes nicht mehr hinaus... Antwort kann also ein paar Tage dauern. |
|
|
| |
|
|
|
GDL | Hallo, was soll da ich sagen, ich habe ein Thema was total anders ist wie die Themen die hier behandelt werden. Ich kann immer nur Fragen stellen und nichts beitragen .Und wenn ich mal was hätte dann kann es niemand gebrauchen, da es auf GDL Hardware basiert und ein Spaghetticode reinstem Profan ist.
Genauso geht es dir auch auf deinem Gebiet.Fachgebiete wovon ich keinerlei Ahnung habe und mir auch mein, jetzt Gott sei Dank stabiles System, nicht mehr zerschiessen möchte.Schau doch deine Umfragen an, die meisten wissen gar nicht um was es bei deinen Themen geht. Wenn ich dann noch unter Members die Postingeinheiten der einzelnen 600 Mitglieder ansehe .........
Servus Georg |
|
|
| |
|
|
|
| Mein Sohn hat hoch Fieber und meine Frau ist mit ihm zum Notarzt gefahren, deshalb habe ich die Postings hier nur kurz überflogen.
@IF Noch mal zu Puppen und Bauklötzen... Für mich gibt es zwei verschiedene Arten von Betriebssystemen: Nicht NT-basierende Systeme = Windows95/98/ME NT-basierende Systeme = WindowsNT/2000/XP
Wo es zwei unterschiedliche Arten von Betriebsystemen gibt, gibt es für mich auch zwei unterschiedliche Arten zu programmiere: Programmieren für NT (hab ich mal Bauklötze genannt) Programmieren für nicht-NT (hab ich mal Puppen genannt)
Wer sich hauptsächlich mit GDI oder 3D beschäftigt und die Tatsache nutzt, das sowieso jeder als Admin auf seinem Rechner unterwegs ist, muß sich um NT-Programmierung nicht unbedingt kümmern und kann ohne Probleme so weitermachen, wie unter Windows98 - wer am liebsten mit Puppen spielt, interessiert sich also evtl. für Bauklötze gar nicht (das muß auch nicht sein, jeder hat andere Interessen).
Programmierung mit Native-APIs und speziell Treiberprogrammierung ist NT-Programmierung pur - das Sicherheitssystem, Accounts und Privilegien finden dort Anwendung. Sein Wissen von Windows98 eins zu eins dorthin zu übernehmen und so zu tun, als hätte sich nichts geändert, ist da wohl nur schwer möglich.
Ich persönlich habe keinerlei künstlerisches Talent zum Erstellen spezieller GDI-Oberflächen. Wenn ich etwas auf meine Art nachschreiben würde, das es schon 10.000 mal in unterschiedlichen Versionen gibt, wäre mein Programm auf jedenfall das letzte, was irgendjemand nutzen würde . Ich habe mich deshalb für die NT-Programmierung entschieden -> da gibt es ohne weiteres die Möglichkeit, Sachen zu schreiben, die es noch gar nicht oder nur 1-2x weltweit gibt.
Ich möchte einen Weg gehen, der mich über die Treiberprogrammierung als Werkzeug hin zu größtmöglichem Verständnis von dem führt, was da im Speicher von NT-Systemen vorgeht.
Hier im Forum scheint im Augenblick keinerlei Interesse an NT-Programmierung zu bestehen - zum einen wurde mir das schon bestätigt, zum anf´deren sehe ich das an den Kommentaren zu meinen Programmen. Zwar ist es auch mal ganz lustig, [...] zu führen, auf Dauer ist das aber doch ziemlich fade. Ich suche (warte) also (auf) jemanden, der in die selbe Richtung geht - jemanden, mit dem man sich austauschen und von dem man auf jeden Fall auch lernen kann.
Was ich am liebsten tun würde, ist die Native-APIs in die API Library übernehmen und mit möglichst spartanischen Quelltexten ausstatten - da ich bei einer einzigen APi aber (überschlagen) bis zu 300 (oder mehr?) unterschiedliche Parameter und Members von Strukturen erklären müßte (und Erklärungen erst einmal finden müßte), habe ich mir das bereits abgeschminkt.
Würde ich meine Bauklötze (fertige Quelltextbausteine, die etwas besonderes können) hier verschenken, würden dann die Leute, von denen ich glaube, daß sie vielleicht irgendwann einmal Lunte riechen werden, wirklich das Puppenspielen aufgeben und zum Türmchenbauen übergehen???
Ich glaube , meine Bausteine würden viel eher in irgendeiner Puppenstube verschwinden, wo sie als Stuhl oder Tisch dienen. Da ich aber einen Türmchenbauer suche, ist es meiner Meinung nach viel besser zu zeigen wie man Türmchen baut und erst dann meine Steine aus der Hand zu geben, wenn ein anderer anfängt, selbst kleine Türmchen zu bauen. Ich hab Zeit und kann warten - und zur Not führe ich weiter Selbstgespräche .
@Carlo: Genau so ist das geplant.
@Michael:´Mit Feedback gebe ich mich nicht zufrieden - ich will Austausch. Einer fragt, einer antwortet und durch das Beantworten der Frage erhält derjenige, der die Frage beantwortet eine neue Sichtweise auf das Problem an sich und lernt dazu.
Gruß
Andreas |
|
|
| |
|
|
|
| |
|
| |
|
|