\r
void WvPdFree(WV_PROTECTION_DOMAIN *pPd)\r
{\r
- WV_MEMORY_REGION *mr;\r
- cl_map_item_t *item;\r
-\r
if (InterlockedDecrement(&pPd->Ref) > 0) {\r
KeWaitForSingleObject(&pPd->Event, Executive, KernelMode, FALSE, NULL);\r
}\r
\r
- //for (item = cl_qmap_head(&pPd->MrMap); item != cl_qmap_end(&pPd->MrMap);\r
- // item = cl_qmap_head(&pPd->MrMap)) {\r
- // mr = CONTAINING_RECORD(item, WV_MEMORY_REGION, Item);\r
- // if (mr->hVerbsMr != NULL) {\r
- // pPd->pVerbs->deregister_mr(mr->hVerbsMr);\r
- // }\r
-\r
- // cl_qmap_remove_item(&pPd->MrMap, &mr->Item);\r
- // ExFreePoolWithTag(mr, 'rmvw');\r
- //}\r
-\r
if (pPd->hVerbsPd != NULL) {\r
pPd->pVerbs->deallocate_pd(pPd->hVerbsPd);\r
}\r