PFNKSDEVICEIRP 回呼函式 (ks.h)
當裝置分派這些 IRP 時,會呼叫 AVStream minidriver 的 IRP 處理程式例程。
語法
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
參數
[in] Device
分派 IRP 之 KSDEVICE 的指標。
[in] Irp
裝置所發出的 IRP。
傳回值
應該傳回STATUS_SUCCESS或從嘗試執行作業傳回的錯誤碼。 如果這不是這種情況,請傳回適當的錯誤碼。
備註
IRP | Description |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE | minidriver 會在其 KSDEVICE_DISPATCH 結構的 QueryRemove 成員中指定此例程的位址。 當裝置分派 IRP_MN_QUERY_REMOVE_DEVICE 時,就會呼叫此例程。 它通常是由想要防止移除裝置的迷你驅動程式所提供,或由必須禁止活動之迷你驅動程式提供,否則會防止它們認可到裝置移除作業。 如果未提供此例程,AVStream 會假設裝置可以認可至移除。 例程會在 IRQL = PASSIVE_LEVEL呼叫,而且可能不會傳回STATUS_PENDING;成功碼表示裝置可以認可移除,而錯誤碼表示無法移除。 如果裝置可以移除, (或驅動程式可以更新) 而不中斷計算機,則傳回成功。 此例程是選擇性的。 |
IRP_MN_QUERY_STOP_DEVICE | minidriver 會在其 KSDEVICE_DISPATCH 結構的 QueryStop 成員中指定此例程的指標。 使用 AVStrMiniQueryStop 防止停止裝置,或禁止防止迷你驅動程序認可停止作業的活動。 如果未指定此例程,AVStream 會假設 minidriver 可以認可到停止作業。 此例程是選擇性的。 成功表示裝置可以認可到停止,而錯誤碼表示無法認可。 請勿傳回STATUS_PENDING。 |
IRP_MN_QUERY_INTERFACE | 驅動程式或系統元件會傳送此 IRP,以取得驅動程式匯出之介面的相關信息。 如需 IRP 的詳細資訊,請參閱 IRP_MN_QUERY_INTERFACE。 minidriver 會在其 KSDEVICE_DISPATCH 結構的 QueryInterface 成員中指定此例程的位址。 此例程是選擇性的。 |
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | ks.h (包含 Ks.h) |
IRQL | PASSIVE_LEVEL (请参阅一节) |