ミニドライバーでリソース DLL を使用する

通常、プリンター ドライバーでは、外部に格納されているフォント、アイコン、その他のビットマップ、ローカライズ可能なユーザー インターフェイス テキスト文字列などのリソースを使用する必要があります。 これらの項目の説明は、Microsoft Windows SDK ドキュメントの説明に従ってリソース DLL に配置されます。

Unidrv ミニドライバーでリソース DLL を使用するには、次のようにリソースを識別する必要があります。

  • 複数のリソース DLL を使用している場合は、RESDLL 機能を使用してそれらを識別します。

    RESDLL 機能の使用例は、次のとおりです。

    *Feature: RESDLL
    {
        *Option: FirstRes
        {*Name: "MyFirstRes.dll"}
        *Option: SecondRes
        {*Name: "MySecondRes.dll"}
        *Option: ThirdRes
        {*Name: "MyThirdRes.dll"}
    }
    

    これらのリソース DLL のいずれかに含まれるリソースを参照するには、次の形式を使用します。

    RESDLL.ResourceOptionName.ResourceID

  • リソース DLL を 1 つだけ使用している場合は、*ResourceDLL 属性に値を割り当てることで識別できます。

    このリソース DLL に含まれるリソースを参照するには、次の例に示すように、適切なリソース識別子を指定します。

    *rcNameID: 288
    

ミニドライバーで使用されるすべてのリソース DLL は、プリンター INF ファイルで指定する必要があります。 「Unidrv ミニドライバーのインストール」を参照してください。

GPD ファイル内では、*rcIconID や *rcCartridgeNameID など、*rc で始まる名前のエントリに値を割り当てるときに、リソース識別子を使用する必要があります。

さらに、プリンターにハードウェア常駐フォントが含まれている場合は、これらのフォントの プリンター フォントの説明 を .ufm ファイルまたは .ifi ファイルの形式で提供し、RC_UFM または RC_FONT リソースの種類をそれぞれ使用して、リソース DLL 内のこれらのファイルを識別する必要があります。

Microsoft では 標準機能標準オプション の文字列リソースを含む 1 つのリソース DLL、unires.dll を提供しています。 Microsoft 提供の GPD ファイル stdnames.gpd は、各リソース識別子にマクロ シンボル名を割り当てます。 これにより、次の例に示すように、これらのリソースをマクロ名で参照できます。

*rcNameID: =LETTERSMALL_DISPLAY