Al momento sei offline in attesa che la connessione Internet venga ristabilita

Il tuo browser non è supportato

Devi aggiornare il browser per usare il sito.

Esegui l'aggiornamento all'ultima versione di Internet Explorer

INFORMAZIONI: voce del Registro di sistema KnownDLL Windows NT/2000/XP utilizza per trovare la DLL

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 164501
importante : questo articolo contiene informazioni sulla modifica del Registro di sistema. Prima di modificare il Registro di sistema, eseguire una copia di backup e assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
256986Descrizione del Registro di sistema di Microsoft Windows
Sommario
Microsoft Windows NT, Windows 2000 e Windows XP è possibile utilizza le voci del Registro di sistema KnownDLL per cercare le DLL a 32 o 16 bit quando il caricamento della DLL. Per le DLL a 32 bit le KnownDLL voce del Registro di sistema riguarda solo la ricerca per le DLL caricate in modo implicito. Per le DLL a 16 bit il KnownDLL voce del Registro di sistema ha effetto la ricerca per entrambi le DLL caricate in modo implicito e in modo esplicito. Se si include in modo non corretto di un nome DLL nella voce del Registro di sistema KnownDLL, il LoadLibrary in Windows NT/2000/XP WOW non viene caricata una DLL nella directory corrente dell'applicazione.
Informazioni
Windows NT/2000/XP utilizza la voce del Registro di sistema KnownDLL per determinare che verrà utilizzato DLL un'applicazione. Esistono due diversi movimenti di registro di sistema KnownDLL: uno che interessa il caricamento di DLL a 32 bit e uno che interessa il caricamento di DLL a 16 bit. Una DLL nell'elenco la voce del Registro di sistema KnownDLL è noto come "KnownDLL" in questo articolo.

DLL: 16-bit

Per le DLL a 16 bit, il valore di registro di sistema di KnownDLL viene trovato nella seguente chiave:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WOW				
valore del Registro di sistema KnownDLL il è una stringa REG_SZ con nomi DLL in formato 8.3, separati da uno spazio. Il valore di KnownDLL influenza sia DLL caricata in modo implicito e in modo esplicito.

Senza il valore del Registro di sistema KnownDLL, Windows NT WOW utilizzato il seguente ordine di ricerca per individuare la DLL:
  1. La directory corrente dell'attività che utilizza la DLL.
  2. La directory \winnt.
  3. La directory \WINNT\SYSTEM.
  4. La directory \WINNT\SYSTEM32.
  5. La directory del file eseguibile per l'attività che utilizza la DLL.
  6. Una directory elencata nella variabile di ambiente PATH.
Con il valore del Registro di sistema KnownDLL, Windows NT WOW ricerca effettuata solo nella directory \WINNT\SYSTEM32 individuare la DLL. Se KnownDLL include una voce per una DLL che non si trova nella directory \WINNT\SYSTEM32, LoadLibrary non riesce caricare la DLL anche se la DLL si trova in uno dei 5 altri percorsi precedenti.

Se Windows NT/2000/XP WOW non riesce a individuare la DLL, LoadLibrary restituisce il codice di errore 2 (file non trovato) o il collegamento implicito causa Impossibile caricare il modulo padre.

Per informazioni su come Windows 95 Registra DLL a 16 bit come KnownDLL vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
141969Windows 95 utilizza Known16DLLs Registry Key per trovare la DLL a 16 bit

DLL: 32-bit

Per le DLL a 32 bit le KnownDLL si trova chiave del Registro di sistema:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager				
nome valore di REG_SZ il Registro di sistema è il nome della DLL senza l'estensione. I dati del valore del Registro di sistema sono il nome della DLL con estensione. Questa voce ha effetto solo in modo implicito caricata dll, non le DLL caricate utilizzando l'API LoadLibrary().

Senza questa voce, verrà utilizzato il seguente ordine di ricerca per individuare la DLL:
  1. La directory del file eseguibile per il processo che è il caricamento della DLL.
  2. Directory corrente del processo che è il caricamento della DLL.
  3. La directory \WINNT\SYSTEM32.
  4. La directory \winnt.
  5. Una directory elencata nel variabile di ambiente path.
Con la voce del Registro di sistema KnownDLL, verrà utilizzato il seguente ordine di ricerca per individuare la DLL:
  1. La directory \WINNT\SYSTEM32.
  2. La directory del file eseguibile per il processo che è il caricamento della DLL.
  3. Directory corrente del processo che è il caricamento della DLL.
  4. La directory \winnt.
  5. Una directory elencata nella variabile di ambiente PATH.
Se la DLL non si trova in uno delle posizioni precedenti, il collegamento implicito, Impossibile caricare il modulo padre.

Una DLL viene considerata come un KnownDLL se un KnownDLL in modo implicito i collegamenti a esso. Ad esempio, MAIN.DLL utilizza le funzioni CHILD.DLL. Se MAIN.DLL è elencato nella chiave del Registro di sistema KnownDLL, quindi Windows considera inoltre CHILD.DLL come un KnownDLL. Un'altra applicazione o DLL che utilizza CHILD.DLL utilizzerà la DLL che è stata collegata a MAIN.DLL.

Windows esegue il mapping KnownDLL a 32 bit in fase di avvio del sistema. Rinominando o spostando la DLL non dispone di alcun effetto in cui verrà caricata la DLL di un'applicazione, utilizza ancora quella di \WINNT\SYSTEM32 al momento dell'avvio.

Modificare la modalità Windows carica KnownDLL utilizzando il valore del Registro di sistema di ExcludeFromKnownDlls situato:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager				
Nota: utilizzare RegEdt32 invece di RegEdit per modificare questo valore del Registro di sistema.

Questo valore del Registro di sistema REG_MULTI_SZ contiene nomi di DLL in formato 8.3, ovvero una DLL per stringa. Se una DLL è elencata in ExcludeFromKnownDlls, quindi Windows non considera la DLL come un KnownDLL, anche se è elencato nella chiave di registro KnownDLL. Ciò risulta utile quando si sviluppa una DLL che viene utilizzata da numerosi altri KnownDLL ed è importante sostituire e testare nuove build senza il riavvio di Windows NT.

Apportare modifiche alle chiavi di registro citati in precedenza richiede privilegi amministrativi sul computer locale. L'utilizzo di KnownDLL protegge il sistema da un utente concentrerò sostituzione API, inserendo un inaffidabili DLL nel directory dell'applicazione.

Per informazioni su come Windows 95 Registra DLL a 32 bit come KnownDLL vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
151646Windows 95 utilizza KnownDLL Registry Key per trovare la DLL a 32 bit
Avviso: Utilizzo non corretto scopo può causare seri problemi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non garantisce che i problemi derivanti dall'errato utilizzo dell'editor del registro possano essere risolti. Utilizzare Editor del Registro di sistema a proprio rischio.

Per informazioni su come modificare il Registro di sistema, vedere l'argomento della Guida "Modifica di chiavi e valori" Editor del Registro di sistema (Regedit.exe) oppure "Aggiungere ed Elimina di informazioni nel Registro di sistema" e "Modifica dei dati del Registro di sistema" nella Guida in linea di Regedt32.exe. Si raccomanda di eseguire una copia di backup del Registro di sistema prima di modificarlo. Se si utilizza Windows NT occorre inoltre aggiornare il disco di ripristino.

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 164501 - Ultima revisione: 11/21/2006 15:45:27 - Revisione: 4.1

  • Microsoft Win32 Application Programming Interface
  • kbmt kbdll kbinfo kbkernbase kbregistry KB164501 KbMtit
Feedback