• windows内核下内存申请,链表使用函数



    ExAllocatePool(pageType, nAllocSize);

    ExFreePool(address);

    ExAllocatePoolWithTag(pageType, nAllocSize, tag);

    ExFreePoolWithTag(address, tag);

    NPAGED_LOOKASIDE_LIST lookaside;

    ExInitializeNPagedLookasideList(&lookaside, NULL, NULL, 0, nAllocSize, tag, 0);

    ExAllocateFromNPagedLookasideList(&lookaside);

    ExFreeToNPagedLookasideList(&lookaside, address);

    ExDeleteNPagedLookasideList(&lookaside);

    LIST_ENTRY listEntry;

    InitializeListHead(&listEntry);

    IsListEmpty(&listEntry);

    InsertTailList(&listEntry, &newEntry);

    InsertHeadList(&listEntry, &newEntry);

    /*
    Calling RemoveHeadList Or RemoveTailList with an empty list can cause a system failure. Callers of
    RemoveHeadList or RemoveTailList should first call IsListEmpty to determine if the list has any entries.
    */
    RemoveTailList(&listEntry);

    RemoveHeadList(&listEntry);

    RemoveEntryList(&entryItem);


    SPIN_LOCK spinLock;

    KeInitializeSpinLock(&spinLock);

    ExInterLockedInsertHeadList(&listEntry, &newEntry, &spinLock);

    ExInterLockedInsertTailList(&listEntry, &newEntry, &spinLock);

    /*
    If the list is empty, a NULL pointer is returned. Otherwise, a pointer to the dequeued entry is returned.
    */
    ExInterLockedRemoveHeadList(&listEntry, &spinLock);


    SLIST_EHADER sListHead;
    ExInitializeSListHead(&sListHead);
    ExInterLockedPushEntrySList(&sListHead, sListEntry, lock);

    /*
    ExInterlockedPopEntrySList returns a pointer to the first entry in the list. If the list was empty,
    it returns NULL.
    */
    ExInterLockedPopEntrySList(&sListHead, lock)


    /*
    ExQueryDepthSList returns the current number of entries in the S-List.
    */
    ExQueryDepthSList(&sListHead);

  • 相关阅读:
    js获取窗口大小
    ARCGIS接口详细说明
    输入框特效
    GeoServer源码解析和扩展 (二)注册服务
    GeoServer源码解析和扩展 (一)基础篇
    window.open参数大全
    Flex控件
    GeoServer源码解析和扩展 (三)结构篇
    js常用的几个正则表达式
    表单的diabled属性与readonly属性
  • 原文地址:https://www.cnblogs.com/endenvor/p/11510816.html
Copyright © 2020-2023  润新知