DataProviderRequest DataProviderRequest DataProviderRequest DataProviderRequest DataProviderRequest Class

Definition

An object of this type is passed to the DataProviderHandler delegate.

public : sealed class DataProviderRequest : IDataProviderRequest
struct winrt::Windows::ApplicationModel::DataTransfer::DataProviderRequest : IDataProviderRequest
public sealed class DataProviderRequest : IDataProviderRequest
Public NotInheritable Class DataProviderRequest Implements IDataProviderRequest
// This class does not provide a public constructor.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Examples

async void OnDeferredImageRequestedHandler(DataProviderRequest request)
{
    // Provide updated bitmap data using delayed rendering.
    if (this.imageStream != null)
    {
        DataProviderDeferral deferral = request.GetDeferral();
        InMemoryRandomAccessStream inMemoryStream = new InMemoryRandomAccessStream();

        // Decode the image.
        BitmapDecoder imageDecoder = await BitmapDecoder.CreateAsync(this.imageStream);

        // Re-encode the image at 50% width and height.
        BitmapEncoder imageEncoder = await BitmapEncoder.CreateForTranscodingAsync(inMemoryStream, imageDecoder);
        imageEncoder.BitmapTransform.ScaledWidth = (uint)(imageDecoder.OrientedPixelHeight * 0.5);
        imageEncoder.BitmapTransform.ScaledHeight = (uint)(imageDecoder.OrientedPixelHeight * 0.5);
        await imageEncoder.FlushAsync();

        request.SetData(RandomAccessStreamReference.CreateFromStream(inMemoryStream));
        deferral.Complete();
    }
}
function onDeferredImageRequested(request) {
    try {
        if (imageFile) {
            // This is to make sure deferral works even in synchronous case
            var deferral = request.getDeferral();
            var imageStreamRef = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(imageFile);
            request.setData(imageStreamRef);
            deferral.complete();
        }
    } catch (exc) {
        // Error handling goes here.
    }
}

Remarks

Use this object when you need to delay, or defer, a share for a few milliseconds. To learn more, check out How to delay sharing.

Properties

Deadline Deadline Deadline Deadline Deadline

Gets the deadline for finishing a delayed rendering operation. If execution goes beyond that deadline, the results of delayed rendering are ignored.

FormatId FormatId FormatId FormatId FormatId

Specifies the format id.

Methods

GetDeferral() GetDeferral() GetDeferral() GetDeferral() GetDeferral()

Returns a DataProviderDeferral object.

SetData(Object) SetData(Object) SetData(Object) SetData(Object) SetData(Object)

Sets the content of the DataPackage to be shared with a target app.