Поделиться через


Метод IOpcUri::CombinePartUri (msopc.h)

Формирует имя части, на которую ссылается указанный относительный URI. Указанный относительный URI части разрешается с URI, представленным как текущий объект URI OPC.

Синтаксис

HRESULT CombinePartUri(
  [in]          IUri        *relativeUri,
  [out, retval] IOpcPartUri **combinedUri
);

Параметры

[in] relativeUri

Указатель на интерфейс IUri относительного URI части.

Чтобы сформировать объект URI части, представляющий имя части, этот входной URI разрешается в URI, представленном как текущий объект URI OPC. Таким образом, входной URI должен быть относительно URI, представленного текущим объектом URI OPC.

Этот URI может включать компонент фрагмента; однако фрагмент будет игнорироваться и не будет включен в имя создаваемой части. Компоненту фрагмента предшествует символ "#", как описано в rfc 3986: универсальный синтаксис URI.

[out, retval] combinedUri

Указатель на интерфейс IOpcPartUri объекта URI части, который представляет имя части.

Объект URI части формируется путем разрешения относительного URI в relativeUri с URI, представленным текущим объектом URI OPC.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Возвращаемый код/значение Описание
S_OK
Метод выполнен успешно.
E_FAIL
Функция CoInternetCombineUrl вернула недопустимый размер.
E_POINTER
По крайней мере один из параметров relativeUri и combinedUri имеет значение NULL.
E_UNEXPECTED
Размер буфера, необходимого для функции CoInternetCombineUrl , неожиданно изменился.
OPC_E_NONCONFORMING_URI
0x80510001
Имя части не соответствует правилам, указанным в стандартах OPC .
OPC_E_RELATIVE_URI_REQUIRED
0x80510002
Имя части не может быть абсолютным URI. Абсолютный URI начинается с компонента схемы, за которым следует ":", как описано в rfc 3986: универсальный синтаксис URI.
Ошибка функции CoInternetCombineUrl
Код ошибки HRESULT из функции CoInternetCombineUrl .
Ошибка функции CreateUri
Код ошибки HRESULT из функции CreateUri .
Ошибка WinINet
Код ошибки HRESULT из API WinINet .

Комментарии

Пример входных и выходных данных:

Относительный IURI входных данных Текущий IOpcUri Сформированный IOpcPartUri
picture.jpg /mydoc/markup/page.xml /mydoc/markup/picture.jpg
.. /picture.jpg /mydoc/markup/page.xml /mydoc/picture.jpg
.. /.. /images/picture.jpg /mydoc/page.xml /images/picture.jpg
 

Сведения об использовании этого метода для разрешения имени части см. в разделе Разрешение имени части из целевого URI.

Поддержка в предыдущих версиях Windows

Поведение и производительность этого метода одинаковы во всех поддерживаемых версиях Windows. Дополнительные сведения см. в разделах начало работы с ПОМОЩЬЮ API упаковки и Обновление платформы для Windows Vista.

Потокобезопасность

Объекты упаковки не являются потокобезопасны.

Дополнительные сведения см. в статье начало работы с помощью API упаковки.

Требования

   
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header msopc.h

См. также раздел

ECMA-376 OpenXML

Внешние ресурсы

начало работы с помощью API упаковки

IOpcUri

Разделы общих сведений

Справочник по API упаковки

Примеры API упаковки

Ошибки упаковки

Обновление платформы для Windows Vista

RFC 3986: универсальный синтаксис URI

Справочные материалы

Разрешение имени части из целевого URI