云端书斋 -Windows via C/C++
本书资料更新时间:2025-01-19 17:55:21

Windows via C/C++ 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线

Windows via C/C++精美图片
》Windows via C/C++电子书籍版权问题 请点击这里查看《

Windows via C/C++书籍详细信息

  • ISBN:9780735624245
  • 作者:暂无作者
  • 出版社:暂无出版社
  • 出版时间:2007-12-5
  • 页数:848
  • 价格:GBP 54.99
  • 纸张:暂无纸张
  • 装帧:暂无装帧
  • 开本:暂无开本
  • 语言:未知
  • 丛书:暂无丛书
  • TAG:暂无
  • 豆瓣评分:暂无豆瓣评分
  • 豆瓣短评:点击查看
  • 豆瓣讨论:点击查看
  • 豆瓣目录:点击查看
  • 读书笔记:点击查看
  • 原文摘录:点击查看
  • 更新时间:2025-01-19 17:55:21

内容简介:

Get the preeminent guide to programming application for Windows with C++. Programming Applications for Microsoft Windows is a classic book (formerly titled Advanced Windows, Third Edition) and is now fully updated for Windows Vista, including the latest information about Windows XP. In-depth and comprehensive, this essential reference covers the Windows operating system and how to program at the API level. Recognized experts provide an inside view of how Windows works and how to use its features in Visual C++ development tasks. Topics covered include processes, thread pooling, virtual memory, DLLs, file I/O, and message crackers. For systems-level programmers, this is a must-have title. Includes code samples in Visual C++. Features coverage of classic topics such as thread pooling, heaps, and advanced DLL techniques Provides expert guidance fully updated for Windows Vista Provides extensive sample code in Visual C++ 2005

点击链接进入中文版:

Windows核心编程(第5版)


书籍目录:

暂无相关目录,正在全力查找中!


作者介绍:

暂无相关内容,正在全力查找中


出版社信息:

暂无出版社相关信息,正在全力查找中!


书籍摘录:

暂无相关书籍摘录,正在全力查找中!


在线阅读/听书/购买/PDF下载地址:

在线阅读地址:Windows via C/C++在线阅读

在线听书地址:Windows via C/C++在线收听

在线购买地址:Windows via C/C++在线购买


原文赏析:

垮进程边界共享内核对象的第二个办法是为对象命名。许多(但不是全部)内核对象都可以进行命名。

CreateMutex,CreateEvent,CreateSemaphore,CreateWaitableTimer,CreateFileMapping,CreateObject这些API都可以创建命名的内核对象。

用于创建内核对象的函数总是返回具有完全访问权限的句柄。如果想限制一个句柄的访问权限,可以使用这些函数带Ex后缀的扩展版本。

通过名称来创建内核对象共享时,请注意:进程B调用CreateMutex时,它向函数传递安全属性信息和第二个参数。如果已经存在一个指定名称的对象,这些参数就会被忽略。事实上,可以用GetLastError来判断自己刚才是真的创建一个新的内核对象还是仅仅打开了一个现有的。

调用CreateXX函数和调用OpenXX函数的主要区别在于,如果对象不存在,CreateXX会创建它;OpenXX函数则不同,如果对象不存在,它只是简单以调用失败告终。所以,微软没有提供任何专门机制来保证我们创建独一无二的对象名。所以如果来自两个不同公司的两个程序都试图创建名为“MyObejct”的对象,那么就会出现问题,所以一般建议是创建一个GUID,并将这个GUID的字符串形式作为自己的对象名使用。


在正在运行终端服务的计算机中,有多个用于内核对象的命名空间。其中一个是全局命名空间,所有客户端都能访问的内核对象要放在这个命名空间中。这个命名空间主要由服务使用。此外每个客户端会话(Client Session)都有自己的一个命名空间

