IMFTrackedSample::SetAllocator-Methode (mfidl.h)
Legt den Besitzer für das Beispiel fest.
HRESULT SetAllocator(
[in] IMFAsyncCallback *pSampleAllocator,
[in] IUnknown *pUnkState
);
[in] pSampleAllocator
Zeiger auf die IMFAsyncCallback-Schnittstelle eines Rückrufobjekts. Der Aufrufer muss diese Schnittstelle implementieren.
[in] pUnkState
Zeiger auf die IUnknown-Schnittstelle eines Zustandsobjekts, das vom Aufrufer definiert wird. Dieser Parameter kann NULL sein. Sie können dieses Objekt verwenden, um Zustandsinformationen zu enthalten. Das -Objekt wird an den Aufrufer zurückgegeben, wenn der Rückruf aufgerufen wird.
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der Besitzer wurde bereits festgelegt. Diese Methode kann im Beispiel nicht zweimal aufgerufen werden. |
Wenn diese Methode aufgerufen wird, enthält das Beispiel eine zusätzliche Verweisanzahl für sich selbst. Wenn jedes andere Objekt seine Verweisanzahl für das Beispiel freigibt, ruft das Beispiel die pSampleAllocator-Rückrufmethode auf. Um einen Zeiger auf das Beispiel abzurufen, rufen Sie IMFAsyncResult::GetObject für das asynchrone Ergebnisobjekt auf, das der IMFAsyncCallback::Invoke-Methode des Rückrufs zugewiesen ist.
Nachdem der Rückruf aufgerufen wurde, löscht das Beispiel den Rückruf. Um den Rückruf wiederherzustellen, müssen Sie SetAllocator erneut aufrufen.
Es ist sicher, den IMFSample-Schnittstellenzeiger des Beispiels als Zustandsobjekt (pUnkState) für den Rückruf zu übergeben. Wenn pUnkState auf das Beispiel zeigt, berücksichtigt die SetAllocator-Methode die zusätzliche Verweisanzahl für pUnkState.
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mfidl.h |
Bibliothek | Strmiids.lib |