Host Integration Server での統合リンク サービス構成 DLL のコンポーネント

リンクサービス構成 DLL (linkcfg) は、次の関数をエクスポートする必要があります。

エクスポートされた関数 目的
CommandLineAdd Linkcfgから、コマンドライン入力を解析するために呼び出されます。
ConfigureLinkService リンクサービスを追加または変更するために、SNA マネージャーから呼び出されます。
ConfigureLinkServiceEx リンクサービスを追加または変更するために SNA マネージャーから呼び出され、構成ファイルに追加される構成バッファーを返します。
DisplayHelpInfo この種類のリンクサービスのコマンドライン構文を格納しているバッファーを返します。
RemoveLinkService リンクサービスを削除するために、SNA マネージャーから呼び出されます。
RemoveAllLinkServices セットアップからこのリンクサービスのすべてのインスタンスを削除するために呼び出されます。

サンプルの linkcfg は、C++ では、Microsoft Foundation Classes (MFC) を使用して記述されており、次の2つのプロパティページを含む単一のプロパティシートを使用します。

  • カード構成プロパティページの実装は、cardcfg および cardcfg .h ファイルにあります。 このプロパティページは、リンクサービスハードウェアのさまざまなハードウェアプロパティ (割り込み、DMA チャネル、i/o アドレスなど) を構成することに関係しています。

  • 接続モードのプロパティシートの実装は、cpp ファイルと mode .h ファイルにあります。 このプロパティページは、リンクサービスのモード情報 (リンクサービス名、リンクサービスのタイトル、同期データリンク制御 (SDLC) の行の種類など) を構成することに関係しています。

    2つのプロパティページは、 ConfigureLS ルーチン内の linkcfg .cpp のリンクサービスプロパティシートにリンクされています。 この関数は、linkcfg 内のエクスポートされた ConfigureLinkService ルーチンと ConfigureLinkServiceEx ルーチンによって呼び出されます。 これらのソースから開発された実際のリンクサービス構成 DLL では、実際のリンクサービス DLL を構成するために必要な情報に応じて、より多くのプロパティページが必要になる場合があります。

    Linkcfg .cpp によって使用されるレジストリ .h インクルードファイルには、サンプル汎用 SDLC リンクサービスに必要なレジストリエントリのグローバル定義が含まれています。 この構造体の値は、ユーザーによって指定された実際の情報を含むように変更されます。 この構造は、新しいリンクサービスが構成されたときにレジストリに追加されます。リンクサービスが削除されると、この構造は削除されます。 開発者が変更する必要のあるレジストリ値には、リンクレジストリの基本エントリ (LINKSERVICE がサンプルインクルードファイルで使用されます)、デバイスドライバールートの名前 (サンプルのファイルとソースコードでは GenSdlc が使用されます)、およびターゲットリンクサービスに適したさまざまなソフトウェアとサービスのレジストリ設定が含まれます。

    エクスポートされたリンクサービス DLL 関数の中には、構成バッファー (linkcfg. h で定義されている CONFIG_BUFFER 構造) が使用されているものがあります。 開発者が使用する CONFIG_BUFFER の形式は、最初の3つのパラメーターについて、このサンプルファイルの構造形式と一致している必要があります。 その他のパラメーターは、ターゲットリンクサービスに基づく CONFIG_BUFFER 構造の開発者バージョンとは異なる場合があります。

    サンプルリンクサービス構成 DLL は、ターゲットリンクサービスに固有ではない一般的なユーティリティ関数のセットを呼び出します。 これらのユーティリティ関数は、OBJ ファイルとしてリンクされている lnktools ライブラリ (lnktool) に含まれています。 この lnktools ライブラリには、リンクサービス構成 Dll の開発に役立つ次のユーティリティ関数が含まれています。

