microsoft / microsoft/Windows-classic-samples

CloudMirror doesn't provide an example of IStorageProviderCopyHook implementation

Open
#290 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
5.7k
Forks
3.3k
PR merge metrics
No merged PRs in 30d

Description

The documentation for CloudMirror was updated to reflect the support of IStorageProviderCopyHook interface by cloud files API. The interface is not documented.
I tried to implement it without success. Only the constructor and destructor of the custom implementation are getting called, but not the CopyCallback method. Example code:

#include "stdafx.h"
#include "StorageProviderCopyHook.h"

StorageProviderCopyHook::StorageProviderCopyHook()
{
    wprintf(L"StorageProviderCopyHook constructor called\n");
}

StorageProviderCopyHook::~StorageProviderCopyHook()
{
    wprintf(L"StorageProviderCopyHook destructor called\n");
}

IFACEMETHODIMP StorageProviderCopyHook::CopyCallback(_In_ HWND hwnd, _In_ UINT operation, _In_ UINT flags, _In_ LPCWSTR srcFile, _In_ DWORD srcAttribs, _In_ LPCWSTR destFile, _In_ DWORD destAttribs, _Out_ UINT* result)
{
    wprintf(L"StorageProviderCopyHook CopyCallback called\n");
    return E_NOTIMPL;
}

Produces next output on file renaming:

StorageProviderCopyHook constructor called
StorageProviderCopyHook destructor called
Thumbnail requested for....

So, CopyCallback never gets called. Please, provide an example of working IStorageProviderCopyHook implementation in the CloudMirror sample.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the CloudMirror sample and its StorageProviderCopyHook.h implementation, then trace how the IStorageProviderCopyHook object is registered and invoked. Use the reported rename scenario to verify that CopyCallback is reached and that the sample contains a working implementation example.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.