Exemple #1
0
        protected virtual Array rawDataToStructArray(ref byte[] rawData)
        {
            if (rawData == null)
            {
                return(new STANDARD_HOOK_CALL[0]);
            }

            // Create our result array
            uint size = (this.lengthParams + 8);

            STANDARD_HOOK_CALL[] result = new STANDARD_HOOK_CALL[rawData.Length / size];
            for (int i = 0; i < result.Length; i++)
            {
                result[i].caller = oMemoryFunctions.byteArrayToUint(rawData, (int)(i * size));

                // Copy over the arguments
                result[i].arguments = new uint[this.lengthParams / 4];
                for (int n = 0; n < this.lengthParams / 4; n++)
                {
                    result[i].arguments[n] = oMemoryFunctions.byteArrayToUint(rawData, (int)(i * size + 4 + n * 4));
                }

                result[i].returnValue = oMemoryFunctions.byteArrayToUint(rawData, (int)(i * size + 4 + this.lengthParams));
            }


            return(result);
        }
        protected virtual Array rawDataToStructArray(ref byte[] rawData)
        {
            if (rawData == null)
                return new STANDARD_HOOK_CALL[0];

            // Create our result array
            uint size = (this.lengthParams+8);
            STANDARD_HOOK_CALL[] result = new STANDARD_HOOK_CALL[rawData.Length / size];
            for (int i = 0; i < result.Length; i++)
            {
                result[i].caller = oMemoryFunctions.byteArrayToUint(rawData, (int) (i * size) );

                // Copy over the arguments
                result[i].arguments = new uint[this.lengthParams / 4];
                for (int n = 0; n < this.lengthParams / 4; n++)
                {
                    result[i].arguments[n] = oMemoryFunctions.byteArrayToUint(rawData, (int) (i * size + 4 + n*4) );
                }

                result[i].returnValue = oMemoryFunctions.byteArrayToUint(rawData, (int)(i * size + 4 + this.lengthParams));
            }

            return result;
        }