IVMRSurfaceAllocator9::InitializeDevice 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 InitializeDevice method is called by the Video Mixing Renderer 9 (VMR-9) when it needs the allocator-presenter to allocate surfaces.
Syntax
HRESULT InitializeDevice(
[in] DWORD_PTR dwUserID,
[in] VMR9AllocationInfo *lpAllocInfo,
[in, out] DWORD *lpNumBuffers
);
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] lpAllocInfo
Pointer to a VMR9AllocationInfo structure that contains a description of the surfaces to create.
[in, out] lpNumBuffers
On input, specifies the number of surfaces to create. When the method returns, this parameter contains the number of buffers that were actually allocated.
Return value
The method returns an HRESULT. Possible values include those in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
Remarks
Implement this method if you are providing a custom allocator-presenter for the VMR-9. You can use the IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper method on the VMR-9 to allocate the surfaces.
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
Supplying a Custom Allocator-Presenter for VMR-7