私は、IPortableDeviceValues経由でWPD上の画像ファイルの幅と高さを取得したいと思います。WPDはメディアのサイズを取得します
Windows Dev Centerによると、タイプがWPD_CONTENT_TYPE_IMAGEのオブジェクト(WPD_CONTENT_TYPE_IMAGE)はすべてWPD_MEDIA_WIDTH/WPD_MEDIA_HEIGHTを提供する必要がありますが、常にエラーが発生します。
HRESULT MyPortableDevice::getIntValue(IPortableDeviceProperties* properties, PCWSTR objectID, const PROPERTYKEY& key, DWORD* value)
{
ComPtr<IPortableDeviceValues> objectProperties;
ComPtr<IPortableDeviceKeyCollection> propertiesToRead;
HRESULT hr = CoCreateInstance(CLSID_PortableDeviceKeyCollection,
nullptr,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&propertiesToRead));
if (SUCCEEDED(hr)) {
HRESULT tempHr = S_OK;
tempHr = propertiesToRead->Add(key);
}
if (SUCCEEDED(hr)) {
hr = properties->GetValues(objectID,
propertiesToRead.Get(),
&objectProperties);
}
if (SUCCEEDED(hr)) {
ULONG intValue = 0;
hr = objectProperties->GetUnsignedIntegerValue(key, &intValue);
if (SUCCEEDED(hr)) {
value = &intValue;
intValue = 0;
}
}
return hr;
誰が間違って何を知っています私はいつも0x80070490
hr = objectProperties->GetUnsignedIntegerValue(key, &intValue);
時間=からエラー値を取得し、私はこのエラーコードhere
を見つけることができませんか?