一个服务的命名内核对象始终位于全局命名空间内的。默认情况下,在终端服务中,引用程序自己的命名内核对象在会话的命名空间内。我们可以强制把一个命名对象放入全局命名空间,做法是在其名称前加入“Global”前缀,同理,可以把一个命名对象放入当前会话的命名空间,做法是在其名称前加入“Local”前缀。

CreateEvent(NULL,FALSE,FALSE,TEXT("Global\MyName"))

CreateEvent(NULL,FALSE,FALSE,TEXT("Local\MyName"))


创建一个内核对象时,可以传递一个安全描述符指针,从而保护该对象的访问。不过在windows Vista以前,不可能防止一个共享对象的名称被“劫持”。任何进程,即使是最低权限的进程都能用任何指定的名称来创建一个对象。这样就很容易另外写一个应用程序来创建一个同名的内核对象。如果它先于单实例应用程序启动,那么单实例的应用程序就变成了无实例的应用程序-------始终一启动就退出,错误地认为它自己的另一个实例已经在运行。这就是DOS攻击的基本机制。但是注意,未命名的内核对象不会遭到DOS攻击。未命名的对象是不能在进程之间共享的。

CreatePrivateNamespace创建一个专有的命名空间。


跨进程边界共享内核对象的最后一招是使用DuplicateHandle,简单的说,这个函数获得一个进程的句柄表中的一个记录项,然后在另一个进程的句柄表中创建这个记录的一个副本。


第1章 错误处理

P3 常见Windows函数返回值数据类型:VOID, BOOL, HANDLE, PVOID, LONG/DWORD

P4 DWORD GetLastError(); 返回由上一个函数调用设置的线程的32位错误代码 (WinError.h)

在Visual Studio 的Watch窗口中使用$err,hr来查看当前线程的“上一个错误代码”

P6 FormatMessage

第2章 字符和字符串处理

P21 _countof //errno_t result = _tcscpy_s(szBuffer, _countof(szBuffer), TEXT("0123456789"));

P24 CompareString(); CompareStringOrdinal();

P25 修改与字符串有关的计算:传入的是缓冲区大小的字符数,而不是字节数,即_countof(szBuffer)非sizeof(szBuffer);如需要为一个字符串分配一个内存块,而且知道字符串中的字符数,那么内存是以字节来分配的,即malloc(nCharacters*sizeof(TCHAR)),非malloc(nCharacters)

P28 ANSI与UNICODE之间的相互转化,一般是把ANSI版本函数中的字符串转换为UNICODE,之后调用UNICODE函数,把结果再转换为ANSI

P30 用IsTextUnicode函数判断文本是否Unicode编码有可能返回错误结果。测试缓冲区内的字节数越多,结果越精确。

第3章 内核对象 kernel object

P32 内核对象的几种类型:访问令牌对象,事件对象,文件对象,文件映射对象,I/O完成端口对象,作业对象,邮件槽对象,互斥量对象,管道对象,进程对象,信号量对象,线程对象,可等待计时器对...


P36 进程内核对象句柄表:只是由数据结构组成的数组,每个数据结构包含指向一个内核对象的指针,一个访问掩码和一些标志。

P38 注意创建一个新内核对象后返回的句柄,有可能是NULL,也有可能是INVALID_HANDLE_VALUE

P40 假定忘记调用CloseHandle,会发生对象泄漏的情况吗?嗯,不一定。

P42 3种不同的机制允许进程共享内核对象:1使用对象句柄继承,2为对象命名,3复制对象句柄

P44 对象句柄的继承只会在生成子进程的时候发生。之后父进程又有什么新的句柄被创建跟子进程无关,不会被继承。

子进程并不知道自己继承了任何句柄。

P46 改变句柄的标志 SetHandleInformation 其中HANDLE_FLAG_PROTECT_FROM_CLOSE是为了防止子进程在生成孙进程之前就已经先把句柄关闭了,保护孙进程有更大的机会继承到子进程的句柄,可以让孙进程与父进程通信

P48 可以在创建一个新内核对象后,马上调用GetLastError,判断是真创建还是仅打开了一个现有的。

