I would advise you to make absolutely no assumptions about the descriptor values.
You do not need to think about specific descriptor values for all practical purposes. A pen should be considered an opaque placeholder for something else. You can pass a descriptor to refer to something (for example, a window) without having a link to the real thing, but you will never have to look at the descriptor itself. The fact that this is a numerical value should be considered as a detail of implementation, i.e. it doesn’t matter (if, perhaps, you are not performing some low-level system programming).
As they say, I would support @jalf's answer: Handle values could be reused. If I had to make any assumptions about this, I would suggest that the descriptor value can be reused at any time.
source share