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


Метод 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