This entry point is the address of a table of ring levels required when dispatching each of the functions hooked in the dispatch table by FillLogicalDeviceBlock. The table is an array of bytes corresponding to the functions in the dispatch table, terminating with a byte of 0 (that is, an ASCIIZ string). The most significant six bits of each byte are reserved and must be 0. The remaining two bits of each byte represent the ring level to be used when dispatching the corresponding function in the dispatch table.

    00 = End of Table         10 = Ring 2
    01 = Ring-2-Conforming    11 = Ring 3

Any function that does not have a corresponding byte in the table will be dispatched as Ring-2-conforming. This is the most desirable case from the standpoint of system performance.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Function                      ³Ring Level                    ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³GreGetArcParameters           ³   0x01                       ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³GreSetArcParameters           ³   0x01                       ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³GreArc                        ³   0x03                       ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³GrePartialArc                 ³   0x02                       ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³All others                    ³   0x00                       ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

The following example of five bytes would declare GreArc as Ring 3, GrePartialArc as Ring 2, and all other functions as Ring-2-conforming:

   0x01    0x01    0x03    0x02    0x00

If the address of this table is not exported, all functions will be dispatched as Ring-2-conforming as if the table had contained the single byte 0x00.


[Back: OS2_PM_DRV_ENABLE_LEVELS]
[Next: OS2_PM_DRV_QUERYSCREENRESOLUTIONS]