internal void SetParamaters(PCIeState state, ushort vendorId, ushort deviceId, ushort systemId, ushort subsystem)
        {
            // Slot State
            this._state = state;
            // Vendor Id
            this.VendorId = vendorId;
            // Device Id
            this.DeviceId = deviceId;
            // System Id
            this.SystemId = systemId;
            // Sub System Id
            this.SubsystemId = subsystem;

        }
        internal void SetParamaters(PCIeState state, ushort vendorId, ushort deviceId, ushort subsystemVendorId, ushort subsystemId)
        {
            byte[] shortArr = new byte[2];
            byte[] intArr = new byte[4];

            if ((vendorId == pcieNotPresentVendorId) && (subsystemVendorId == pcieNotPresentVendorId))
            {
                this._state = PCIeState.NotPresent;
                this.VendorId = "0";
                this.DeviceId = "0";
                this.SubsystemId = "0";
            }
            else
            {
            // Slot State
            this._state = state;

            // Vendor Id
            IpmiSharedFunc.SplitWord(vendorId, out shortArr[1], out shortArr[0]);
            this.VendorId = IpmiSharedFunc.ByteArrayToHexString(shortArr);

            // Device Id
            IpmiSharedFunc.SplitWord(deviceId, out shortArr[1], out shortArr[0]);
            this.DeviceId = IpmiSharedFunc.ByteArrayToHexString(shortArr);

            // Combine Subsystem Vendor ID and Subsystem ID from response to form PCIe Subsystem ID
            IpmiSharedFunc.SplitWord(subsystemVendorId, out intArr[3], out intArr[2]);
            IpmiSharedFunc.SplitWord(subsystemId, out intArr[1], out intArr[0]);
            this.SubsystemId = IpmiSharedFunc.ByteArrayToHexString(intArr);
            }
        }