QList<InputPin> BackendNode::pins(const Filter &filter, PIN_DIRECTION wantedDirection) { QList<InputPin> ret; if (filter) { ComPointer<IEnumPins> enumPin; HRESULT hr = filter->EnumPins(enumPin.pparam()); Q_UNUSED(hr); Q_ASSERT( SUCCEEDED(hr)); InputPin pin; while (enumPin->Next(1, pin.pparam(), 0) == S_OK) { PIN_DIRECTION dir; hr = pin->QueryDirection(&dir); Q_ASSERT( SUCCEEDED(hr)); if (dir == wantedDirection) { ret.append(pin); } } } return ret; }