zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    android 启动报错
    android 百度地图
    android LayoutInflater使用
    spring mvc No mapping found for HTTP request with URI [/web/test.do] in DispatcherServlet with name 'spring'
    sql mysql和sqlserver存在就更新,不存在就插入的写法(转)
    jsp include
    json 解析
    css
    Scrapy组件之item
    Scrapy库安装和项目创建
  • 原文地址:https://www.cnblogs.com/endenvor/p/11510816.html
Copyright © 2011-2022 走看看