Condividi tramite


Registrazione

Quando un utente desidera inserire un elemento OLE in un'applicazione, OLE contiene un elenco dei tipi di oggetto tra cui scegliere.OLE ottiene questo elenco dal database di registrazione del sistema, contenente le informazioni fornite da tutte le applicazioni server.Quando un server esegue la registrazione, le voci che inserisce nel database di registrazione del sistema (il Registro Di Sistema) viene descritto ciascun tipo di oggetto assicura, di estensioni di file e il percorso a se stesso, tra le altre informazioni.

Il framework e nelle librerie a collegamento dinamico di sistema OLE (DLL) utilizzano questo Registro di sistema per determinare il tipo di elementi OLE sono disponibili nel sistema.Le DLL di sistema OLE utilizzano inoltre questo Registro di sistema per determinare come avviare un'applicazione server quando un oggetto collegato o incorporato è attivato.

In questo articolo descrive ciò che ogni applicazione server deve eseguire quando viene installata e ogni volta che viene eseguito.

Per informazioni dettagliate sul database di registrazione del sistema e al formato dei file REG utilizzati per aggiornarla, vedere la documentazione di riferimento del programmatore OLE.

Installazione del server

Quando inizialmente si installa l'applicazione server, è necessario registrare tutti i tipi di elementi OLE che supporta.È inoltre possibile l'aggiornamento server il database di registrazione del sistema ogni volta che viene eseguito come applicazione autonoma.In questo modo il database di registrazione aggiornato se il file eseguibile del server è spostato.

[!NOTA]

Le applicazioni MFC generate dalla procedura guidata vengono registrati automaticamente quando vengono eseguite come applicazioni autonome.

Se si desidera registrare l'applicazione durante l'installazione, utilizzare il programma di regedit.exe.(In Windows 95, Windows 98 e Windows Me, RegEdit si trova nella directory di Windows.In Windows NT e Windows 2000, RegEdit si trova nella directory di windows System32.) Se si include un programma di installazione con l'applicazione, disporre del “RegEdit eseguito il programma di installazione /S appname.reg„.(Il flag /S indica l'operazione invisibile all'utente, ovvero, non viene visualizzata la finestra di dialogo che indica il completamento del comando). In caso contrario, fare in modo che l'utente eseguire RegEdit manualmente.

[!NOTA]

Il file REG creato dalla procedura guidata non include il percorso completo dell'eseguibile.Il programma di installazione deve modificare il file REG per importare il percorso completo eseguibile o per modificare la variabile di ambiente PATH per includere la directory di installazione.

RegEdit unisce il contenuto del file di testo con estensione reg nel database di registrazione.Per testare il database oppure ripristinarlo, utilizzare l'editor del Registro di sistema.Fare attenzione per evitare eliminare le voci essenziali OLE.(In Windows 95, Windows 98 e Windows Me, l'editor del Registro di sistema è regedit.exe.In Windows NT e Windows 2000, è RegEdit32.exe).

Inizializzazione server

Quando si crea un'applicazione server tramite una procedura guidata, la procedura guidata completate tutte le attività di inizializzazione automaticamente.Questa sezione descrive l'azione da intraprendere se si scrive un'applicazione server manualmente.

Quando un'applicazione server viene avviata un'applicazione contenitore, le DLL di sistema OLE aggiungere l'opzione “/clr " /Embedding„ alla riga di comando del server.Il comportamento di un'applicazione server e varia a seconda se è stato avviato da un contenitore, pertanto la prima operazione eseguita un'applicazione deve fare quando inizia l'esecuzione è controllo per “/Embedding„ o “- incorporare„ l'opzione della riga di comando.Se questa opzione è presente, caricare un set diverso di risorse che illustrano il server come attive sul posto o completamente aperte.Per ulteriori informazioni, vedere menu e risorse: aggiunte server.

L'applicazione server inoltre necessario chiamare la relativa funzione di CWinApp::RunEmbedded per analizzare la riga di comando.Se restituisce un valore diverso da zero, l'applicazione non dovrebbe visualizzare la finestra in quanto è allontanata da un'applicazione contenitore, non come applicazione autonoma.Questa funzione aggiorna la voce del server nel database di registrazione del sistema e chiama la funzione membro di RegisterAll automaticamente, eseguendo la registrazione dell'istanza.

Quando l'applicazione server è iniziale, è necessario assicurarsi che può eseguire la registrazione dell'istanza.La registrazione dell'istanza alle DLL di sistema OLE che il server sia attivo e pronto per ricevere le richieste nei contenitori.Non aggiunge una voce al database di registrazione.Eseguire la registrazione dell'istanza del server chiamando la funzione membro di ConnectTemplate definita da COleTemplateServer.Si connette l'oggetto di CDocTemplate all'oggetto di COleTemplateServer .

La funzione di ConnectTemplate accetta tre parametri: CLSIDdel server, un puntatore a un oggetto di CDocTemplate e un flag che indica se il server supporta più istanze.Un miniserver deve essere in grado di supportare più istanze, ovvero, deve essere possibile che più istanze di server eseguiti contemporaneamente, uno per ciascun contenitore.Di conseguenza, la sessione TRUE per questo flag quando viene avviato un miniserver.

Se si scrive un miniserver, per definizione sarà avviato sempre da un contenitore.È comunque necessario analizzare la riga di comando per verificare se l'opzione di “/Embedding„.L'assenza di questa opzione sulla riga di comando significa che l'utente ha tentato di avviare il miniserver come applicazione autonoma.In questo caso, registrare il server con il database di registrazione del sistema e visualizza una finestra di messaggio che informa l'utente per avviare il miniserver da un'applicazione contenitore.

Vedere anche

Riferimenti

CWinApp::RunAutomated

CWinApp::RunEmbedded

Classe COleTemplateServer

Concetti

OLE in MFC

Server