共用方式為


集區配置和可用常式

RDBSS 提供一些用於集區配置的常式。 一般而言,這些常式是使用宏呼叫,而不是直接呼叫這些常式。 宏會自動處理零售與已核取組建之間的差異。

在已檢查的組建上,這些常式的設計目的是要新增一般核心配置和可用常式周圍的包裝函式。 這些集區配置和可用常式的包裝函式會提供額外的偵錯資訊,並呼叫一組執行各種檢查和防護的常式,再呼叫核心集區配置和可用常式。 不過,這些功能目前不會在這些配置和免費常式中實作,但未來版本可能會新增。

在免費組建上,這些常式會變成核心配置和免費常式的直接呼叫 ,ExAllocatePoolWithTagExFreePool

下表列出 RDBSS 集區配置和可用常式。

常式傳回的值 描述

_RxAllocatePoolWithTag

此常式會在區塊開頭配置具有四位元組標記的集區記憶體,以協助攔截記憶體問題。

建議呼叫 RxAllocatePoolWithTag 宏,而不是直接使用此常式。

_RxCheckMemoryBlock

此常式會檢查記憶體區塊是否有特殊RX_POOL_HEADER標頭簽章。 請注意,網路迷你重新導向器驅動程式必須將這個特殊簽章區塊新增至配置的記憶體,才能使用常式。

不應該使用此常式,因為尚未實作這個特殊標頭區塊。

_RxFreePool

此常式會釋放記憶體集區。

建議呼叫 RxFreePool 宏,而不是直接使用此常式。

ntrxdef.h標頭檔中定義的一些宏會呼叫這些常式。 通常會使用下列宏,而不是直接呼叫上表所列的常式。

巨集 描述

RxAllocatePoolWithTag (類型大小標記)

在核取的組建上,此宏會從集區配置記憶體,並在區塊開頭有四位元組標記,以協助攔截記憶體回收的實例。

在零售組建上,此宏會成為 ExAllocatePoolWithTag的直接呼叫。

RxCheckMemoryBlock (ptr)

在核取的組建上,此宏會檢查記憶體區塊是否有特殊RX_POOL_HEADER標頭簽章。

在零售組建上,此宏不會執行任何動作。

RxFreePool (ptr)

在核取的組建上,此宏會釋放記憶體集區。

在零售組建上,此宏會成為 ExFreePool的直接呼叫。