自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

求索

在路上

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除