
Win API
文章平均质量分 67
zhengdy
在东京讨活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
通过文件句柄取得到文件名
用的是wdk函数ZwQueryObject()。LPWSTR GetFileNameFromHandleW(HANDLE hFile, LPWSTR lpFilePath) { const int ObjectNameInformation = 1; // enum OBJECT_INFORMATION_CLASS; typedef LONG (CALLBACK* ZWQ原创 2010-03-24 11:43:00 · 7024 阅读 · 1 评论 -
取得文件所在磁盘的扇区大小
int GetSectorSize(LPCWSTR Path) { wchar_t buf[MAX_PATH + 1] = { L"" }; DWORD SecPerClu, BytePerSec, NumFreeClu, TotalClu; UINT DriveType; if (GetFullPathName(Path, MAX_PATH, buf原创 2010-03-24 11:51:00 · 2318 阅读 · 0 评论 -
关于用System权限创建计划任务的问题
前段时间,制作一个创建建计划任务的WinAPIHelper。发现IScheduledWorkItem::SetAccountInformation()老是调用出错。终于发现了问题,我把 pITask->SetAccountInformation(T2COLE(L""), NULL);写成了 pITask->SetAccountInformation(NULL, NULL);操,M原创 2010-03-24 12:00:00 · 2679 阅读 · 0 评论 -
通过文件句柄取得到文件名(二)
从文件句柄获得文件名方法二, 这个是用GetMappedFileName()函数,局限是只能取得可以文件映射(File Mapping)的文件句柄。参考 MSDN Obtaining a File Name From a File Handle.前一篇通过文件句柄取得到文件名 // reference to "Obtaining a File Name From a File Ha原创 2010-03-25 10:17:00 · 3127 阅读 · 1 评论 -
通过文件句柄取得到文件名(三)
从文件句柄获得文件名方法(三), 这次是用wdk函数ZwQueryInformationFile(),和GetVolumeInformation()。通过判断取得的dwVolumeSerialNumber来确定盘符。其他的内核函数比如说ObDereferenceObject()也可以。参考了Adlys blog 的 通过文件句柄得到文件所在路径的一种新方法 —— 得到完整路径名原创 2010-03-25 12:44:00 · 5463 阅读 · 3 评论 -
关于 LoadLibrary
我们平常使用要Dll的导出函数是用的是LoadLibrary。然后再GetProcAddress取得函数的入口地址。LoadLibrary是在kernel32.dll中定义的。那么kernel32.dll是由谁来导入的呢? 显然不能用LoadLibrary,这是一个先有鸡还是先有蛋的问题。答案是使用Ntdll的导出函数 LdrLoadDll,然后再LdrGetProcedureAddres原创 2010-04-01 11:53:00 · 830 阅读 · 0 评论 -
Windows 和 Linux 的IPC API对应表
Windows 和 Linux 的IPC API对应表 Table 1. Process mapping Windows Linux Classification CreateProcess() CreateProcessAsUser() fork() se原创 2010-04-14 15:51:00 · 4431 阅读 · 1 评论 -
Interlocked 系列函数的实现
<br />#include <intrin.h>#pragma intrinsic(_ReadWriteBarrier)inline void HcPause(int32_t delay) {#if _M_IX86 _asm { mov eax, delay L1: pause add eax, -1 jne L1 }#elif ((__linux__ || __FreeBSD_原创 2010-06-02 14:21:00 · 1156 阅读 · 0 评论