示例#1
0
 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;
 }