OK, I've looked into VAMTrt.dll, and saw how to send a MAK for remaining count check. However, I want to do this via reflection on the DLL. The Program.cs code if you have VAMTrt.dll code is: Code: // Create a new ProductKey structure ProductKey MAK = new ProductKey(); MAK.Value = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"; // This is some MAK for Project Standard MAK.Id = "XXXXX-XXXXX-XXX-XXXXXX-XX-XXXX-XXXX.XXXX-XXXXXXX1"; // This is its PID. // Create a new instance of the background worker AcquireRemainingActivationCountWorker getInfo = new AcquireRemainingActivationCountWorker(); // Add the MAK to a Product key collection and send it to the worker to be processed Collection<ProductKey> argument = new Collection<ProductKey>(); argument.Add(MAK); getInfo.RunWorkerSync(argument); // Spit out the results Console.WriteLine("Key:" + argument.Value); Console.WriteLine("Count:" + argument.RemainingActivationCount); How can I achieve this by using reflection on the DLL? Thing to keep in mind is ProductKey is a type defined in the DLL.