Metodo IMFTrackedSample::SetAllocator (mfidl.h)

Imposta il proprietario per l'esempio.

Sintassi

HRESULT SetAllocator(
  [in] IMFAsyncCallback *pSampleAllocator,
  [in] IUnknown         *pUnkState
);

Parametri

[in] pSampleAllocator

Puntatore all'interfaccia IMFAsyncCallback di un oggetto callback. Il chiamante deve implementare questa interfaccia.

[in] pUnkState

Puntatore all'interfaccia IUnknown di un oggetto stato, definito dal chiamante. Questo parametro può essere NULL. È possibile usare questo oggetto per contenere informazioni sullo stato. L'oggetto viene restituito al chiamante quando viene richiamato il callback.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
MF_E_NOTACCEPTING
Il proprietario è già stato impostato. Questo metodo non può essere chiamato due volte nell'esempio.

Commenti

Quando questo metodo viene chiamato, l'esempio contiene un conteggio di riferimento aggiuntivo su se stesso. Quando ogni altro oggetto rilascia il conteggio dei riferimenti nell'esempio, l'esempio richiama il metodo di callback pSampleAllocator . Per ottenere un puntatore all'esempio, chiamare FMAsyncResult::GetObject nell'oggetto risultato asincrono assegnato al metodo FMAsyncCallback::Invoke del callback .

Dopo aver richiamato il callback, l'esempio cancella il callback. Per ripristinare il callback, è necessario chiamare di nuovo SetAllocator .

È sicuro passare il puntatore dell'interfaccia FMSample dell'esempio come oggetto stato (pUnkState) per il callback. Se pUnkState punta all'esempio, il metodo SetAllocator account il conteggio di riferimenti aggiuntivo su pUnkState.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Strmiids.lib

Vedi anche

FMTrackedSample