Funzione MFTRegisterLocal (mfapi.h)

Registra una trasformazione di Media Foundation (MFT) nel processo del chiamante.

Sintassi

HRESULT MFTRegisterLocal(
  [in] IClassFactory                *pClassFactory,
  [in] REFGUID                      guidCategory,
  [in] LPCWSTR                      pszName,
  [in] UINT32                       Flags,
  [in] UINT32                       cInputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                       cOutputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pOutputTypes
);

Parametri

[in] pClassFactory

Puntatore all'interfaccia IClassFactory di un oggetto class factory. La classe factory crea il MFT.

[in] guidCategory

GUID che specifica la categoria di MFT. Per un elenco di categorie MFT, vedere MFT_CATEGORY.

[in] pszName

Stringa con terminazione null a caratteri wide contenente il nome descrittivo di MFT.

[in] Flags

Or bit per bit di zero o più flag dall'enumerazione _MFT_ENUM_FLAG.

[in] cInputTypes

Numero di elementi nella matrice pInputTypes .

[in] pInputTypes

Puntatore a una matrice di strutture MFT_REGISTER_TYPE_INFO . Ogni membro della matrice specifica un formato di input supportato da MFT. Questo parametro può essere NULL se cInputTypes è zero.

[in] cOutputTypes

Numero di elementi nella matrice pOutputTypes .

[in] pOutputTypes

Puntatore a una matrice di strutture MFT_REGISTER_TYPE_INFO . Ogni membro della matrice definisce un formato di output supportato da MFT. Questo parametro può essere NULL se cOutputTypes è zero.

Valore restituito

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Lo scopo principale di questa funzione è rendere disponibile un MFT per la risoluzione automatica della topologia senza rendere il MFT disponibile per altri processi o applicazioni.

Dopo aver chiamato questa funzione, è possibile enumerare MFT chiamando la funzione MFTEnumEx con il flag di MFT_ENUM_FLAG_LOCALMFT . Il MFT può essere enumerato dall'interno dello stesso processo, ma non è visibile ad altri processi.

Il parametro pClassFactory specifica un oggetto class factory che crea MFT. Il metodo IClassFactory::CreateInstance della classe factory deve restituire un oggetto che supporta l'interfaccia FMTransform .

Nota La funzione MFTEnumEx recupera un elenco di puntatori FMActivate . Tuttavia, la classe factory non deve supportare l'interfaccia FMActivate . La funzione MFTEnumEx fornisce invece un'implementazione di FMActivate che esegue il wrapping della classe factory.
 
Per annullare la registrazione dell'MFT dal processo corrente, chiamare MFTUnregisterLocal.

Se è necessario registrare un MFT nel processo PMP (Protected Media Path), usare l'interfaccia FMLocalMFTRegistration .

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mfapi.h
Libreria Mfplat.lib
DLL Mfplat.dll

Vedi anche

MFTRegisterLocalByCLSID

Funzioni di Media Foundation