共用方式為


IVMRSurfaceAllocatorNotify9::AdviseSurfaceAllocator method (vmr9.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The AdviseSurfaceAllocator method is called by an application to instruct the VMR-9 to use a custom allocator-presenter.

Syntax

HRESULT AdviseSurfaceAllocator(
  [in] DWORD_PTR             dwUserID,
  [in] IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator
);

Parameters

[in] dwUserID

Application-defined value that identifies this instance of the VMR-9.

[in] lpIVRMSurfaceAllocator

Pointer to the IVMRSurfaceAllocator9 interface on the custom surface allocator object.

Return value

The method returns an HRESULT. Possible values include those in the following table.

Return code Description
S_OK
The method succeeded.

Remarks

This method can be called only once in the lifetime of the VMR. The VMR continues to use the allocator-presenter until the VMR is itself deleted. When the VMR is finally released, it releases its reference count on the custom allocator-presenter object, which allows that object to be freed.

The custom allocator-presenter must also support the IVMRImagePresenter9 interface.

Include DShow.h and D3d9.h before Vmr9.h.

Requirements

Requirement Value
Minimum supported client Windows XP with SP2 [desktop apps only]
Minimum supported server Windows Server 2003 R2 [desktop apps only]
Target Platform Windows
Header vmr9.h
Library Strmiids.lib

See also

IVMRSurfaceAllocatorNotify9 Interface

Using the Video Mixing Renderer