Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

ΠΛΗΡΟΦΟΡΙΕΣ: τα Windows NT/2000/XP χρησιμοποιεί την καταχώρηση μητρώου KnownDLLs για να βρείτε αρχεία dll

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:164501
ΣΗΜΑΝΤΙΚΌ: Αυτό το άρθρο περιέχει πληροφορίες σχετικά με την τροποποίηση του μητρώου. Πριν να τροποποιήσετε το μητρώο, βεβαιωθείτε ότι για να δημιουργήσετε αντίγραφα ασφαλείας και να βεβαιωθείτε ότι γνωρίζετε τον τρόπο επαναφοράς του μητρώου εάν προκύψει κάποιο πρόβλημα. Για πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας, επαναφοράς και επεξεργασίας του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
256986 Περιγραφή του μητρώου των Microsoft Windows
Περίληψη
Τα Microsoft Windows NT, Windows 2000 και Windows XP χρησιμοποιεί τις καταχωρήσεις μητρώου KnownDLLs για να αναζητήσετε αρχεία DLL 32-bit ή 16 bit κατά τη φόρτωση του DLL. Για αρχεία DLL 32-bit του KnownDLLs καταχώρηση μητρώου επηρεάζει μόνο την αναζήτηση για σιωπηρά φορτωμένα dll. DLL 16-bit του KnownDLLs καταχώρηση μητρώου επηρεάζει την αναζήτηση για δύο σιωπηρά και ρητά φορτωμένα dll. Εάν συμπεριλάβετε ένα όνομα αρχείου DLL εσφαλμένα στην καταχώρηση μητρώου KnownDLLs, LoadLibrary στα Windows NT/2000/XP WOW αποτύχει η φόρτωση ενός αρχείου DLL βρίσκεται στον τρέχοντα κατάλογο της εφαρμογής.
Περισσότερες πληροφορίες
Τα Windows NT/2000/XP χρησιμοποιεί την καταχώρηση μητρώου KnownDLLs για να καθορίσετε που θα χρησιμοποιήσει το DLL μια εφαρμογή. Υπάρχουν δύο διαφορετικές καταχωρήσεις μητρώου KnownDLLs: ένα που επηρεάζει τη φόρτωση του DLL 32-bit και ένα που επηρεάζει τη φόρτωση του DLL 16-bit. Είναι ένα αρχείο DLL που αναφέρονται στην καταχώρηση μητρώου KnownDLLsΟρισμένες φορές αναφέρεται ως "KnownDLL" σε αυτό το άρθρο.

DLL: 16-bit

Για αρχεία DLL 16-bit, η τιμή μητρώου KnownDLLs βρίσκεται στις ακόλουθεςκλειδί:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WOW				
Η τιμή μητρώου KnownDLLs είναι μια συμβολοσειρά REG_SZ με ονόματα 8.3 DLLμορφή, διαχωρισμένη με διάστημα. Η τιμή KnownDLLs επηρεάζει τόσο σιωπηράκαι ρητά φορτωμένα dll.

Η τιμή μητρώου KnownDLLs, χωρίς να χρησιμοποιεί τις ακόλουθες WOW Windows NTσειρά αναζήτησης για να εντοπίσετε το αρχείο DLL:
  1. Ο τρέχων κατάλογος εργασίας που χρησιμοποιεί το αρχείο DLL.
  2. Κατάλογος \WINNT.
  3. Κατάλογος \WINNT\SYSTEM.
  4. Στον κατάλογο \WINNT\SYSTEM32.
  5. Ο κατάλογος του εκτελέσιμου αρχείου για την εργασία που χρησιμοποιεί το αρχείο DLL.
  6. Ένας κατάλογος που παρατίθενται στη μεταβλητή περιβάλλοντος PATH.
