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

📄 ndr_wkssvc.c

📁 samba服务器!
💻 C
📖 第 1 页 / 共 5 页
字号:
/* parser auto-generated by pidl */#include "includes.h"#include "librpc/gen_ndr/ndr_wkssvc.h"#include "librpc/gen_ndr/ndr_srvsvc.h"NTSTATUS ndr_push_wkssvc_NetWkstaInfo100(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo100 *r){	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->platform_id));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->domain_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}	}	return NT_STATUS_OK;}NTSTATUS ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo100 *r){	uint32_t _ptr_server_name;	TALLOC_CTX *_mem_save_server_name_0;	uint32_t _ptr_domain_name;	TALLOC_CTX *_mem_save_domain_name_0;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_pull_align(ndr, 4));		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->platform_id));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));		if (_ptr_server_name) {			NDR_PULL_ALLOC(ndr, r->server_name);		} else {			r->server_name = NULL;		}		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));		if (_ptr_domain_name) {			NDR_PULL_ALLOC(ndr, r->domain_name);		} else {			r->domain_name = NULL;		}		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));			if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);		}		if (r->domain_name) {			_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));			if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo100(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo100 *r){	ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo100");	ndr->depth++;	ndr_print_uint16(ndr, "platform_id", r->platform_id);	ndr_print_ptr(ndr, "server_name", r->server_name);	ndr->depth++;	if (r->server_name) {		ndr_print_string(ndr, "server_name", r->server_name);	}	ndr->depth--;	ndr_print_ptr(ndr, "domain_name", r->domain_name);	ndr->depth++;	if (r->domain_name) {		ndr_print_string(ndr, "domain_name", r->domain_name);	}	ndr->depth--;	ndr_print_uint32(ndr, "version_major", r->version_major);	ndr_print_uint32(ndr, "version_minor", r->version_minor);	ndr->depth--;}NTSTATUS ndr_push_wkssvc_NetWkstaInfo101(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo101 *r){	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->platform_id));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->domain_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->lan_root) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}	}	return NT_STATUS_OK;}NTSTATUS ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo101 *r){	uint32_t _ptr_server_name;	TALLOC_CTX *_mem_save_server_name_0;	uint32_t _ptr_domain_name;	TALLOC_CTX *_mem_save_domain_name_0;	uint32_t _ptr_lan_root;	TALLOC_CTX *_mem_save_lan_root_0;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_pull_align(ndr, 4));		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->platform_id));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));		if (_ptr_server_name) {			NDR_PULL_ALLOC(ndr, r->server_name);		} else {			r->server_name = NULL;		}		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));		if (_ptr_domain_name) {			NDR_PULL_ALLOC(ndr, r->domain_name);		} else {			r->domain_name = NULL;		}		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root));		if (_ptr_lan_root) {			NDR_PULL_ALLOC(ndr, r->lan_root);		} else {			r->lan_root = NULL;		}	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));			if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);		}		if (r->domain_name) {			_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));			if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);		}		if (r->lan_root) {			_mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));			NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));			if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo101 *r){	ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo101");	ndr->depth++;	ndr_print_uint16(ndr, "platform_id", r->platform_id);	ndr_print_ptr(ndr, "server_name", r->server_name);	ndr->depth++;	if (r->server_name) {		ndr_print_string(ndr, "server_name", r->server_name);	}	ndr->depth--;	ndr_print_ptr(ndr, "domain_name", r->domain_name);	ndr->depth++;	if (r->domain_name) {		ndr_print_string(ndr, "domain_name", r->domain_name);	}	ndr->depth--;	ndr_print_uint32(ndr, "version_major", r->version_major);	ndr_print_uint32(ndr, "version_minor", r->version_minor);	ndr_print_ptr(ndr, "lan_root", r->lan_root);	ndr->depth++;	if (r->lan_root) {		ndr_print_string(ndr, "lan_root", r->lan_root);	}	ndr->depth--;	ndr->depth--;}NTSTATUS ndr_push_wkssvc_NetWkstaInfo102(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo102 *r){	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_push_align(ndr, 4));		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->platform_id));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));		NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root));		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logged_on_users));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->domain_name) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}		if (r->lan_root) {			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16));		}	}	return NT_STATUS_OK;}NTSTATUS ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo102 *r){	uint32_t _ptr_server_name;	TALLOC_CTX *_mem_save_server_name_0;	uint32_t _ptr_domain_name;	TALLOC_CTX *_mem_save_domain_name_0;	uint32_t _ptr_lan_root;	TALLOC_CTX *_mem_save_lan_root_0;	if (ndr_flags & NDR_SCALARS) {		NDR_CHECK(ndr_pull_align(ndr, 4));		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->platform_id));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));		if (_ptr_server_name) {			NDR_PULL_ALLOC(ndr, r->server_name);		} else {			r->server_name = NULL;		}		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));		if (_ptr_domain_name) {			NDR_PULL_ALLOC(ndr, r->domain_name);		} else {			r->domain_name = NULL;		}		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root));		if (_ptr_lan_root) {			NDR_PULL_ALLOC(ndr, r->lan_root);		} else {			r->lan_root = NULL;		}		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logged_on_users));	}	if (ndr_flags & NDR_BUFFERS) {		if (r->server_name) {			_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));			if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);		}		if (r->domain_name) {			_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));			NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));			if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);		}		if (r->lan_root) {			_mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr);			NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);			NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));			NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));			if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));			}			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);		}	}	return NT_STATUS_OK;}_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo102(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo102 *r){	ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo102");	ndr->depth++;	ndr_print_uint16(ndr, "platform_id", r->platform_id);	ndr_print_ptr(ndr, "server_name", r->server_name);	ndr->depth++;	if (r->server_name) {		ndr_print_string(ndr, "server_name", r->server_name);	}	ndr->depth--;	ndr_print_ptr(ndr, "domain_name", r->domain_name);	ndr->depth++;

⌨️ 快捷键说明

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