⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srvsvc.java

📁 实现网上邻居需要的jar库;可以使用库中的接口实现文件共享的功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            _dst.enc_ndr_referent(array, 1);

            if (array != null) {
                _dst = _dst.deferred;
                int _arrays = count;
                _dst.enc_ndr_long(_arrays);
                int _arrayi = _dst.index;
                _dst.advance(40 * _arrays);

                _dst = _dst.derive(_arrayi);
                for (int _i = 0; _i < _arrays; _i++) {
                    array[_i].encode(_dst);
                }
            }
        }
        public void decode(NdrBuffer _src) throws NdrException {
            _src.align(4);
            count = (int)_src.dec_ndr_long();
            int _arrayp = _src.dec_ndr_long();

            if (_arrayp != 0) {
                _src = _src.deferred;
                int _arrays = _src.dec_ndr_long();
                int _arrayi = _src.index;
                _src.advance(40 * _arrays);

                if (array == null) {
                    if (_arrays < 0 || _arrays > 0xFFFF) throw new NdrException( NdrException.INVALID_CONFORMANCE );
                    array = new ShareInfo502[_arrays];
                }
                _src = _src.derive(_arrayi);
                for (int _i = 0; _i < _arrays; _i++) {
                    if (array[_i] == null) {
                        array[_i] = new ShareInfo502();
                    }
                    array[_i].decode(_src);
                }
            }
        }
    }
    public static class ShareEnumAll extends DcerpcMessage {

        public int getOpnum() { return 0x0f; }

        public int retval;
        public String servername;
        public int level;
        public NdrObject info;
        public int prefmaxlen;
        public int totalentries;
        public int resume_handle;

        public ShareEnumAll(String servername,
                    int level,
                    NdrObject info,
                    int prefmaxlen,
                    int totalentries,
                    int resume_handle) {
            this.servername = servername;
            this.level = level;
            this.info = info;
            this.prefmaxlen = prefmaxlen;
            this.totalentries = totalentries;
            this.resume_handle = resume_handle;
        }

        public void encode_in(NdrBuffer _dst) throws NdrException {
            _dst.enc_ndr_referent(servername, 1);
            if (servername != null) {
                _dst.enc_ndr_string(servername);

            }
            _dst.enc_ndr_long(level);
            int _descr = level;
            _dst.enc_ndr_long(_descr);
            _dst.enc_ndr_referent(info, 1);
            if (info != null) {
                _dst = _dst.deferred;
                info.encode(_dst);

            }
            _dst.enc_ndr_long(prefmaxlen);
            _dst.enc_ndr_long(resume_handle);
        }
        public void decode_out(NdrBuffer _src) throws NdrException {
            level = (int)_src.dec_ndr_long();
            _src.dec_ndr_long(); /* union discriminant */
            int _infop = _src.dec_ndr_long();
            if (_infop != 0) {
                if (info == null) { /* YOYOYO */
                    info = new ShareInfoCtr0();
                }
                _src = _src.deferred;
                info.decode(_src);

            }
            totalentries = (int)_src.dec_ndr_long();
            resume_handle = (int)_src.dec_ndr_long();
            retval = (int)_src.dec_ndr_long();
        }
    }
    public static class ShareGetInfo extends DcerpcMessage {

        public int getOpnum() { return 0x10; }

        public int retval;
        public String servername;
        public String sharename;
        public int level;
        public NdrObject info;

        public ShareGetInfo(String servername,
                    String sharename,
                    int level,
                    NdrObject info) {
            this.servername = servername;
            this.sharename = sharename;
            this.level = level;
            this.info = info;
        }

        public void encode_in(NdrBuffer _dst) throws NdrException {
            _dst.enc_ndr_referent(servername, 1);
            if (servername != null) {
                _dst.enc_ndr_string(servername);

            }
            _dst.enc_ndr_string(sharename);
            _dst.enc_ndr_long(level);
        }
        public void decode_out(NdrBuffer _src) throws NdrException {
            _src.dec_ndr_long(); /* union discriminant */
            int _infop = _src.dec_ndr_long();
            if (_infop != 0) {
                if (info == null) { /* YOYOYO */
                    info = new ShareInfo0();
                }
                _src = _src.deferred;
                info.decode(_src);

            }
            retval = (int)_src.dec_ndr_long();
        }
    }
    public static class ServerInfo100 extends NdrObject {

        public int platform_id;
        public String name;

        public void encode(NdrBuffer _dst) throws NdrException {
            _dst.align(4);
            _dst.enc_ndr_long(platform_id);
            _dst.enc_ndr_referent(name, 1);

            if (name != null) {
                _dst = _dst.deferred;
                _dst.enc_ndr_string(name);

            }
        }
        public void decode(NdrBuffer _src) throws NdrException {
            _src.align(4);
            platform_id = (int)_src.dec_ndr_long();
            int _namep = _src.dec_ndr_long();

            if (_namep != 0) {
                _src = _src.deferred;
                name = _src.dec_ndr_string();

            }
        }
    }
    public static class ServerGetInfo extends DcerpcMessage {

        public int getOpnum() { return 0x15; }

        public int retval;
        public String servername;
        public int level;
        public NdrObject info;

        public ServerGetInfo(String servername, int level, NdrObject info) {
            this.servername = servername;
            this.level = level;
            this.info = info;
        }

        public void encode_in(NdrBuffer _dst) throws NdrException {
            _dst.enc_ndr_referent(servername, 1);
            if (servername != null) {
                _dst.enc_ndr_string(servername);

            }
            _dst.enc_ndr_long(level);
        }
        public void decode_out(NdrBuffer _src) throws NdrException {
            _src.dec_ndr_long(); /* union discriminant */
            int _infop = _src.dec_ndr_long();
            if (_infop != 0) {
                if (info == null) { /* YOYOYO */
                    info = new ServerInfo100();
                }
                _src = _src.deferred;
                info.decode(_src);

            }
            retval = (int)_src.dec_ndr_long();
        }
    }
    public static class TimeOfDayInfo extends NdrObject {

        public int elapsedt;
        public int msecs;
        public int hours;
        public int mins;
        public int secs;
        public int hunds;
        public int timezone;
        public int tinterval;
        public int day;
        public int month;
        public int year;
        public int weekday;

        public void encode(NdrBuffer _dst) throws NdrException {
            _dst.align(4);
            _dst.enc_ndr_long(elapsedt);
            _dst.enc_ndr_long(msecs);
            _dst.enc_ndr_long(hours);
            _dst.enc_ndr_long(mins);
            _dst.enc_ndr_long(secs);
            _dst.enc_ndr_long(hunds);
            _dst.enc_ndr_long(timezone);
            _dst.enc_ndr_long(tinterval);
            _dst.enc_ndr_long(day);
            _dst.enc_ndr_long(month);
            _dst.enc_ndr_long(year);
            _dst.enc_ndr_long(weekday);

        }
        public void decode(NdrBuffer _src) throws NdrException {
            _src.align(4);
            elapsedt = (int)_src.dec_ndr_long();
            msecs = (int)_src.dec_ndr_long();
            hours = (int)_src.dec_ndr_long();
            mins = (int)_src.dec_ndr_long();
            secs = (int)_src.dec_ndr_long();
            hunds = (int)_src.dec_ndr_long();
            timezone = (int)_src.dec_ndr_long();
            tinterval = (int)_src.dec_ndr_long();
            day = (int)_src.dec_ndr_long();
            month = (int)_src.dec_ndr_long();
            year = (int)_src.dec_ndr_long();
            weekday = (int)_src.dec_ndr_long();

        }
    }
    public static class RemoteTOD extends DcerpcMessage {

        public int getOpnum() { return 0x1c; }

        public int retval;
        public String servername;
        public TimeOfDayInfo info;

        public RemoteTOD(String servername, TimeOfDayInfo info) {
            this.servername = servername;
            this.info = info;
        }

        public void encode_in(NdrBuffer _dst) throws NdrException {
            _dst.enc_ndr_referent(servername, 1);
            if (servername != null) {
                _dst.enc_ndr_string(servername);

            }
        }
        public void decode_out(NdrBuffer _src) throws NdrException {
            int _infop = _src.dec_ndr_long();
            if (_infop != 0) {
                if (info == null) { /* YOYOYO */
                    info = new TimeOfDayInfo();
                }
                info.decode(_src);

            }
            retval = (int)_src.dec_ndr_long();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -