Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
[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 GetSurface method gets a Direct3D surface from the allocator-presenter.
Syntax
HRESULT GetSurface(
  [in]  DWORD_PTR         dwUserID,
  [in]  DWORD             SurfaceIndex,
  [in]  DWORD             SurfaceFlags,
  [out] IDirect3DSurface9 **lplpSurface
);
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
Specifies the index of the surface to retrieve.
[in] SurfaceFlags
Reserved.
[out] lplpSurface
Receives a pointer to the IDirect3DSurface9 interface. The caller must release the interface.
Return value
The method returns an HRESULT. Possible values include those in the following table.
| Return code | Description | 
|---|---|
  | 
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
IVMRSurfaceAllocator9 Interface