ユーティリティ関数 目的
AddPerfmonCounters このリンクサービスの Perfmon カウンターを追加します。
bCreateService コンピューターでサービスを作成します。
bDeleteService コンピューター上のサービスを削除します。
bStopService コンピューター上で実行されているサービスを停止します。
CheckForExistingLinkService この種類のリンクサービスがこのタイトルに存在するかどうかを確認します。
ConvertHexStringToDWORD 16進数文字列を DWORD 値に変換します。
ExtractNextParameter バッファーから次のパラメーターを取得します。
fAddRegistryEntry レジストリに新しいレジストリ値を追加します。
fCanWeAdministerRemoteBox ユーザーがリモートコンピューターの管理者特権を持っているかどうかを確認します。
fConnectRegistry リモートコンピューターのレジストリに Connect し、リモートレジストリへのハンドルを返します。
fDisconnectRegistry リモートコンピューターのレジストリから切断します。
fFindAndReplaceString 文字列内の部分文字列を検索して置換します。
fFindString 文字列が文字列バッファー内に存在するかどうかを判断します。
fFindStringInMultiSZ REG_MULTI_SZ 文字列リスト内の文字列を検索し、文字列全体を返します。
fQueryRegistryValue レジストリの値を照会します。
fRegistryKeyExists レジストリキーが存在するかどうかをテストします。
fRemoveRegistryEntry レジストリキーを削除します。
fRemoveRegistryValue レジストリ値を削除します。
fStringCompare 2つの文字列を比較するかどうかを決定します。
LoadStringResource 文字列リソースから文字列を読み込みます。
ParseNextField 文字列から次のフィールドを返します。
RemovePerfmonCounters このリンクサービスの Perfmon カウンターを削除します。
ReturnString 文字列リソース文字列へのポインターを返します。

汎用 SDLC リンクサービス構成 DLL (linkcfg) のサンプルソースコードには、他のハードウェア用のリンクサービス構成 Dll を開発するときにサンプルコードとして役立つ可能性があるいくつかの関数が含まれています。 次の関数は、例として使用できる linkcfg .cpp ソースコードに含まれています。

ユーティリティ関数 目的
B検出 Networkcard リモートネットワークカードを検出し、サンプル汎用 SDLC リンクサービスのカード設定バッファーを返します。
bLastGenericDFTLinkService サンプル汎用 SDLC リンクサービスの最後の汎用 SDLC リンクサービスを確認します。 このルーチンは、GENSDLC デバイスドライバー (存在する場合) を削除できるかどうかを判断するために使用されます。
ConfigureLS サンプル汎用 SDLC リンクサービスによって使用される共通リンクサービス構成関数。
fAddAllRegistryValues サンプル汎用 SDLC リンクサービスのすべてのレジストリ値を追加します。
fAddClassAndBindformRegistries サンプル汎用 SDLC リンクサービスのクラスと bindform レジストリエントリを追加します。 Bindform およびクラスのレジストリエントリは、この型の最初のリンクサービスに対してのみ存在できます。
fEnumerateEventLogSources 汎用 SDLC リンク サービスのサンプルのイベント ログ ソース レジストリ値を列挙します。
fRemoveAllRegistryValues サンプル汎用 SDLC リンク サービスのすべてのレジストリ値を削除します。
fReplaceAllRegistryValues サンプル汎用 SDLC リンク サービスのレジストリ データ内のすべてのユーザー指定情報を置き換える。
fReplaceRegistryData サンプル汎用 SDLC リンク サービスのグローバル レジストリ データを置き換える。
fReplaceRegistryKeyName サンプルの汎用 SDLC リンク サービスのレジストリ キー名のグローバル レジストリ構造文字列を置き換えます。
fSetupGlobalValues サンプル汎用 SDLC リンク サービスのレジストリ データ構造で、ユーザーが指定した情報を作成または更新します。
InitializeGlobalStructure サンプル汎用 SDLC リンク サービスのグローバル データ構造に含まれるリンク サービス データを初期化します。