Componenti di una DLL di configurazione del servizio di collegamento integrato in Host Integration Server

La DLL di configurazione del servizio di collegamento (linkcfg) deve esportare le funzioni seguenti.

Funzione esportata Scopo
CommandLineAdd Chiamato da LinkCfg per analizzare l'input della riga di comando.
ConfigureLinkService Chiamato da SNA Manager per aggiungere o modificare un servizio di collegamento.
ConfigureLinkServiceEx Chiamato da SNA Manager per aggiungere o modificare un servizio di collegamento, che restituisce un buffer di configurazione da aggiungere al file di configurazione.
DisplayHelpInfo Restituisce un buffer contenente la sintassi della riga di comando per questo tipo di servizio di collegamento.
RemoveLinkService Chiamato da SNA Manager per rimuovere un servizio di collegamento.
RemoveAllLinkServices Chiamato dal programma di installazione per rimuovere tutte le istanze di questo servizio di collegamento.

La DLL linkcfg.cpp di esempio viene scritta in C++ usando Microsoft Foundation Classes (MFC) e usa una singola finestra delle proprietà con due pagine delle proprietà come indicato di seguito:

  • L'implementazione della pagina delle proprietà di configurazione della scheda si trova nei file cardcfg.cpp e cardcfg.h. Questa pagina delle proprietà riguarda la configurazione di varie proprietà hardware (interrupt, canale DMA e indirizzo di I/O, ad esempio) dell'hardware del servizio di collegamento.

  • L'implementazione della finestra delle proprietà della modalità di connessione si trova nei file mode.cpp e mode.h. Questa pagina delle proprietà riguarda la configurazione delle informazioni sulla modalità (nome del servizio di collegamento, titolo del servizio di collegamento, tipo di riga SDLC (Synchronous Data Link Control), ad esempio, per il servizio di collegamento.

    Le due pagine delle proprietà sono collegate alla finestra delle proprietà del servizio di collegamento in linkcfg.cpp all'interno della routine ConfigureLS . Questa funzione viene chiamata dalle routine ConfigureLinkService e ConfigureLinkServiceEx esportate in linkcfg.cpp. Una DLL di configurazione del servizio di collegamento effettiva sviluppata da queste origini può richiedere più pagine delle proprietà a seconda delle informazioni necessarie per configurare la DLL del servizio di collegamento effettivo.

    Il file registry.h include usato da linkcfg.cpp contiene una definizione globale delle voci del Registro di sistema necessarie per il servizio di collegamento SDLC generico di esempio. I valori in questa struttura verranno modificati in modo da contenere le informazioni effettive specificate dall'utente. Questa struttura viene aggiunta al Registro di sistema quando viene configurato un nuovo servizio di collegamento e questa struttura viene rimossa quando viene eliminato un servizio di collegamento. I valori del Registro di sistema che uno sviluppatore deve modificare includono la voce Link Registry Base (LINKSERVICE viene usato nel file di inclusione di esempio), il nome della radice del driver di dispositivo (GenSdlc viene usato nel file di inclusione di esempio e nel codice sorgente) e varie impostazioni del Registro di sistema software e del servizio appropriate per il servizio di collegamento di destinazione.

    Molte delle funzioni DLL del servizio di collegamento esportate usano un buffer di configurazione, CONFIG_BUFFER struttura definita in linkcfg.h. Il formato di qualsiasi CONFIG_BUFFER usato dagli sviluppatori deve corrispondere al formato della struttura di questo file di esempio per i primi tre parametri. Altri parametri possono differire per la versione di uno sviluppatore della CONFIG_BUFFER in base al servizio di collegamento di destinazione.

    La DLL di configurazione del servizio di collegamento di esempio chiama un set di funzioni di utilità generali non specifiche di alcun servizio di collegamento di destinazione. Queste funzioni di utilità sono incluse nella libreria lnktools (lnktool.cpp) collegata in come file OBJ. Questa libreria lnktools include le funzioni di utilità seguenti utili per lo sviluppo di DLL di configurazione del servizio di collegamento.

