共用方式為


PFNKSDEVICEIRP 回呼函式 (ks.h)

當裝置分派這些 IRP 時,會呼叫 AVStream minidriver 的 IRP 處理程式例程。

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_QUERY_INTERFACE

語法

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 (请参阅一节)

另請參閱

KSDEVICE

KSDEVICE_DISPATCH