The code seems correct,
provided that "ReadBinaryFile" populates your "m_" arrays in the same way as the constructor does
and that "GetCurrentValues" generates an IDictionary.
Any unwanted behaviour (for instance, the Data Adapter not receiving all read data) should be inspected with a debugger.
Note that only Lightstreamer Server can check for unchanged data. This means that your Remote Adapter would still forward all updates to Lightstreamer Server.
Dario