Cannot get LOB data from SQL Server transaction logs
If you absolutely want to do this then I would advise you use a 3rd party product that does this for you. These undocumented functions are just that, along with the log structure.


  I can get real data from RowLogContents0 column when I have IN_ROW_DATA allocation unit type in my table.


Each type of log record may have its own way of storing the data and could change between operations. There may be additional considerations for each record type as well... for example, in-memory records will not be properly processed using your above methods. There also may be additional considerations between versions of SQL Server.


  Note : I don't want to use any third party tool to do this, because I am trying to make a third party tool for my program.


Then I wish you the best in your trial and error to figure out what works and what doesn't work for each specific type of interaction of DML, row store, etc.

The only other recourse you may have is talking with Microsoft if you're a partner and attempting to obtain help with this endeavor.

Disclaimer: I work for Microsoft.