Q:

Difference between block hash and transaction hash in bitcoin-core

Is there a logic based on which one can determine if a given 32-bit hash corresponds to a transaction or a block without enquiring a bitcoin-client?  
In other words, how do I differentiate or validate a given 32-bit hash as a transaction or block identifier?
I understand, that a valid block hash is restricted by the difficulty limits (that offer lower and upper bounds). Is there something similar to validate a transaction hash?
Reference: How is difficulty stored in blocks?

A:

This is not possible, both are sha256 hashes, and contain no markers as to their origin.

