资源简介
收集整理得到的C++\C头文件资源包,包含470个文件,比较常见的Windows.h、Winnt.h、Specstrings.h等头文件均有包含
代码片段和文件信息
//
// DelayHlp.cpp
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Implement the delay load helper routines.
//
// Build instructions
// cl -c -O1 -Z7 -Zl -W3 delayhlp.cpp
//
// For ISOLATION_AWARE_ENABLED calls to LoadLibrary() you will need to add
// a definition for ISOLATION_AWARE_ENABLED to the command line above eg:
// cl -c -O1 -Z7 -Zl -W3 -DISOLATION_AWARE_ENABLED=1 delayhlp.cpp
//
//
// Then you can either link directly with this new object file or replace the one in
// delayimp.lib with your new one eg:
// lib /out:delayimp.lib delayhlp.obj
//
#define WIN32_LEAN_AND_MEAN
#define STRICT
#include
#include “DelayImp.h“
#define DLOAD_UNLOAD 1
#include “dloadsup.h“
//
// Local copies of strlen memcmp and memcpy to make sure we do not need the CRT
//
static inline size_t
__strlen(const char * sz) {
const char *szEnd = sz;
while( *szEnd++ ) {
;
}
return szEnd - sz - 1;
}
static inline int
__memcmp(const void * pv1 const void * pv2 size_t cb) {
if (!cb) {
return 0;
}
while ( --cb && *(char *)pv1 == *(char *)pv2 ) {
pv1 = (char *)pv1 + 1;
pv2 = (char *)pv2 + 1;
}
return *((unsigned char *)pv1) - *((unsigned char *)pv2);
}
static inline void *
__memcpy(void * pvDst const void * pvSrc size_t cb) {
void * pvRet = pvDst;
//
// copy from lower addresses to higher addresses
//
while (cb--) {
*(char *)pvDst = *(char *)pvSrc;
pvDst = (char *)pvDst + 1;
pvSrc = (char *)pvSrc + 1;
}
return pvRet;
}
// utility function for calculating the index of the current import
// for all the tables (INT BIAT UIAT and IAT).
inline unsigned
IndexFromPImgThunkData(PCImgThunkData pitdCur PCImgThunkData pitdbase) {
return (unsigned) (pitdCur - pitdbase);
}
// C++ template utility function for converting RVAs to pointers
//
#if defined(_M_IA64)
#pragma section(“.base“ long read)
extern “C“
__declspec(allocate(“.base“))
const IMAGE_DOS_HEADER __Imagebase;
#else
extern “C“
const IMAGE_DOS_HEADER __Imagebase;
#endif
template
X PFromRva(RVA rva) {
return X(PBYTE(&__Imagebase) + rva);
}
// utility function for calculating the count of imports given the base
// of the IAT. NB: this only works on a valid IAT!
inline unsigned
CountOfImports(PCImgThunkData pitdbase) {
unsigned cRet = 0;
PCImgThunkData pitd = pitdbase;
while (pitd->u1.Function) {
pitd++;
cRet++;
}
return cRet;
}
// For our own internal use we convert to the old
// format for convenience.
//
struct InternalImgDelayDescr {
DWORD grAttrs; // attributes
LPCSTR szName; // pointer to dll name
HMODULE * phmod; // address of module handle
PI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 755 2017-12-07 04:10 zmouse.h
文件 19798 2017-12-07 04:09 _mingw.h
文件 2418 2017-12-07 04:10 _winsock.h
文件 12026 2017-12-07 04:10 accctrl.h
文件 6913 2017-12-07 04:10 aclapi.h
文件 3499 2017-12-07 04:10 aclui.h
文件 1656 2017-12-07 04:10 adsprop.h
文件 324 2017-12-07 04:10 afxres.h
文件 485495 2016-06-01 13:06 agents.h
文件 10970 2016-06-01 13:07 agile.h
文件 123902 2016-06-01 13:06 algorithm
文件 20742 2016-06-01 13:06 allocators
文件 952 2017-12-07 04:10 amaudio.h
文件 13713 2016-06-01 13:06 ammintrin.h
文件 307400 2016-06-01 13:06 amp.h
文件 233750 2016-06-01 13:06 amp_graphics.h
文件 110341 2016-06-01 13:06 amp_math.h
文件 879429 2016-06-01 13:06 amp_short_vectors.h
文件 158787 2016-06-01 13:06 amprt.h
文件 6001 2016-06-01 13:06 amprt_exceptions.h
文件 6150 2017-12-07 04:10 amvideo.h
文件 567680 2016-06-01 13:06 arm_neon.h
文件 30748 2016-06-01 13:06 armintr.h
文件 13571 2016-06-01 13:06 array
文件 1102 2017-12-07 04:09 assert.h
文件 33523 2016-06-01 13:06 atomic
文件 601 2017-12-07 04:10 audevcod.h
文件 2384 2014-04-30 20:33 autosprintf.h
文件 1695 2017-12-07 04:10 aviriff.h
文件 1339 2017-12-07 04:10 aygshell.h
............此处省略443个文件信息
- 上一篇:Spy for Window64位
- 下一篇:CMFCOutlookBar
评论
共有 条评论