Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Metody w interfejsach audio są zgodne z ogólnym zestawem reguł liczenia odwołań do obiektów COM, które przyjmują jako parametry wejściowe lub zwracają jako parametry wyjściowe. Te reguły i ich wyjątki zostały podsumowane poniżej. Aby uzyskać więcej informacji na temat interfejsów COM, zobacz sekcję COM w dokumentacji zestawu Microsoft Windows SDK.
zliczanie referencji na parametrach wejściowych
Podczas wywoływania metody, która przyjmuje odwołanie do obiektu X jako parametr wejściowy, obiekt wywołujący musi przechowywać własne odwołanie do obiektu przez czas trwania wywołania. To zachowanie jest konieczne, aby zapewnić, że wskaźnik metody do obiektu X pozostaje prawidłowy, aż do momentu zakończenia działania metody. Jeśli obiekt Y, który implementuje tę metodę, musi przechowywać odwołanie do obiektu X po zakończeniu działania tej metody, powinien wywołać metodę AddRef na obiekcie X przed zwróceniem. Gdy obiekt Y później zakończy używanie obiektu X, powinien wywołać Release na obiekcie X.
Na przykład metoda IServiceGroup::AddMember wywołuje metodę AddRef na obiekcie IServiceSink, który dodaje do swojej grupy usług. Aby uzupełnić to zachowanie, metoda IServiceGroup::RemoveMember wywołuje metodę Release na obiekcie IServiceSink, który jest usuwany z grupy usług.
Zliczanie referencji dla parametrów wyjściowych
Metoda przekazująca odwołanie do obiektu wywołującego za pośrednictwem parametru wyjściowego powinna wywołać AddRef na obiekcie przed jego zwróceniem (lub przed wydaniem własnego odwołania do obiektu). To zachowanie jest niezbędne, aby upewnić się, że dzwoniący przechowuje prawidłowe odwołanie po zakończeniu wywołania. Obiekt wywołujący jest odpowiedzialny za wywoływanie Release na danym obiekcie, gdy zakończy korzystanie z niego.
Na przykład metoda IMiniportWaveCyclic::NewStream wywołuje AddRef na strumieniu, grupie usługowej i obiektach kanału DMA, które zwraca do wywołującego (sterownik portu WaveCyclic). Obiekt wywołujący jest odpowiedzialny za wydanie tych odwołań, gdy nie będzie już ich potrzebował. Aby zapoznać się z implementacją metody IMiniportWaveCyclic::NewStream, która pokazuje to zachowanie, zobacz przykładowy adapter Sb16 w wcześniejszych wersjach zestawu Microsoft Windows Driver Kit (WDK).
wyjątki od reguł
Aby uzyskać opis niekonwencjonalnego zliczania odwołań, które ta metoda wykonuje na parametrze wyjściowym DmaChannel, zobacz IMiniportWavePci::NewStream.