Telefonino.net network
Win Base Win Adv Win XP Vista Windows 7 Registri Software Manuali Humor Hardware Recensioni Blog Download Foto
INDICE SEZIONE NEWS WEB NEWS SOFTWARE PUBBLICITA'
Cosa sono le DLL

REGISTRAZIONE DI UNA LIBRERIA

Si diceva che ogni installazione aggiunge Librerie al S.O. ed il kit di installazione effettua delle modifiche al Registry per ogni nuovo componente.
Nel caso in cui ci sia la necessità di registrare manualmente un libreria usare l'utilità REGSVR32.EXE.
Il programma è contenuto in C:\WINDOWS\SYSTEM e può essere eseguito da DOS o da Esegui di Windows

Per registrare un componente Regsvr32.exe c:\prova\nomefle.dll

Per deregistrarlo Regsvr32.exe c:\prova\nomefle.dll /u

I componenti EXE si registrano automaticamente alla loro prima esecuzione.
Se è necessario che la libreria si registri e si chiuda automaticamente allora è necessario aggiungere /regserver (/unregserver lo deregistra).


MODIFICHE NEL REGISTRY DEGLI OGGETTI OLE

La tecnologia OLE permette di incapsulare Oggetti creati da un'applicazione all'interno di documenti prodotti da un'altra (ad esempio avere un foglio di Excel [che fa da control] in un documento di Word [che fa da container]).
Per capire quali modifiche apporta al registry l'installazione di un oggetto Ole è importante vedere in che modo vengono utilizzate.

Il container cerca nel Registro sotto HKCR la classe che deve utilizzare.
Esempio: MSGraph.Chart
questa chiave ha 2 sottochiavi CURVER e CLSID.
La prima contiene un valore di testo che mostra la Versione.
La seconda mostra un valore esadecimale 8+4+4+12 (es. {932000EE-8140-11D2-0080C8FF2183}).

Tramite questo codice vengono trovati sotto HKCR\CLSID le informazioni necessarie all'utilizzo (alcuni EXE hanno il CLSID dei server che utilizzano, soprattutto se installati con loro, già memorizzati e quindi evitano la prima fase).

Le informazioni sono:
LocalServer32 (nel Valore (predefinito)): rappresenta il percorso del file EXE che fornisce il componente (se è un EXE).
InProcServer32 (nel Valore (predefinito)): rappresenta il percorso del file .DLL che fornisce il componente (se è una DLL).
Nel caso delle DLL c'è anche un Valore Threading Model che può avere a sua volta 2 valori principali: Apartment e Free.

Multithreading: è la capacità di eseguire differenti parti di codice di un'applicazione
(esempio di Word che durante la digitazione un thread si occupa dell'impaginazione ed un altro thread della correzione).
Il multithreading viene sfruttato a fondo in sistemi con più processori ma nel caso di una singola CPU non rappresenta sempre un vantaggio. Il Valore Free indica che ciascun thread può accedere all'intera area dati del processo. Nel caso del Valore Apartment ogni thread viene incapsulato in un "appartamento" a se stante senza poter accedere all'area dati degli altri thread.


COME TROVA WINDOWS UNA DLL?

All'avvio di ogni programma vengono caricate tutte le librerie (DLL, EXE, OCX, ecc.) di cui il software ha bisogno. Il processo di ricerca e caricamento di una DLL in Win 9X utilizza un preciso ordine di ricerca:

1. Directory da cui è stata caricata l'applicazione.

2. Directory corrente.

3. Directory di sistema di windows (Windows\System).
Usa la funzione GetSystemDirectory (contenuta in Kernel32.dll) per localizzare la cartella.
[nel caso di windows Nt/2000 il punto 3 viene modificato:
3a. Directory di sistema 32-bit (Windows\System32)
3b. Directory di sistema 16-bit (Windows\System)]

4. Directory di Windows (Windows).
Usa la funzione GetWindowsDirectory (kernel32.dll)

5. Nelle directory del PATH.
PATH E' quello impostato nella cartella Hkey_Local_Machine\SOFTWARE\Microsoft
\Windows\CurrentVersion\AppPath
.

Questa chiave ha una serie di sottocartelle che rappresentano le varie applicazioni installate.
All'interno della cartella c'è una chiave PATH che sta ad indicare il Path specifico dell'applicazione.

L'ordine viene modificato se:

1. il nome della DLL è passato a Load Library specificando la posizione (path).
(Ad esempio i Riferimenti di Office)

2. la DLL a 32 bit ha una stringa di valore col suo nome (esclusa l'estensione) in KnowDlls.
(HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\
SESSIONMANAGER\KNOWDDLS)


[Nel caso in cui il file venga segnalato da KnowDlls la sua ricerca parte immediatamente dalla cartella di sistema Windows\System. Se non viene trovato in quella posizione il sistema restituisce immediatamente un errore "THE SYSTEM CANNOT FIND THE FILE SPECIFIED" senza proseguire la ricerca in altre cartelle].


|   Pagina1  |  Pagina 2 Pagina 3  |  Pagina 4  |

 In evidenza Registrare la TV da iPhone e iPad



Nel Web in WinTricks
Copyright © 1999-2012 Master New Media s.r.l. p.iva: 02947530784
COPYRIGHT . PRIVACY . REDAZIONE . STORIA . SUPPORTA
 

Warning: include(/mnt/host/www/wintricks/wintricks.it/www/bottom.php) [function.include]: failed to open stream: Permission denied in /mnt/host/www/wintricks/wintricks.it/www/manuali/dll2.html on line 245

Warning: include() [function.include]: Failed opening '/mnt/host/www/wintricks/wintricks.it/www/bottom.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /mnt/host/www/wintricks/wintricks.it/www/manuali/dll2.html on line 245