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


Метод IXpsOMObjectFactory::CreateImageResource (xpsobjectmodel.h)

Создает интерфейс IXpsOMImageResource , который используется для доступа к потоку ресурсов образа.

Синтаксис

HRESULT CreateImageResource(
  [in]          IStream             *acquiredStream,
  [in]          XPS_IMAGE_TYPE      contentType,
  [in]          IOpcPartUri         *partUri,
  [out, retval] IXpsOMImageResource **imageResource
);

Параметры

[in] acquiredStream

Поток только для чтения, связанный с этим ресурсом. Этот параметр не должен иметь значение NULL.

Важно Рассматривать этот поток как объект Single-Threaded Apartment (STA); не вводите его повторно.
 

[in] contentType

Значение XPS_IMAGE_TYPE , описывающее тип изображения потока, на который ссылается метод acquiredStream.

[in] partUri

Интерфейс IOpcPartUri , содержащий имя части, назначаемой этому ресурсу. Этот параметр не должен иметь значение NULL.

[out, retval] imageResource

Указатель на новый интерфейс IXpsOMImageResource .

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

Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения в следующей таблице. Сведения о возвращаемых значениях API документов XPS, не перечисленных в этой таблице, см. в статье Ошибки документа XPS.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
contentType не является допустимым значением XPS_IMAGE_TYPE .
E_POINTER
параметр acquiredStream, partUri или imageResource имеет значение NULL.

Комментарии

В следующем примере кода показано, как этот метод используется для создания нового интерфейса.


IXpsOMImageResource    *newInterface;
// The following values are defined outside of 
// this example.
//  IStream            *acquiredStream;
//  XPS_IMAGE_TYPE     contentType;
//  IOpcPartUri        *partUri;
    
// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    // The partUriString and acquiredStream variables 
    //   are defined outside of this example.
    hr = xpsFactory->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreateImageResource (
            acquiredStream,
            contentType,
            partUri,
            &newInterface);
        if (SUCCEEDED(hr))
        {
            // use newInterface

            newInterface->Release();
        }
        partUri->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

Требования

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

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

IOpcPartUri

IXpsOMImageResource

IXpsOMObjectFactory

XPS

Ошибки документа XPS

XPS_IMAGE_TYPE