Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция AcxCircuitInitAssignAcxRequestPreprocessCallback добавляет обратный вызов WDFREQUEST.
Синтаксис
NTSTATUS AcxCircuitInitAssignAcxRequestPreprocessCallback(
PACXCIRCUIT_INIT CircuitInit,
PFN_ACX_OBJECT_PREPROCESS_REQUEST EvtObjectAcxRequestPreprocess,
ACXCONTEXT DriverContext,
ACX_REQUEST_TYPE RequestType,
const GUID *Set,
ULONG Id
);
Параметры
CircuitInit
Структура ACXCIRCUIT_INIT, которая определяет инициализацию канала. ACXCIRCUIT_INIT — это непрозрачный объект, используемый для инициализации канала. Используйте AcxCircuitInitAllocate для инициализации структуры ACXCIRCUIT_INIT.
EvtObjectAcxRequestPreprocess
Указатель на обратный вызов EVT_ACX_OBJECT_PREPROCESS_REQUEST.
DriverContext
Контекст драйвера, определенный объектом ACXCONTEXT. Дополнительные сведения о объектах ACX см. в сводке по объектам ACX.
RequestType
Перечисление ACX_REQUEST_TYPE, определяющее различные типы запросов, такие как AcxRequestTypeAny, AcxRequestTypeProperty и т. д.
Set
Необязательный ИДЕНТИФИКАТОР GUID для идентификации определенного идентификатора набора элементов.
Id
Идентификатор для идентификации определенного элемента в указанном идентификаторе набора.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в использовании значений NTSTATUS.
Замечания
Драйвер может вызывать этот DDI несколько раз, чтобы настроить различные обратные вызовы предварительной обработки. ACX вызывает первое, что оно находит, что соответствует конкретному типу WDFREQUEST.
Пример
Ниже показан пример использования.
// Render callbacks.
EVT_ACX_OBJECT_PREPROCESS_REQUEST CodecR_EvtCircuitRequestPreprocess;
//
// Add circuit type.
//
AcxCircuitInitSetCircuitType(circuitInit, AcxCircuitTypeRender);
//
// Assign the circuit's pnp-power callbacks.
//
ACX_CIRCUIT_PNPPOWER_CALLBACKS_INIT(&powerCallbacks);
powerCallbacks.EvtAcxCircuitPowerUp = CodecR_EvtCircuitPowerUp;
powerCallbacks.EvtAcxCircuitPowerDown = CodecR_EvtCircuitPowerDown;
AcxCircuitInitSetAcxCircuitPnpPowerCallbacks(circuitInit, &powerCallbacks);
//
// Set circuit-callbacks.
//
status = AcxCircuitInitAssignAcxRequestPreprocessCallback(
circuitInit,
CodecR_EvtCircuitRequestPreprocess,
(ACXCONTEXT)AcxRequestTypeAny, // dbg only
AcxRequestTypeAny,
NULL,
AcxItemIdNone);
Требования к ACX
минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в обзоре версий ACX.
Требования
| Требование | Ценность |
|---|---|
| заголовка | acxcircuit.h |
| IRQL | PASSIVE_LEVEL |