Με την τιμή μητρώου KnownDLLs, Windows NT WOW διερευνήσει μόνο τοΚατάλογο \Winnt\System32, για να εντοπίσετε το αρχείο DLL. Εάν KnownDLLs περιλαμβάνει έναεγγραφή για ένα αρχείο DLL που δεν βρίσκεται στον κατάλογο \WINNT\SYSTEM32LoadLibrary αποτύχει η φόρτωση του DLL, ακόμη και αν το αρχείο DLL βρίσκεται σε οποιαδήποτε από5 άλλες θέσεις παραπάνω.

Εάν τα Windows NT/2000/XP WOW αποτύχει να εντοπίσει το αρχείο DLL, LoadLibrary επιστρέφει κωδικό σφάλματος 2 (το αρχείο δεν βρέθηκε) ή εν δυνάμει σύνδεση προκαλεί τον γονικόλειτουργική μονάδα αποτυχία φόρτωσης.

Για πληροφορίες σχετικά με τα Windows 95, καταχωρεί DLL 16-Bit ως KnownDLLsανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
141969Τα Windows 95 χρησιμοποιεί Known16DLLs κλειδί μητρώου για να βρείτε 16-bit DLL

DLL: 32-bit

DLL 32-bit του κλειδιού μητρώου KnownDLLs βρέθηκε στο:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager				
Το όνομα τιμής μητρώου REG_SZ είναι το όνομα του αρχείου DLL χωρίς τηνεπέκταση. Τα δεδομένα τιμής μητρώου είναι το όνομα του αρχείου DLL με τοεπέκταση. Η καταχώρηση αυτή επηρεάζει μόνο έμμεσα φόρτωση αρχείων dll, δεν τα DLL που φορτώνεταιχρήση του API LoadLibrary().

Χωρίς αυτή την εγγραφή, τα Windows NT χρησιμοποιούν την ακόλουθη σειρά αναζήτησης γιαΕντοπίστε το αρχείο DLL:
  1. Ο κατάλογος του εκτελέσιμου αρχείου για τη διαδικασία που φορτώνεται το DLL.
  2. Στον τρέχοντα κατάλογο της διαδικασίας που φορτώνεται το DLL.
  3. Στον κατάλογο \WINNT\SYSTEM32.
  4. Κατάλογος \WINNT.
  5. Ένας κατάλογος που παρατίθενται στη μεταβλητή περιβάλλοντος path.
Με την καταχώρηση μητρώου KnownDLLs, τα Windows NT χρησιμοποιούν παρακάτω αναζήτησηςΓια να εντοπίσετε το αρχείο DLL:
  1. Στον κατάλογο \WINNT\SYSTEM32.
  2. Ο κατάλογος του εκτελέσιμου αρχείου για τη διαδικασία που φορτώνεται το DLL.
  3. Στον τρέχοντα κατάλογο της διαδικασίας που φορτώνεται το DLL.
  4. Κατάλογος \WINNT.
  5. Ένας κατάλογος που παρατίθενται στη μεταβλητή περιβάλλοντος PATH.
Εάν το αρχείο DLL δεν βρίσκεται σε οποιαδήποτε από τις θέσεις που αναφέρονται παραπάνω, τοέμμεση σύνδεση προκαλεί τη λειτουργική μονάδα γονικό αποτυχία φόρτωσης.

Ένα DLL αντιμετωπίζεται ως ένα KnownDLL εάν ένα KnownDLL συνδέει σιωπηρά σε αυτό. Γιαπαράδειγμα ΚΎΡΙΑΣ.DLL χρησιμοποιεί λειτουργίες από το ΠΑΙΔΊ.DLL. Εάν MAIN.Αναφέρεται στο αρχείο DLLτο κλειδί μητρώου KnownDLLs, στη συνέχεια, τα Windows NT επίσης αντιμετωπίζει ΠΑΙΔΊ.DLL ως έναKnownDLL. Μια άλλη εφαρμογή ή DLL που χρησιμοποιεί το ΠΑΙΔΊ.DLL θα χρησιμοποιήσει το αρχείο DLLπου ήταν συνδεδεμένα με ΚΎΡΙΟ.DLL.