Funzione di utilità Scopo
AddPerfmonCounters Aggiungere contatori Perfmon per questo servizio di collegamento.
bCreateService Creare un servizio in un computer.
bDeleteService Eliminare un servizio in un computer.
bStopService Arrestare un servizio in esecuzione in un computer.
CheckForExistingLinkService Verificare se esiste un servizio di collegamento di questo tipo con questo titolo.
ConvertHexStringToDWORD Convertire una stringa esadecimale in un valore DWORD.
ExtractNextParameter Ottenere il parametro successivo da un buffer.
fAddRegistryEntry Aggiungere un nuovo valore del Registro di sistema al Registro di sistema.
fCanWeAdministerRemoteBox Determinare se l'utente dispone di privilegi amministrativi nel computer remoto.
fConnectRegistry Connessione al Registro di sistema di un computer remoto e restituire un handle al Registro di sistema remoto.
fDisconnectRegistry Disconnettersi dal Registro di sistema di un computer remoto.
fFindAndReplaceString Trovare e sostituire una sottostringa all'interno di una stringa.
fFindString Determinare se una stringa esiste all'interno di un buffer di stringhe.
fFindStringInMultiSZ Trovare una stringa in un elenco REG_MULTI_SZ di stringhe e restituire l'intera stringa.
fQueryRegistryValue Eseguire una query su un valore dal Registro di sistema.
fRegistryKeyExists Verificare se esiste una chiave del Registro di sistema.
fRemoveRegistryEntry Rimuovere una chiave del Registro di sistema.
fRemoveRegistryValue Rimuovere un valore del Registro di sistema.
fStringCompare Determinare se due stringhe vengono confrontate.
LoadStringResource Caricare una stringa dalla risorsa stringa.
ParseNextField Restituisce il campo successivo da una stringa.
RemovePerfmonCounters Rimuovere i contatori Perfmon per questo servizio di collegamento.
ReturnString Restituisce un puntatore a una stringa di risorsa stringa.

Il codice sorgente di esempio per una DLL di configurazione del servizio di collegamento SDLC generica (linkcfg) include diverse funzioni che possono essere utili come codice di esempio quando si sviluppano DLL di configurazione del servizio di collegamento per altri componenti hardware. Le funzioni seguenti sono incluse nel codice sorgente linkcfg.cpp che può essere utilizzato come esempi.

Funzione di utilità Scopo
bDetectNetworkCard Rilevare la scheda di rete remota e restituire il buffer delle impostazioni della scheda per il servizio di collegamento SDLC generico di esempio.
bLastGenericDFTLinkService Cercare l'ultimo servizio di collegamento SDLC generico per il servizio di collegamento SDLC generico di esempio. Questa routine viene usata per determinare se è possibile rimuovere il driver di dispositivo GENSDLC (se presente).
ConfigureLS Funzione di configurazione del servizio di collegamento comune usata dal servizio di collegamento SDLC generico di esempio.
fAddAllRegistryValues Aggiungere tutti i valori del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
fAddClassAndBindformRegistries Aggiungere la classe e le voci del Registro di sistema bindform per il servizio di collegamento SDLC generico di esempio. Le voci del Registro di sistema bindform e class possono esistere solo per il primo servizio di collegamento di questo tipo.
fEnumerateEventLogSources Enumerare il valore del Registro di sistema event log sources per il servizio di collegamento SDLC generico di esempio.
fRemoveAllRegistryValues Rimuovere tutti i valori del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
fReplaceAllRegistryValues Sostituire tutte le informazioni fornite dall'utente nei dati del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
fReplaceRegistryData Sostituire i dati globali del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
fReplaceRegistryKeyName Sostituire le stringhe della struttura globale del Registro di sistema con il nome della chiave del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
fSetupGlobalValues Creare o aggiornare tutte le informazioni fornite dall'utente nella struttura dei dati del Registro di sistema per il servizio di collegamento SDLC generico di esempio.
InitializeGlobalStructure Inizializzare i dati del servizio di collegamento contenuti nella struttura dei dati globale per il servizio di collegamento SDLC generico di esempio.