- 博客(12)
- 收藏
- 关注
转载 IOCP和SetFileCompletionNotificationModes
在WinSock的IOCP模式中,调用WSASend/WSARecv/WSASendTo/WSARecvFrom等函数发送接受数据。调用WSAxxx函数发送或者接受数据时,如果函数返回了0,表示操作已经立即完成了。但是一般不会在这时进行完成操作的处理,因为Socket已经和完成端口绑定,某个调用GetQueuedCompletionStatus/GetQueuedCompletionStatusE
2012-02-28 11:27:27 1213
转载 Switch to Session 0 in Vista/windows 2008 .
Vista下切换到Session 0的方法: 启动ui0detect服务: net start ui0detect 然后可以通过ui0detect提供的界面切换到session 0,也可以通过下面的命令在session 0和当前session之间切换。 切换到session 0: rundll32 winsta.dll WinStationSwitchToServicesSession
2012-02-28 11:22:10 997
转载 为什么要创建额外的堆
除了进程的默认堆,我们还可以在进程的地址空间中创建额外的堆。原因是: 1.对组件进行保护 2.更有效的内存管理 3.局部访问 4.避免线程同步的开销 5.快速释放 下面分析第一个原因:假设应用程序需要处理2个组件,一个由NODE结构组成的链表和一个由BRANCH结构组成的二叉树。我们有2个源文件LinkList.cpp和BinTree.cpp,分别包含处理链表和二叉树的函数。 如
2012-02-28 10:24:07 661
转载 Desktop Heap Overview
Desktop heap is probably not something that you spend a lot of time thinking about, which is a good thing. However, from time to time you may run into an issue that is caused by desktop heap exhausti
2012-02-17 14:48:11 1312
转载 create an process with administrator privilege from service in Vista
I did it as the following: 1.Get the session if of the active console user (WTSGetActiveConsoleSessionId) 2.Get the user's token (WTSQueryUserToken),the user has administrator privilege 3.duplicate
2012-02-17 13:22:00 843
转载 服务应用程序如何访问当前登录用户的信息
转载自 robinwjbgui 最终编辑 xicao54007 以服务权限,即SYSTEM帐户启动的程序是无法取得用户的profile的,比如startup文件夹的路径。 首先,Shell函数是不行的: SHGetSpecialFolderPath取得的是C:\Windows\system32\config\systemprofile\ 其次,
2012-02-17 11:44:32 2809
转载 Elevation and process creation APIs
In Vista, process creation APIs behave very differently with respect to UAC. If you call CreateProcess() on an executable which is manifested as “RequireAdministrator” or is flagged as an installer b
2012-02-17 11:14:51 699
转载 UAC提升权限的细节
在看UAC相关的东西时,发现对其内部逻辑还是不了解,为了方便后续的工作得将其搞懂,今天一整天查阅了一些资料后,大概搞懂了其中了逻辑,还是挺复杂的,这里备忘一下: 一,桌面运行一个程序时,Explorer调用ShellExecuteEx(),ShellExecuteEx()进一步调用CreateProcess()创建进程,由于这个进程需要管理员权限才能运行,于是CreateProcess返回ERR
2012-02-17 11:14:11 3298
转载 计算文件MD5值 应用层篇
方法一:调用windows提供的dll文件Cryptdll.dll /******************************************test.c******************************************/ #include #include //定义用于MD5值计算的结构体 #ifndef MD5_CTX typedef struct
2012-02-07 15:54:53 950
转载 从打开的文件句柄获得文件的路径(三)
今天从CSDN看见有人问如何从 http://community.csdn.net/Expert/TopicView1.asp?id=5164878 提问从打开的文件句柄获得文件的路径,下面是解决的办法: #include Psapi.h > #define BUFSIZE 512 #pragma c
2012-02-02 10:08:49 2912
转载 从文件句柄获得全路径 (二)
从文件句柄获得全路径这个问题,似乎是个“老大难”问题。 很久以前我就在水木清华见到过。最近又不断有人提到。 其实问题并不难,只是解决办法有点绕,不是调用一个API就能解决的。 问题的关键在于,形如”X:”的Dos设备名都是符号链接(SymblicLink),而文件打开后文件对象中保存的是逻辑卷设备名(如”\Device\HarddiskVolumeX”)。前者可以转换成后者,而后者却不能简单
2012-02-02 10:07:52 1344
转载 从文件句柄得到文件路径的函数 (一)
从文件句柄得到文件路径的函数 主要思路: 1. 调用 GetFileInformationByHandle 函数得到指定文件句柄的相应文件信息, 再调用 GetLogicalDriveStrings 函数得到所有驱动器盘符, 用 GetVolumeInformation 函数遍历每个盘符, 取得盘符的卷序列号, 然后与前一步得到的文件信息比较, 找到该文件的盘符. 2. 调用 Zw
2012-02-02 10:07:05 2677
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人