P51 专有命名空间

P58 跨进程边界共享内核对象,使用DuplicateHandle

第4章 进程

P65 线程的定义:一个内核对象,一个地址空间

P66 链接器设置,对于GUI程序是/SUBSYSTEM:WINDOWS;对于CUI程序是/SUBSYSTEM:CONSOLE

P71 HMODULE和HINSTANCE完全是一回事。

P72 GetModuleHandle函数的两大重要特征,1只检查主调进程的地址空间。2调用GetModuleHandle并向其传递NULL值,会返回进程的地址空间中的可执行文件的基地址。

P74 获得进程的环境变量GetEnvironmentStrings() ; CUI专用,利用TCHAR* e...


其它内容:

书籍介绍

Get the preeminent guide to programming application for Windows with C++. Programming Applications for Microsoft Windows is a classic book (formerly titled Advanced Windows, Third Edition) and is now fully updated for Windows Vista, including the latest information about Windows XP. In-depth and comprehensive, this essential reference covers the Windows operating system and how to program at the API level. Recognized experts provide an inside view of how Windows works and how to use its features in Visual C++ development tasks. Topics covered include processes, thread pooling, virtual memory, DLLs, file I/O, and message crackers. For systems-level programmers, this is a must-have title. Includes code samples in Visual C++. Features coverage of classic topics such as thread pooling, heaps, and advanced DLL techniques Provides expert guidance fully updated for Windows Vista Provides extensive sample code in Visual C++ 2005

点击链接进入中文版:

Windows核心编程(第5版)


书籍真实打分

  • 故事情节:6分

  • 人物塑造:4分

  • 主题深度:7分

  • 文字风格:3分

  • 语言运用:5分

  • 文笔流畅:6分

  • 思想传递:6分

  • 知识深度:9分

  • 知识广度:9分

  • 实用性:8分

  • 章节划分:4分

  • 结构布局:3分

  • 新颖与独特:6分

  • 情感共鸣:4分

  • 引人入胜:7分

  • 现实相关:4分

  • 沉浸感:7分

  • 事实准确性:9分

  • 文化贡献:7分


网站评分

  • 书籍多样性:4分

  • 书籍信息完全性:4分

  • 网站更新速度:7分

  • 使用便利性:6分

  • 书籍清晰度:7分

  • 书籍格式兼容性:5分

  • 是否包含广告:6分

  • 加载速度:8分

  • 安全性:9分

  • 稳定性:9分

  • 搜索功能:9分

  • 下载便捷性:4分


下载点评

  • 好评多(131+)
  • 内容齐全(620+)
  • 藏书馆(554+)
  • 四星好评(486+)
  • 无盗版(108+)
  • 全格式(427+)
  • 一般般(304+)
  • 无水印(644+)
  • 品质不错(334+)
  • 情节曲折(335+)
  • txt(636+)
  • 下载速度快(592+)
  • 赞(635+)

下载评价

  • 网友 利***巧: ( 2024-12-20 02:08:58 )

    差评。这个是收费的

  • 网友 通***蕊: ( 2025-01-18 16:04:00 )

    五颗星、五颗星,大赞还觉得不错!~~

  • 网友 印***文: ( 2024-12-31 08:45:58 )

    我很喜欢这种风格样式。

  • 网友 国***芳: ( 2024-12-21 20:29:09 )

    五星好评

  • 网友 苍***如: ( 2025-01-07 03:04:11 )

    什么格式都有的呀。

  • 网友 寿***芳: ( 2025-01-15 22:42:44 )

    可以在线转化哦

  • 网友 邱***洋: ( 2024-12-23 08:28:55 )

    不错,支持的格式很多

  • 网友 孙***美: ( 2025-01-13 04:57:24 )

    加油!支持一下!不错,好用。大家可以去试一下哦

  • 网友 敖***菡: ( 2024-12-31 11:59:13 )

    是个好网站,很便捷


随机推荐