PFNKSPINIRP 回呼函式 (ks.h)
執行針腳上的活動並接收這些 IRP 時,會呼叫 AVStream 迷你驅動程式的例程:
語法
PFNKSPINIRP Pfnkspinirp;
NTSTATUS Pfnkspinirp(
[in] PKSPIN Pin,
[in] PIRP Irp
)
{...}
參數
[in] Pin
剛建立之 KSPIN 的指標。
[in] Irp
Pin 的 IRP 指標。
傳回值
如果例程成功,則保證作業會成功。 傳回STATUS_SUCCESS或STATUS_PENDING。
備註
IRP | Description |
---|---|
IRP_MJ_CREATE | 一般而言,此例程是由想要初始化與針腳相關聯之內容和資源的迷你驅動程式所使用。 minidriver 會在其KSPIN_DISPATCH結構的 Create 成員中指定這個例程的位址。 建立針腳時會呼叫此例程。 在呼叫這個例程時,檔案物件具有相關聯的內容,而且已配置 KS 對象標頭。 一般而言,此函式將由想要初始化與針腳相關聯之內容和資源的迷你驅動程式所提供。 篩選控制件 Mutex 會保留在此函式中。 函式會在 IRQL = PASSIVE_LEVEL呼叫。 此例程是選擇性的。 如果例程成功,則會保證建立作業成功。 傳回STATUS_SUCCESS或STATUS_PENDING。 如果迷你驅動程式傳回STATUS_PENDING,AVStream 將不會立即完成 IRP_MJ_CREATE 。 不過,在傳回STATUS_PENDING之前,迷你驅動程式必須呼叫 IoMarkIrpPending。 完成建立的處理之後,迷你驅動程序必須設定 IRP 的狀態代碼,然後呼叫 KsCompletePendingRequest。 |
IRP_MJ_CLOSE | minidriver 會在其KSPIN_DISPATCH結構的 Close 成員中指定這個例程的位址。 在呼叫例程時,已釋放針腳上任何已註冊的事件,但物件會保持不變。 篩選控制件 Mutex 會保留在此函式中。 如需 mutex 的詳細資訊,請參閱 AVStream 中的 Mutex。 此例程是選擇性的。 |
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | ks.h (包含 Ks.h) |
IRQL | PASSIVE_LEVEL (请参阅一节) |