Метод IOpcFactory::ReadPackageFromStream (msopc.h)
Десериализует данные пакета из потока и создает объект пакета для представления считываемого пакета. В то время как объект API упаковки, полученный из объекта package, или сам объект пакета, по-прежнему используется, поток может использоваться для доступа к данным пакета.
Синтаксис
HRESULT ReadPackageFromStream(
[in] IStream *stream,
[in] OPC_READ_FLAGS flags,
[out, retval] IOpcPackage **package
);
Параметры
[in] stream
Указатель на интерфейс IStream потока.
Поток должен быть читаемым, искать, иметь размер и содержать данные пакета. Кроме того, если поток не является клонируемым, он будет буферизуется и считывается последовательно, что приведет к дополнительным расходам.
[in] flags
Значение , указывающее параметры чтения для кэширования компонентов пакета и их проверки на соответствие требованиям OPC .
[out, retval] package
Указатель на интерфейс IOpcPackage объекта пакета, который представляет пакет, считываемый через поток.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Значение, переданное в параметре flags , не является допустимым значением перечисления OPC_READ_FLAGS . |
|
Этот метод не реализован для данной версии Windows. |
|
По крайней мере один из параметров потока и пакета имеет значение NULL. |
|
Код ошибки HRESULT из интерфейса IStream . |
|
Код ошибки HRESULT из группы ошибок потребления пакетов. |
|
Код ошибки HRESULT из группы ошибок URI части. |
Комментарии
Не используйте поток для сериализации данных пакета, если тот же поток используется для десериализации пакета, так как попытка может привести к неопределенному поведению.
API упаковки могут взаимодействовать с пакетами, которые сопоставляют ZIP-архив, как указано в OPC, и которые основаны на кодировке Zip32 (ZIP 2.0) или Zip64 (ZIP 4.5).
Сведения об использовании этого метода для загрузки пакета см. в разделе Задача программирования "Загрузка пакета ".
Поддержка в предыдущих версиях Windows
Этот метод не поддерживается в версиях Windows, предшествующих Windows 7. Дополнительные сведения см. в разделах начало работы с ПОМОЩЬЮ API упаковки и Обновление платформы для Windows Vista.Потокобезопасность
Объекты упаковки не являются потокобезопасны.
Дополнительные сведения см. в начало работы с API упаковки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | msopc.h |
См. также раздел
начало работы с помощью API упаковки
Разделы общих сведений
Руководство по программированию API упаковки
Обновление платформы для Windows Vista
Справочные материалы