AcxStreamInitAssignAcxRequestPreprocessCallback 函式 (acxstreams.h)
AcxStreamInitAssignAcxRequestPreprocessCallback 函式會將 AcxRequestPreprocessCallback 指派給數據流。
語法
NTSTATUS AcxStreamInitAssignAcxRequestPreprocessCallback(
PACXSTREAM_INIT StreamInit,
EVT_ACX_OBJECT_PREPROCESS_REQUEST EvtObjectAcxRequestPreprocess,
ACXCONTEXT DriverContext,
ACX_REQUEST_TYPE RequestType,
const GUID *Set,
ULONG Id
);
參數
StreamInit
由ACXSTREAM_INIT物件定義,用來定義數據流初始化。 如需 ACX 對象的詳細資訊,請參閱 ACX 物件摘要。
EvtObjectAcxRequestPreprocess
EvtObjectAcxRequestPreprocess,會在執行要求的任何內部處理之前,由 ACX 架構呼叫。
DriverContext
代表目前驅動程式內容的選擇性 ACXCONTEXT 物件。
RequestType
用來定義要求類型的 ACX_REQUEST_TYPE列舉 。 如果指定 AcxRequestTypeAny,則會針對所有要求呼叫 EvtObjectAcxRequestProcess。
Set
表示 KSPROPERTY SET 之 GUID 的指標,例如 KSPROPSETID_RtAudio。 如果指定 NULL 或GUID_NULL,則會針對符合 RequestType 的每個要求呼叫 EvtObjectAcxRequestPreprocess
Id
值,表示 KSPROPERTY 標識符。例如使用 KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY 結構的A KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT。 如果指定 AcxItemIdAny,則會針對指定的 Set 的每個屬性呼叫 EvtObjectAcxRequestPreprocess。
傳回值
如果呼叫成功,則傳 STATUS_SUCCESS
回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值。
備註
AcxStreamInitAssignAcxRequestPreprocessCallback 可讓驅動程式有機會在 ACX 執行架構處理之前處理任何要求。 驅動程式可以呼叫 AcxStreamDispatchAcxRequest 以允許 ACX 處理要求。 如果驅動程序處理要求本身,它可以呼叫 WdfRequestComplete 或 WdfRequestCompleteWithInformation 來完成要求。
驅動程式必須呼叫 AcxStreamDispatchAcxRequest 或 WdfRequestComplete (或 WdfRequestCompleteWithInformation) 。 驅動程式不得使用要求呼叫其中一個以上的 API。
驅動程式可以註冊多個 AcxRequestPreprocessCallback。 ACX 架構會呼叫符合要求的第一個指派 AcxRequestPreprocessCallback。
範例
範例使用方式如下所示。
//
// Intercept register and unregister events properties.
//
status = AcxStreamInitAssignAcxRequestPreprocessCallback(
StreamInit,
EvtStreamRequestPreprocessRegisterNotificationEvent,
(ACXCONTEXT)Circuit,
AcxRequestTypeProperty,
&KSPROPSETID_RtAudio,
KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT);
//
// Intercept all other RtAudio properties - this must be after the above Assign call
// since the above Assign call is more specific.
//
status = AcxStreamInitAssignAcxRequestPreprocessCallback(
StreamInit,
EvtStreamRequestPreprocessRtAudio,
(ACXCONTEXT)Circuit,
AcxRequestTypeProperty,
&KSPROPSETID_RtAudio,
AcxItemIdAny);
ACX 需求
最低 ACX 版本: 1.0
如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxstreams.h |
IRQL | PASSIVE_LEVEL |