Функция 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) |