Windows DDK - nur eine kleine Headerdatei inkludieren



  • Hallo Leute,
    vielleicht kann mir jmd helfen, bin am Verzweifeln. Ich habe das Windows DDK und möchte in meinem VS 6.0-Win32-Projekt auf eine Methode des DDK zugreifen.
    Das mit dem DDK und dem Visual Studio ist ja immer so eine Sache, aber ich will ja keinen kompletten Treiber programmieren, sondern nur eins, zwei Methoden benutzen. Das wird doch wohl gehen?
    Folgendes hab ich gemacht:
    - DDK - Include Ordner als "Zusätzliches Include-Verzeichnis" bekanntgemacht
    - benötigten Header inkludiert
    - unter "Zusätzlicher Bibliothekspfad" das DDK-"Lib"-Verzeichnis eingetragen
    - die benötigte Library unter "Bibliothekmodule" eingetragen

    Trotzdem krieg ich immernoch den Linkerfehler (nichtaufgelöstes externes Symbol...).
    Das kann doch wohl nicht wahr sein, bin ich jetzt schon zu blöd, um eine einfache Lib einzubinden?
    Vielleicht fällt Euch noch was ein. 😞

    Cosmixx



  • Ist das nicht aufgelöste Symbol die Funktion, die du aufrufen willst oder was ganz anderes?



  • Hallo Ringding,
    es sind mehrere Linkerfehler. Einmal die Methode, die ich haben möchte, und dann noch zwei andere Methoden namens security_context_cookie oder so ähnlich.
    Ich zweifle mittlerweile daran, ob ein Standard Win32-Projekt die DDK-Librarys überhaupt linken kann. Normalerweise benutzt man ja die Tools des DDK oder n extra make-File. Aber wie schon oben erwähnt, ich will ja keinen kompletten Treiber programmieren.

    Cosmixx



  • Du kannst als Treiber die Win32-API in einer anderen Übersetzungseinheit verwenden, aber umgekehrt geht das nicht, da dein Programm ja nur im Usermode läuft (außer wenn über die Winapi Kernelmode-Funktionen aufgerufen werden).

    Es gibt über den normalen Weg keine Möglichkeit vom Usermode aus auf Kernelmode-Funktionen zuzugreifen.
    Wenn du wissen willst wie man es trotzdem hinbekommen könnte, dann solltest du dir das Buch Undocumented WindowsNT besorgen, da wird so etwas erklärt, allerdings muss man da auch zwischen versch. NT-Versionen unterscheiden damit das funktioniert.

    Ich würde an deiner Stelle nen extra Treiber schreiben, der diese Funktionen ausführt und dir das Ergebnis liefert.


Anmelden zum Antworten