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


Функция WdfRequestSetInformation (wdfrequest.h)

[Относится к KMDF и UMDF]

Метод WdfRequestSetInformation задает сведения о состоянии завершения для указанного запроса ввода-вывода.

Синтаксис

void WdfRequestSetInformation(
  [in] WDFREQUEST Request,
  [in] ULONG_PTR  Information
);

Параметры

[in] Request

Дескриптор объекта запроса платформы.

[in] Information

Определяемые драйвером сведения о состоянии завершения для запроса.

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

None

Remarks

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Драйверы на основе платформы используют метод WdfRequestSetInformation для предоставления сведений о конкретном драйвере, связанных с выполнением запроса ввода-вывода, таких как количество переданных байтов. Другие драйверы могут получить эти сведения, вызвав WdfRequestGetInformation.

Драйверы также могут указывать сведения о состоянии завершения, вызывая WdfRequestCompleteWithInformation.

Дополнительные сведения о WdfRequestSetInformation см. в разделе Завершение запросов ввода-вывода.

Примеры

В следующем примере кода задаются сведения о завершении запроса, основанные на значении кода элемента управления вводом-выводом, который получает функция обратного вызова EvtIoDeviceControl .

VOID
MyEvtIoDeviceControl(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  OutputBufferLength,
    IN size_t  InputBufferLength,
    IN ULONG  IoControlCode
    )
{
    switch (IoControlCode) {
      case MY_IOCTL_CODE_1:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_1
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_2:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_2
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_3:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_3
                                     );
            status = STATUS_SUCCESS;
            break;

      default:
            status = STATUS_INVALID_DEVICE_REQUEST;
            break;
    }

    WdfRequestComplete(
                       Request,
                       status
                       );
}

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfrequest.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WdfRequestCompleteWithInformation

WdfRequestGetInformation