Использование библиотек DLL ресурсов в мини-driver
Как правило, драйверы принтеров требуют использования таких ресурсов, как внешне хранимые шрифты, значки и другие растровые изображения, а также локализуемые текстовые строки пользовательского интерфейса. Описания этих элементов помещаются в библиотеку DLL ресурсов, как описано в документации по Microsoft Windows SDK.
Чтобы использовать библиотеки DLL ресурсов в мини-хранилище Unidrv, необходимо определить ресурсы следующим образом:
Если вы используете несколько библиотек 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 ресурса, ее можно определить, назначив значение атрибуту *ResourceDLL.
Чтобы ссылаться на ресурс, содержащийся в этой библиотеке DLL ресурса, укажите соответствующий идентификатор ресурса, как показано в следующем примере:
*rcNameID: 288
Все библиотеки DLL ресурсов, используемые с мини-хранилищем, должны быть указаны в INF-файле принтера. См. статью Установка мини-драйвера Unidrv.
В файле GPD идентификаторы ресурсов должны использоваться при назначении значений любой записи, имя которой начинается с *rc, например *rcIconID и *rcCartridgeNameID.
Кроме того, если принтер содержит шрифты, резидентные оборудованием, необходимо указать описания шрифтов принтера для этих шрифтов в виде файлов UFM или IFI, а также определить эти файлы в библиотеке DLL ресурса с помощью типа ресурса RC_UFM или RC_FONT типа ресурса соответственно.
Корпорация Майкрософт предоставляет библиотеку DLL ресурса unires.dll, которая содержит строковые ресурсы для стандартных функций и стандартных параметров. Предоставленный Корпорацией Майкрософт GPD-файл stdnames.gpd присваивает каждому идентификатору ресурса имя символа макроса. Это позволяет ссылаться на эти ресурсы по имени макроса, как показано в следующем примере:
*rcNameID: =LETTERSMALL_DISPLAY