entry = HandleProvider->HandleHashSet[i]; while (entry) { handleItem = CONTAINING_RECORD(entry, PH_HANDLE_ITEM, HashEntry); entry = entry->Next; PhDereferenceObject(handleItem); } } PhReleaseQueuedLockExclusive(&HandleProvider->HandleHashSetLock); } VOID PhpAddHandleItem( _In_ PPH_HANDLE_PROVIDER HandleProvider, _In_ _Assume_refs_(1) PPH_HANDLE_ITEM HandleItem ) { if (HandleProvider->HandleHashSetSize < HandleProvider->HandleHashSetCount + 1) { PhResizeHashSet( &HandleProvider->HandleHashSet, &HandleProvider->HandleHashSetSize, HandleProvider->HandleHashSetSize * 2 ); } PhAddEntryHashSet( HandleProvider->HandleHashSet, HandleProvider->HandleHashSetSize, &HandleItem->HashEntry,
PhAdjustRectangleToWorkingArea(NULL, &windowRectangle); MoveWindow(hwnd, windowRectangle.Left, windowRectangle.Top, windowRectangle.Width, windowRectangle.Height, FALSE); // Implement cascading by saving an offsetted rectangle. windowRectangle.Left += 20; windowRectangle.Top += 20; PhSetIntegerPairSetting(L"ProcPropPosition", windowRectangle.Position); } BOOLEAN PhAddProcessPropPage( _Inout_ PPH_PROCESS_PROPCONTEXT PropContext, _In_ _Assume_refs_(1) PPH_PROCESS_PROPPAGECONTEXT PropPageContext ) { HPROPSHEETPAGE propSheetPageHandle; if (PropContext->PropSheetHeader.nPages == PH_PROCESS_PROPCONTEXT_MAXPAGES) return FALSE; propSheetPageHandle = CreatePropertySheetPage( &PropPageContext->PropSheetPage ); // CreatePropertySheetPage would have sent PSPCB_ADDREF, // which would have added a reference. PhDereferenceObject(PropPageContext); PhSetReference(&PropPageContext->PropContext, PropContext);