Partager via


COutputQueue

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Constructs a COutputQueue object.

Syntax

COutputQueue(
  IPin* pInputPin,
  HRESULT* phr,
  BOOL bAuto = TRUE,
  BOOL bQueue = TRUE,
  LONG lBatchSize,
  BOOL bBatchExact,
  LONG lListSize,
  DWORD dwPriority 
);

Parameters

  • pInputPin
    Connected pin to which to send data.
  • phr
    HRESULT return code.
  • bAuto
    If TRUE, the queuing mode is determined by asking the connected input pin if the pin can block (by calling IMemInputPin::ReceiveCanBlock). If FALSE, queued or direct mode is set by the bQueue parameter.
  • bQueue
    Determines if samples are queued for delivery by a worker thread or are being sent directly. Ignored if bAuto is TRUE.
  • lBatchSize
    Size of the batch (1 for no batching).
  • bBatchExact
    Batch exactly to lBatchSize (but use SendAnyway to override batching).
  • lListSize
    Likely number in the list.
  • dwPriority
    Priority given to the created thread.

Return Value

None.

Remarks

The phr parameter should be updated only to report errors.

Usually bAuto will be TRUE.

In that case, the constructor calls IMemInputPin::ReceiveCanBlock on the downstream pin to determine whether to create a thread, and so to send samples asynchronously.

If bAuto is FALSE, a thread is created if, and only if, bQueue is TRUE.

If the batch size is not 1, data is not sent until lBatchSize samples have been received by the object.

The exceptions are that, if fewer than lBatchSize samples are passed to COutputQueue::Receive or COutputQueue::ReceiveMultiple in this object and bBatchExact is FALSE, the samples will be sent anyway.

If bBatchExact is TRUE, the COutputQueue::SendAnyway member function will cause the samples to be sent to the thread (if the thread is created).

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile 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, Version 2.12 requires DXPAK 1.0 or later