Метод IPortableDeviceContent::CreateObjectWithPropertiesAndData (portabledeviceapi.h)
Метод CreateObjectWithPropertiesAndData создает объект со свойствами и данными на устройстве.
Синтаксис
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
Параметры
pValues
Коллекция свойств IPortableDeviceValues , назначаемых объекту. Список обязательных и необязательных свойств объекта см. в разделе Требования для объектов.
[out] ppData
Адрес переменной, получающей указатель на интерфейс IStream , который приложение использует для отправки данных объекта на устройство. Объект не будет создан на устройстве, пока приложение не отправит данные путем вызова ppData-Commit>. Чтобы отменить передачу данных, можно вызвать ppData ->Revert. Вызывающий объект должен освободить этот интерфейс после завершения работы с ним. Базовый объект расширяет IStream и IPortableDeviceDataStream.
[in, out] pdwOptimalWriteBufferSize
Необязательный указатель DWORD , указывающий оптимальный размер буфера, который приложение будет использовать при записи данных в ppData. Приложение может указать значение TRUE , чтобы игнорировать это.
[in, out] ppszCookie
Необязательный уникальный строковый идентификатор со значением NULL, который используется для идентификации этого запроса на создание в реализации приложения IPortableDeviceEventCallback (если реализован). Когда устройство завершит создание объекта, оно отправит этот идентификатор в функцию обратного вызова. Этот идентификатор позволяет приложению отслеживать создание объектов в потоке, отличном от потока CreateObjectWithPropertiesOnly. Пакет SDK выделяет эту память, и вызывающий объект должен освободить ее с помощью CoTaskMemFree.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
По крайней мере один из обязательных аргументов был пустым указателем. |
Комментарии
Некоторые объекты представляют собой только коллекцию свойств, например папку, которая является лишь коллекцией указателей на другие объекты, тогда как другие объекты являются свойствами и данными, например звуковым файлом, который содержит все свойства и фактические биты музыки. Этот метод используется для создания объекта, которому требуются свойства и данные. Чтобы создать объект только для свойств, вызовите CreateObjectWithPropertiesOnly.
Так как объект не создается до тех пор, пока приложение не вызовет Commit для полученного объекта IStreamppData, у объекта не будет идентификатора, пока для него не будет вызван метод Commit . Фиксация выполняется синхронно, поэтому при успешном возврате этого метода объект будет существовать на устройстве.
После вызова Commit для создания объекта вызовите QueryInterface в ppData для IPortableDeviceDataStream, а затем вызовите IPortableDeviceDataStream::GetObjectID , чтобы получить идентификатор созданного объекта.
Примеры
Пример использования этого метода см. в разделе Перенос изображения или музыкального файла на устройство.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | portabledeviceapi.h |
Библиотека | PortableDeviceGUIDs.lib |
См. также раздел
Интерфейс IPortableDeviceContent
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по