If you really want to understand this answer, you need to read up on how DOL (data only lock) and APL (all pages lock) are structured and also how they work with different isolation levels.
Heres a short description to get you started.
doampg - Page number of first OAM page for the table data
ioampg - Page number of first OAM page for the index data
first - Page number of first data page if index id is 0 or 1, for rest page number of first leaf-level index
root - Root page of table or index