IMFRealTimeClientEx::RegisterThreadsEx method (mfidl.h)

Notifies the object to register its worker threads with the Multimedia Class Scheduler Service (MMCSS).


HRESULT RegisterThreadsEx(
  [in, out] DWORD   *pdwTaskIndex,
  [in]      LPCWSTR wszClassName,
  [in]      LONG    lBasePriority


[in, out] pdwTaskIndex

The MMCSS task identifier. If the value is zero on input, the object should create a new MCCSS task group. See Remarks.

[in] wszClassName

The name of the MMCSS task.

[in] lBasePriority

The base priority of the thread.

Return value

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


If the object does not create worker threads, the method should simply return S_OK and take no further action.

Otherwise, if the value of *pdwTaskIndex is zero on input, the object should perform the following steps:

  1. A single worker thread calls AvSetMmThreadCharacteristics to create a new MMCSS task identifier. Store this value.
  2. Any additional worker threads call AvSetMmThreadCharacteristics using the new task identifier.
  3. Return the new task identifier to the caller, by setting *pdwTaskIndex equal to the task identifier.
If the value of *pdwTaskIndex is nonzero on input, the parameter contains an existing MMCSS task identifier. In that case, all worker threads of the object should register themselves for that task by calling AvSetMmThreadCharacteristics.


Minimum supported client Windows 8 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 [desktop apps | UWP apps]
Target Platform Windows
Header mfidl.h

See also


Work Queue and Threading Improvements