Τα Windows NT χάρτες KnownDLLs 32-bit κατά το χρόνο εκκίνησης. Μετονομασία ή μετακίνηση του αρχείου DLLδεν έχει κανένα αποτέλεσμα στο οποίο θα φορτωθεί DLL μια εφαρμογή- το ακόμαχρησιμοποιεί εκείνη που είχε \WINNT\SYSTEM32 κατά το χρόνο εκκίνησης.

Για να αλλάξετε τον τρόπο τα Windows NT φορτώνει KnownDLLs, χρησιμοποιήστε το ExcludeFromKnownDllsβρίσκεται στην τιμή μητρώου:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager				
ΣΗΜΕΊΩΣΗ: Χρησιμοποιήστε RegEdt32 αντί του RegEdit να τροποποιήσετε αυτήν την τιμή μητρώου.

Αυτή η τιμή μητρώου REG_MULTI_SZ περιέχει ονόματα 8.3 του DLL μορφοποίηση έναDLL ανά συμβολοσειρά. Εάν ένα αρχείο DLL παρατίθεται στο ExcludeFromKnownDlls, στη συνέχεια, τα Windows NTδεν αντιμετωπίζουν το DLL ως μια KnownDLL, ακόμη και αν αναφέρεται στο τουΤο κλειδί μητρώου KnownDLLs. Αυτό είναι χρήσιμο όταν αναπτύσσετε ένα αρχείο DLL που χρησιμοποιείταιαπό πολλά άλλα KnownDLLs και αυτό είναι σημαντικό να αντικατάσταση και νέα δοκιμήδημιουργεί χωρίς επανεκκίνηση των Windows NT.

Αλλαγές στα κλειδιά μητρώου ανωτέρω απαιτεί διαχείρισηςδικαιώματα στον τοπικό υπολογιστή. Η χρήση KnownDLLs ασφαλίζει το σύστημααπό κάποιον φαινομενικά αντικατάσταση APIs τοποθετώντας επικίνδυνων DLL στο τουκατάλογος εφαρμογής.

Για πληροφορίες σχετικά με τα Windows 95, καταχωρεί DLL 32-Bit ως KnownDLLsανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
151646Τα Windows 95 χρησιμοποιεί KnownDLLs κλειδί μητρώου για την εύρεση των DLL 32-bit
ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η εσφαλμένη χρήση του Επεξεργαστή μητρώου μπορεί να προκαλέσει σοβαρά προβλήματα πουΊσως χρειαστεί να επανεγκαταστήσετε το λειτουργικό σας σύστημα. Δεν είναι δυνατή Microsoftεγγύηση ότι τα προβλήματα που προκύπτουν από την εσφαλμένη χρήση του Επεξεργαστή μητρώουείναι δυνατό να επιλυθούν. Χρησιμοποιήστε τον Επεξεργαστή μητρώου με δική σας ευθύνη.

Για πληροφορίες σχετικά με τον τρόπο επεξεργασίας του μητρώου, προβάλετε την "Αλλαγή κλειδιών καιΤιμές"το θέμα της Βοήθειας του Επεξεργαστή μητρώου (Regedit.exe) ή"Προσθήκη και διαγραφήΠληροφορίες στο μητρώο"και"Επεξεργασία δεδομένων μητρώου"θέματα στη ΒοήθειαΤο Regedt32.exe. Σημειώστε ότι θα πρέπει αντίγραφα του μητρώου πριν να το επεξεργαστείτε.Εάν εκτελείτε Windows NT, θα πρέπει επίσης να ενημερώσετε σας έκτακτης ανάγκηςΔισκέτα επιδιόρθωσης (ERD).

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Ιδιότητες

Αναγνωριστικό άρθρου: 164501 - Τελευταία αναθεώρηση: 05/26/2011 08:15:00 - Αναθεώρηση: 3.0

Microsoft Win32 Application Programming Interface

  • kbdll kbinfo kbkernbase kbregistry kbmt KB164501 KbMtel
Σχόλια