Condividi tramite


Funzione MFTRegister (mfapi.h)

Aggiunge informazioni su una trasformazione Media Foundation (MFT) al Registro di sistema.

Le applicazioni possono enumerare MFT chiamando la funzione MFTEnum o MFTEnumEx .

Sintassi

HRESULT MFTRegister(
  [in] CLSID                  clsidMFT,
  [in] GUID                   guidCategory,
  [in] LPWSTR                 pszName,
  [in] UINT32                 Flags,
  [in] UINT32                 cInputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                 cOutputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pOutputTypes,
  [in] IMFAttributes          *pAttributes
);

Parametri

[in] clsidMFT

CLSID del MFT. Il MFT deve anche essere registrato come oggetto COM utilizzando lo stesso CLSID.

[in] guidCategory

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

[in] pszName

Stringa di caratteri wide che contiene il nome descrittivo di MFT.

[in] Flags

OR bit per bit pari a zero o più dei flag seguenti dell'enumerazione _MFT_ENUM_FLAG:

Valore Significato
MFT_ENUM_FLAG_ASYNCMFT
MFT esegue l'elaborazione asincrona nel software. Vedere MFT asincroni. Questo flag non si applica alle trasformazioni hardware.

Richiede Windows 7.

MFT_ENUM_FLAG_FIELDOFUSE
L'applicazione deve sbloccare il MFT per usarlo. Vedere IMFFieldOfUseMFTUnlock.

Richiede Windows 7.

MFT_ENUM_FLAG_HARDWARE
MFT esegue l'elaborazione dati basata su hardware, usando il driver AVStream o un proxy basato su GPU MFT. Le MFP in questa categoria elaborano sempre i dati in modo asincrono. Vedere Mft hardware.
Nota Questo flag si applica ai codec video e ai processori video che eseguono interamente il loro lavoro nell'hardware. Non si applica ai decodificatori software che usano l'accelerazione video DirectX per facilitare la decodifica.
 
Richiede Windows 7.
MFT_ENUM_FLAG_SYNCMFT
MFT esegue l'elaborazione sincrona nel software. Questo flag non si applica alle trasformazioni hardware.
MFT_ENUM_FLAG_TRANSCODE_ONLY
MFT è ottimizzato per la transcodifica e non deve essere usato per la riproduzione.

Richiede Windows 7.

 

L'impostazione di Flag su zero equivale all'impostazione del flag MFT_ENUM_FLAG_SYNCMFT . Il modello di elaborazione predefinito per le MFP è l'elaborazione sincrona.

Prima di Windows 7, il parametro Flags era riservato.

[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.

Questo parametro può essere NULL. Tuttavia, se il parametro è NULL, MFT verrà enumerato solo quando un'applicazione specifica NULL per il tipo di input desiderato.

[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. Tuttavia, se il parametro è NULL, MFT verrà enumerato solo quando un'applicazione specifica NULL per il tipo di output desiderato.

[in] pAttributes

Puntatore all'interfaccia IMFAttributes di un archivio attributi che contiene informazioni aggiuntive sul Registro di sistema. Questo parametro può essere NULL. Se il parametro è diverso da NULL, gli attributi vengono scritti nel Registro di sistema come matrice di byte. È possibile usare la funzione MFTGetInfo per recuperare gli attributi.

Per questo parametro viene definito l'attributo seguente:

Valore Significato
MFT_CODEC_MERIT_Attribute
Contiene il valore di merito di un codec hardware. Vedere Codec Merit.

Valore restituito

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

Commenti

Le voci del Registro di sistema create da questa funzione vengono lette dalle funzioni seguenti:

Funzione Descrizione
MFTEnum Enumera le MFC in base al tipo di supporto e alla categoria.
MFTEnumEx Versione estesa di MFTEnum.
MFTGetInfo Cerca un MFT da CLSID e recupera le informazioni del Registro di sistema.
 

Questa funzione non registra il CLSID di MFT per le funzioni CoCreateInstance o CoGetClassObject .

Per rimuovere le voci dal Registro di sistema, chiamare MFTUnregister. Se si rimuove un MFT dal sistema, è sempre necessario chiamare MFTUnregister.

I formati specificati nei parametri pInputTypes e pOutputTypes sono progettati per aiutare le applicazioni a cercare le MFP in base al formato. Le applicazioni possono usare le funzioni MFTEnum o MFTEnumEx per enumerare le MFTEnum che corrispondono a un determinato set di formati.

È consigliabile specificare almeno un tipo di input in pInputTypes e un tipo di output nel parametro pOutputTypes . In caso contrario, l'oggetto MFT potrebbe essere ignorato nell'enumerazione .

In Windows a 64 bit, la versione a 32 bit di questa funzione registra il MFT nel nodo a 32 bit del Registro di sistema. Per altre informazioni, vedere Dati applicazione a 32 bit e a 64 bit nel Registro di sistema.

Requisiti

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

Vedi anche

MFTEnumEx

Funzioni di Media Foundation

Trasformazioni di Media Foundation

_MFT_ENUM_FLAG