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


Метод IBidiRequest::GetOutputData (bidispl.h)

Метод GetOutputData получает указанные выходные данные, возвращаемые из принтера.

Синтаксис

HRESULT GetOutputData(
  [in]  const DWORD dwIndex,
  [out] LPWSTR      *ppszSchema,
  [out] DWORD       *pdwType,
  [out] BYTE        **ppData,
  [out] ULONG       *uSize
);

Параметры

[in] dwIndex

Отсчитываемый от нуля индекс запрашиваемых выходных данных. Дополнительные сведения см. в разделе "Примечания".

[out] ppszSchema

Указатель на строку, завершающую значение NULL, которая получает строку схемы. Вызывающий объект должен вызвать функцию CoTaskMemFree, чтобы освободить этот указатель.

[out] pdwType

Указатель на переменную, которая получает тип выходных данных. Этот параметр может быть одним из следующих значений.

Ценность Описание
BIDI_NULL Нет данных.
BIDI_INT Целые данные.
BIDI_FLOAT Число с плавающей запятой.
BIDI_BOOL TRUE или FALSE
BIDI_STRING Строка символов Юникода.
BIDI_TEXT Не локализуемая строка Юникода.
BIDI_ENUM Данные перечисления в виде строки Юникода.
BIDI_BLOB Двоичные данные.

[out] ppData

Указатель на переменную, которая получает указатель на массив байтов, содержащий выходные данные. Буфер выделяется интерфейсом COM для хранения выходных данных. Вызывающий объект отвечает за вызов CoTaskMemFree для освобождения буфера.

[out] uSize

Указатель на переменную, которая получает размер массива байтов, заданного **ppData.

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

Метод возвращает одно из следующих значений. Дополнительные сведения о кодах ошибок COM см. в коды ошибок COM.

Возвращаемый код Описание
S_OK Операция была успешно выполнена.
E_HANDLE Дескриптор интерфейса недопустим.
E_POINTER По крайней мере один из параметров переменной указателя не ссылался на допустимое расположение памяти.
Ни один из указанных выше HRESULT содержит код ошибки, соответствующий последней ошибке.

Замечания

Один запрос bidi может иметь несколько результатов. Приложение вызывает GetEnumCount, чтобы получить количество результатов из запроса bidi.

Если приложение вызывает GetOutputData с одинаковым индексом дважды, интерфейс выделяет два разных буфера, поэтому приложение должно освободить оба буфера.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP
минимальный поддерживаемый сервер Windows Server 2003
целевая платформа Настольный
заголовка bidispl.h
DLL Bidispl.dll

См. также

двунаправленные интерфейсы связи

двунаправленная схема связи

GetEnumCount

IBidiRequest