This structure is designed for internal use in CrystalMpq. Incorrect usage of the structure will lead to bugs or even worse, memory leaks. The structure shall always be initialized using this constructor. Once created, there shall never be more than one living copy of the structure. The structure shall always be passed as a reference parameter and never as a value parameter. Once the structure have been used for its purposes, it shall be released using the Dispose method. After the structure has been disposed, the instance shall never be used again.