IVsAsyncEnumCallback.OnDataAvailable Method
Event fired when data is available without blocking.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)
Syntax
'Declaration
Function OnDataAvailable ( _
cElementsAvailable As UInteger, _
fIsComplete As Integer, _
ulProgressCurrent As UInteger, _
ulProgressMax As UInteger _
) As Integer
int OnDataAvailable(
uint cElementsAvailable,
int fIsComplete,
uint ulProgressCurrent,
uint ulProgressMax
)
int OnDataAvailable(
[InAttribute] unsigned int cElementsAvailable,
[InAttribute] int fIsComplete,
[InAttribute] unsigned int ulProgressCurrent,
[InAttribute] unsigned int ulProgressMax
)
abstract OnDataAvailable :
cElementsAvailable:uint32 *
fIsComplete:int *
ulProgressCurrent:uint32 *
ulProgressMax:uint32 -> int
function OnDataAvailable(
cElementsAvailable : uint,
fIsComplete : int,
ulProgressCurrent : uint,
ulProgressMax : uint
) : int
Parameters
cElementsAvailable
Type: UInt32[in] Number of elements available to the consumer.
fIsComplete
Type: Int32[in] A Boolean parameter indicating completion (true) of the event.
ulProgressCurrent
Type: UInt32[in] Progress counter of elements served.
ulProgressMax
Type: UInt32[in] Maximum number of elements available.
Return Value
Type: Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
The enumerator's behavior remains inherently synchronous, but as data is available without blocking OnDataAvailable() events are fired.
cElementsAvailable is always a delta. Pure progress information may be conveyed by the enumerator by passing 0 for cElementsAvailable and revised values for ulProgressCurrent and ulProgressMax.
COM Signature
From vsshell.idl:
HRESULT IVsAsyncEnumCallback::OnDataAvailable(
[in] ULONG cElementsAvailable,
[in] BOOL fIsComplete,
[in] ULONG ulProgressCurrent,
[in] ULONG ulProgressMax
);
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.