This subfunction is not called when the same application or process opens
additional device contexts with the same presentation driver. However, the
graphics engine can call this subfunction at other times and the call should
always be honored. If the value of pDispatchTable is nonzero, the handling
routine must initialize the dispatch table.
The major tasks that the handling routine must implement are:
- Add an entry to the DosExitList to ensure that
any allocated resources are freed when the owning application or process
terminates.
- Save those pointers in the dispatch table that
are needed to pass hooked functions back to the graphics engine. A typical
example is GreCharString, which must be hooked by the presentation driver,
but can be passed back to the default handling routine.
- Initialize the dispatch table. That is, modify
the table so that the entries for functions hooked by the presentation driver
contain pointers to the driver's handling routines.
- Set flags to indicate how future DevOpenDC calls
to this device should be handled.
In some typical presentation drivers, the handling routine for FillLogicalDeviceBlock
allocates global heap space for use by the device contexts. The memory for
this heap space is obtained by calling the SSAllocMem function. This global
heap space is available to all instances of a device context that are opened
by the application or process for which the presentation driver was enabled.
[Back: OS2_PM_DRV_ENABLE: Subfunction 01h - FillLogicalDeviceBlock - Parameters]
[Next: OS2_PM_DRV_ENABLE: Subfunction 01h - FillLogicalDeviceBlock - Topics]