7F is a Negative acknowledgement. 01 is the function requested.
12 is sub-function (the 46) not supported.
If in the 0100 response pid $20 is supported then read that. That will give you a further list of 32 pids.
If pid $40 is supported then read it and yet again get a further list of 32 pids.
That's the way you find out if pid $46 is supported or not (which is this case it is not).