Hiba a külső dinamikusan betöltött könyvtárak funkcióival való munka

Hiba a külső dinamikusan betöltött könyvtárak funkcióival való munka

A Windows operációs rendszer könyvtári erőforrásainak felépítése a következőképpen ábrázolható:

  • Eleinte, a legalacsonyabb szinten, magának a rendszernek a „megszakításai” vannak, amelyek „lábaik” a Windows legelső verzióiból származnak, sőt, a hosszú blank „öregasszony” MS-DOS-tól ( Igen, ezen a szinten majdnem 30 év van, a Windowsban semmi sem változott). A könyvtárhoz való hozzáférés könnyen az összeszerelőn keresztül, az Incurup (megszakítás) parancsán keresztül, tehát a „megszakítás”, bár valójában ez a szint kevés kapcsolatban áll a megszakítás feldolgozásának alprogramjával.
  • Egy lépéssel magasabbra emelkedünk, és eljutunk a Winsdk -hez - a Windows fejlesztői szoftverek sorozatához. Ez egyfajta analóg ugyanazon „megszakításokból”, de már figyelembe véve a Windows szervezet sajátosságait - a fejlesztő hozzáférést kap ehhez a könyvtárhoz a magas szintű nyelv szokásos kódján keresztül.

Az egyetlen nehézség az, hogy a WINSDK leírásának terminológiája különbözik a leginkább alkalmazott programozási nyelv leírásának terminológiájától, annak funkcióitól (ugyanazt az építőt vagy a Delphi -t). Szerencsére az összes WinsDK funkciót részletesen ismertetik maguk a fejlesztőkben (valójában nincs semmi köze hozzájuk, népszerűségük olyan nagyszerű).

A WinSDK funkciókat a dinamikusan csatlakoztatott (szó szerint - betöltött) könyvtárak fájljaiban gyűjtik - Dinamikus Homár (DLL). Egy ilyen könyvtár felhasználójának nem kell tudnia a függvény címét - elég ahhoz, hogy megismerje a funkció nevét, és bízzon abban, hogy a könyvtárban szereplő funkció van. A funkciók belépési pontjait maga a könyvtár leírása határozza meg.

  • Mi is magasabbra emelkedünk, és a Windows feletti felügyeleti programok könyvtáraiban vagyunk. Az egyik leghíresebb felépítmény a DirectX grafikus csomag. Itt van ugyanaz a szervezet - ugyanazok a DLL fájlok.

Itt az egyik könyvtári drectx és a D3D11 hiba.DLL - Tárolja a térfogati grafikus modellek megjelenítésének funkcióit.

Kis pontosítások

Itt meg kell értenie, hogy amikor egy egyszerű üzenet "a D3D11 hiba megjelenik a képernyőn.Dll ", ez nem egy nagyon helyes üzenet, nem tükrözi pontosan a probléma lényegét. Időnként van egy üzenet a "D3D11 eszköz létrehozásában" - hogyan lehet kijavítani, egy ilyen hiba önmagában nem segíthet.

Pontosabban, ennek az üzenetnek úgy kell kinéznie, hogy "hibát jelent az XYZ függvénybe, a D3D11 könyvtárba.DLL "vagy egyszerűbb -" XYZ funkció a D3D11 könyvtárban.A DLL nincs meghatározva ".

Egy másik dolog az, hogy az alkalmazásfejlesztők gyakran nem zavarják a pontosításokat, és pontosan egy egyszerű, "határozatlan" verzióját adják a felmerült hiba természetéről. De ez nem változtatja meg a lényegét. A kudarc - vagy a D3D11 könyvtár fő okai.A DLL hiányzik, mint egy opció - D3D11.A DLL -t nem találták meg, vagy nem tartalmazzák a szükséges funkciót, vagy nem sérültek meg, hogy a függvény elérhetetlen legyen.

Hibajavítás

A D3D11 funkcióhoz való hozzáférés hibájának korrekciója.A DLL a könyvtár átrendezéséből áll. DLL - Végrehajtható kód, írjon be egy ilyen fájlt, és ez nem fog szerkeszteni. Ezenkívül a fájl a DirectX csomag 11. verziójára utal.

Így a hiba kiküszöbölésének első módja a DirectX 11 csomag átrendezése. Ez a módszer egyszerű, és már régóta ellenőrizték, a legfontosabb az, hogy csak a felépítmény működési verzióját találja meg, a legjobb, ha ezt megteszi a Microsoft hivatalos weboldalán.

Telepítési DirectX a Windows -ban

Egy másik módszer csak a D3D11 fájl átrendezése.DLL. Ezt meg lehet tenni egy speciális DLL-Files segédprogrammal.com, amely ingyenes és elérhető az azonos nevű webhelyen.

Tehát telepítse és indítsa el a DLL-fájlokat.

A DLL fájl keresése a DLL-Files programban.Com

A keresősávba írjuk be a "D3D11 -et.DLL ". A könyvtár megtalálása után a "Install" gombra kattintunk.

A DLL fájl telepítése a DLL-Files programban.Com

Ha hozzászokott mindent magának, akkor a problémát manuálisan lehet megoldani - ez a harmadik út. Használatához töltse le a D3D11 fájlt.Dll és helyezze be a jobb oldali rendszermappába. Itt óvatosnak kell lennie, mivel ez a Windows különböző verzióiban ez a mappa különbözik (a példákban feltételezzük, hogy a rendszert a "C:" lemezre telepítik, ha nem erről van szó, akkor a lemez megfelelőnek kell lennie. )::

  • A Windows XP, Vista, 7, 8, 8 verzióiban.1 és 10 - C: \ Windows \ System32;
  • A Windows 95, 98 és ME - C: \ Windows \ System;
  • A Windows NT és 2000 - C: \ Winnt \ System32 -ben.

Figyelembe vesszük - ha van egy 64 -bites processzor rendszerének verziója, akkor a fájlunk végső mappája mindenesetre van - "Syswow64".

A mappa fájlszámlálása még nem biztosítja a működését. Most regisztrálni kell a Windows rendszer nyilvántartásában. Ehhez parancsokat hajtunk végre az ablakon (Start/Fő menü/Execute) parancson: RegSVR32 D3D11.DLL.

Következtetés

A Windows operációs rendszer külső dinamikusan betöltött könyvtáraival kapcsolatos problémák túlnyomó többségének megoldása gyakran egyszerűen a könyvtár átrendezésével vagy függetlenül, vagy egy közös csomagon keresztül (a példánkban - DirectX 11).

A DLL fájlba és manuálisan telepíthető, egyszerű másolással a kívánt mappába. De először is tudnia kell ezt a mappát. Másodszor, egy ilyen fájlt regisztrálni kell a Windows rendszer nyilvántartásában. Itt nem lehet megtenni, hogy hivatalos közművek nélkül működjön a rendszer nyilvántartása.

Ha ilyen hibát tapasztalt, akkor írja meg tapasztalatait a megjegyzésekben.