• 大小: 1.66MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-20
  • 语言: C/C++
  • 标签:

资源简介

收集整理得到的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个文件信息

评论

共有 条评论

相关资源