Microsoft Windows CE 3.0  

COutputQueue::COutputQueue

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Constructs a COutputQueueobject.

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
HRESULTreturn 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 bQueueparameter.
bQueue
Determines if samples are queued for delivery by a worker thread or are being sent directly. Ignored if bAutois TRUE.
lBatchSize
Size of the batch (1 for no batching).
bBatchExact
Batch exactly to lBatchSize(but use SendAnywayto override batching).
lListSize
Likely number in the list.
dwPriority
Priority given to the created thread.

Return Values

No return value.

Remarks

The phrparameter should be updated only to report errors. Usually bAutowill be TRUE. In that case, the constructor calls IMemInputPin::ReceiveCanBlockon the downstream pin to determine whether to create a thread, and so to send samples asynchronously. If bAutois FALSE, a thread is created if, and only if, bQueueis TRUE.

If the batch size is not 1, data is not sent until lBatchSizesamples have been received by the object. The exceptions are that, if fewer than lBatchSizesamples are passed to COutputQueue::Receiveor COutputQueue::ReceiveMultiplein this object and bBatchExactis FALSE, the samples will be sent anyway.

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