DirectX Befehle ohne Versionsnummer



  • Also ich lerne gerade DirectX soein bissel und habe dafür das Buch "DirectX Programmierung mit Visual C++" aus dem Wesley Verlag, welches die DirectX SDK 7.0 benutzt.
    Nun war ich bisher immer der Meinung aus dem was ich so gelesen habe das dann bei den ganzen DirectX Befehlen die NUmmer dahinterschreiben muss. z. Bsp. 8 für DirectX8.

    In dem Buch steht zum Beispiel folgender Code: Ausschnitt

    //== Anlegen des Direct Sound-Objektes
    HRESULT hr = DirectSoundCreate(NULL, &m_pObjekt, NULL);
    

    Also steht da keine Nummer hinter dem Befehl und das ist, wie ich es bisher gesehen habe, in dem ganzen Buch so. Sucht der sichg so automatisch die neueste version raus oder ist das in dem Buch einfach nur scheise beschrieben.



  • Die ganzen Interfaces wurden (meistens) immer weiter entwickelt und verbessert. Sie wurden dann aufsteigend numeriert, angefangen ohne Nummer (z.B. IDirectDraw), dann numerisch weiter (IDirectDraw2 etc.). Aber nicht in jeder DirectX-Version wurde jedes Interface verändert. IDirectDraw4 wurde z.B. erst in DirectX 6.x eingeführt. Die Wrapper-Methoden wie "DirectSoundCreate" scheinen aber nach der DirectX-Version benannt zu sein, in der sie eingeführt wurden. Hab' aber auch nich' so wirklich den Peil.
    Auf jeden Fall:
    Bei DirectX 9.0 gibt es die Methode "DirectSoundCreate8()" ...
    Bei meinem DirectX 6.1 heißt die Methode aber wirklich nur "DirectSoundCreate()" ...
    Wenn Du also mit DirectX 7.x arbeitest, wirst Du noch keine andere Wrapper-Methode als "DirectSoundCreate()" zur Verfügung haben.

    Ich denke also, es ist okay so, wie's im Buch steht.

    MfG, Sarge


Anmelden zum Antworten