public virtual int GetMethod_(string wszName, int lFlags, out IWbemClassObject_DoNotMarshal ppInSignature, out IWbemClassObject_DoNotMarshal ppOutSignature)
        {
            var method = _handler.Methods.FirstOrDefault(x => x.Name.Equals(wszName, StringComparison.OrdinalIgnoreCase));

            ppInSignature  = null;
            ppOutSignature = null;
            if (string.IsNullOrEmpty(method.Name))
            {
                return(0x40005);
            }
            UnixWbemMethodCreator.CreateSignature(method, out ppInSignature, out ppOutSignature);
            return(0);
        }
        public virtual int NextMethod_(int lFlags, out string pstrName, out IWbemClassObject_DoNotMarshal ppInSignature, out IWbemClassObject_DoNotMarshal ppOutSignature)
        {
            var method = _handler.NextMethod();

            pstrName       = null;
            ppInSignature  = null;
            ppOutSignature = null;
            if (string.IsNullOrEmpty(method.Name))
            {
                return(0x40005);
            }

            pstrName = method.Name;
            UnixWbemMethodCreator.CreateSignature(method, out ppInSignature, out ppOutSignature);

            return(0);
        }