Share via


IAMBufferNegotiation::SuggestAllocatorProperties

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This method informs the pin of the application's preferred allocator properties. Call this method before the pin connects.

Syntax

HRESULT SuggestAllocatorProperties(
  const ALLOCATOR_PROPERTIES* pprop
);

Parameters

  • pprop
    [in] Pointer to an ALLOCATOR_PROPERTIES structure that contains the requested properties. A negative value for any member indicates that the pin should use its default setting for that property.

Return Value

Returns an HRESULT value. The following table shows some of the possible return values.

Value Description

S_OK

Success.

E_FAIL

Failure.

E_POINTER

NULL pointer argument.

VFW_E_ALREADY_CONNECTED

Pin is already connected.

Remarks

If both pins in the connection expose the IAMBufferNegotiation interface, call this method on each pin, to ensure that one pin does not override the other.

To request a particular number of buffers, set the cBuffers member of the ALLOCATOR_PROPERTIES structure. To request a particular buffer size, set the cbBuffer member. An application typically should not specify the alignment or prefix. If the number of buffers or size of each buffer is too small, the filter graph might drop samples.

The following code example shows how to call this method.

ALLOCATOR_PROPERTIES AllocProp;
AllocProp.cbAlign  = -1;  // -1 means no preference.
AllocProp.cbBuffer = dwBytesPerSec *  dwLatencyInMilliseconds / 1000;
AllocProp.cbPrefix = -1;
AllocProp.cBuffers = -1;
pIAMBufferNegotiation->SuggestAllocatorProperties(&AllocProp);

Requirements

Windows Embedded CE Windows Embedded CE 6.0 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment

See Also

Reference

IAMBufferNegotiation Interface
ALLOCATOR_PROPERTIES