IDataObjectAsyncCapability interface

Enables interfaces that are usually synchronous to function asynchronously.

Note  This interface is the current, renamed version of IAsyncOperation.


The IDataObjectAsyncCapability interface has these methods.

Method Description
IDataObjectAsyncCapability::EndOperation Notifies the data object that the asynchronous data extraction has ended.
IDataObjectAsyncCapability::GetAsyncMode Called by a drop target to determine whether the data object supports asynchronous data extraction.
IDataObjectAsyncCapability::InOperation Called by the drop source to determine whether the target is extracting data asynchronously.
IDataObjectAsyncCapability::SetAsyncMode Called by a drop source to specify whether the data object supports asynchronous data extraction.
IDataObjectAsyncCapability::StartOperation Called by a drop target to indicate that asynchronous data extraction is starting.


IDataObjectAsyncCapability is an optional interface that is implemented by a data object. It allows the drop target to negotiate with the drop source to extract data from the data object asynchronously.

This interface is primarily exported by the data objects used with drag-and-drop and Clipboard operations. Typically, such operations are synchronous. However, if data rendering will be time-consuming, IDataObjectAsyncCapability can be used to allow data extraction to take place on a background thread. See the Dragging and Dropping Shell Objects Asynchronously section of Handling Shell Data Transfer Scenarios for a detailed discussion of how to use this interface.

Drop sources and targets use this interface when they wish to have a lengthy data extraction process handled by a background thread.


Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Target Platform Windows
Header shldisp.h