MFTRegisterLocalByCLSID function (mfapi.h)

Registers a Media Foundation transform (MFT) in the caller's process.

Syntax

HRESULT MFTRegisterLocalByCLSID(
  [in] REFCLSID                     clisdMFT,
  [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
);

Parameters

[in] clisdMFT

The class identifier (CLSID) of the MFT.

[in] guidCategory

A GUID that specifies the category of the MFT. For a list of MFT categories, see MFT_CATEGORY.

[in] pszName

A wide-character null-terminated string that contains the friendly name of the MFT.

[in] Flags

A bitwise OR of zero or more flags from the _MFT_ENUM_FLAG enumeration.

[in] cInputTypes

The number of elements in the pInputTypes array.

[in] pInputTypes

A pointer to an array of MFT_REGISTER_TYPE_INFO structures. Each member of the array specifies an input format that the MFT supports. This parameter can be NULL if cInputTypes is zero.

[in] cOutputTypes

The number of elements in the pOutputTypes array.

[in] pOutputTypes

A pointer to an array of MFT_REGISTER_TYPE_INFO structures. Each member of the array defines an output format that the MFT supports. This parameter can be NULL if cOutputTypes is zero.

Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

The primary purpose of this function is to make an MFT available for automatic topology resolution without making the MFT available to other processes or applications.

After you call this function, the MFT can be enumerated by calling the MFTEnumEx function with the MFT_ENUM_FLAG_LOCALMFT flag. The MFT can be enumerated from within the same process, but is not visible to other processes.

To unregister the MFT from the current process, call MFTUnregisterLocalByCLSID.

If you need to register an MFT in the Protected Media Path (PMP) process, use the IMFLocalMFTRegistration interface.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

See also

MFTRegisterLocal

Media Foundation Functions