There are 16 class fields that indicate whether a particular class can use a spell (by level required) or not.
I don't even see a race bitmask in the spells table.
You may be able to add some custom code to the [link]
OPMemorizeSpell function that checks for the usable races of the scroll.
EDIT: You'll need to check the item on the cursor to get the race bitmask of the scroll.
This is where a scribed spell scroll is deleted:
https://github.com/EQEmu/Server/blob...cess.cpp#L1159