Dela via


DataProviderRequest.GetDeferral Method

Definition

Returns a DataProviderDeferral object.

public:
 virtual DataProviderDeferral ^ GetDeferral() = GetDeferral;
DataProviderDeferral GetDeferral();
public DataProviderDeferral GetDeferral();
function getDeferral()
Public Function GetDeferral () As DataProviderDeferral

Returns

An data provider deferral object.

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();
    }
}

Remarks

To learn more, check out How to produce requested data asynchronously.

Applies to