共用方式為


IVMRSurfaceAllocatorEx9::GetSurfaceEx 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 GetSurfaceEx method retrieves a Direct3D surface and a destination rectangle.

Syntax

HRESULT GetSurfaceEx(
  [in]  DWORD_PTR         dwUserID,
  [in]  DWORD             SurfaceIndex,
  [in]  DWORD             SurfaceFlags,
  [out] IDirect3DSurface9 **lplpSurface,
  [out] RECT              *lprcDst
);

Parameters

[in] dwUserID

Application-defined identifier. This value is the same value that the application passed to the IVMRSurfaceAllocatorNotify9::AdviseSurfaceAllocator method in the dwUserID parameter..

[in] SurfaceIndex

Index of the surface to retrieve.

[in] SurfaceFlags

Surface flags.

[out] lplpSurface

Receives a pointer to the IDirect3DSurface9 interface. The caller must release the interface.

[out] lprcDst

Location within the surface where the VMR-9 should write the composited image.

Return value

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

Return code Description
S_OK
The method succeeded.

Remarks

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

IVMRSurfaceAllocatorEx9 Interface

Using the Video Mixing Renderer