I realise this is external, but it's a really small doc issue that I hope can be passed on. Basically, it seems that DataPackageView implements the COM interface IDataObject, but I can't find it documented anywhere. Please document it somewhere and also state the supported Windows version.
Why?
This is the obvious 'read' counterpart of the IDataObjectProvider COM interface implemented by DataPackage (interestingly not mentioned on the DataPackage docs page). In fact I had a hunch that DataPackageView ought to implement IDataObject as a counterpart, which is how I discovered it. I am slightly hesitant to use an undocumented feature though. Calling IDataObjectProvider::SetDataObject allows setting a custom data object on the data package - I am doing this because I am trying to avoid using IStorageItem in my app, and creating 1000s of storage items from paths on demand is very slow so I want to use the CF_HDROP or possibly Shell IDList Array formats directly (another story is getting built-in support for getting/setting storage item data by path). To read the data out of the data package view, I need access to the IDataObject. (Note DataPackageView.GetStorageItemsAsync is limited to 16 items if the CF_HDROP format is specified, for some reason).
I realise this is external, but it's a really small doc issue that I hope can be passed on. Basically, it seems that DataPackageView implements the COM interface IDataObject, but I can't find it documented anywhere. Please document it somewhere and also state the supported Windows version.
Why?
This is the obvious 'read' counterpart of the IDataObjectProvider COM interface implemented by DataPackage (interestingly not mentioned on the DataPackage docs page). In fact I had a hunch that DataPackageView ought to implement IDataObject as a counterpart, which is how I discovered it. I am slightly hesitant to use an undocumented feature though. Calling IDataObjectProvider::SetDataObject allows setting a custom data object on the data package - I am doing this because I am trying to avoid using IStorageItem in my app, and creating 1000s of storage items from paths on demand is very slow so I want to use the CF_HDROP or possibly Shell IDList Array formats directly (another story is getting built-in support for getting/setting storage item data by path). To read the data out of the data package view, I need access to the IDataObject. (Note DataPackageView.GetStorageItemsAsync is limited to 16 items if the CF_HDROP format is specified, for some reason).