次の方法で共有


PFNKSDEVICEIRP コールバック関数 (ks.h)

これらの IRP がデバイスによってディスパッチされると、AVStream ミニドライバーの 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 説明
IRP_MN_QUERY_REMOVE_DEVICE ミニドライバーは、そのKSDEVICE_DISPATCH構造体の QueryRemove メンバーで、このルーチンのアドレスを指定します。 このルーチンは、デバイスによって IRP_MN_QUERY_REMOVE_DEVICE がディスパッチされるときに呼び出されます。 通常、デバイスの削除を防止するミニドライバー、またはデバイスの削除操作にコミットできないようにするアクティビティを禁止する必要があるミニドライバーによって提供されます。 このルーチンが指定されていない場合、AVStream は、デバイスが削除にコミットできると想定します。 ルーチンは IRQL = PASSIVE_LEVELで呼び出され、STATUS_PENDINGを返さない場合があります。成功コードは、デバイスが削除にコミットできることを示し、エラー コードは、それができないことを示します。 マシンを中断せずにデバイスを削除できる (またはドライバーを更新できる) 場合は、成功を返します。 このルーチンは省略可能です。
IRP_MN_QUERY_STOP_DEVICE ミニドライバーは、そのKSDEVICE_DISPATCH構造体の QueryStop メンバーで、このルーチンへのポインターを指定します。 AVStrMiniQueryStop を使用して、デバイスの停止を防ぐか、ミニドライバーが停止操作にコミットできないようにするアクティビティを禁止します。 このルーチンが指定されていない場合、AVStream はミニドライバーが停止操作にコミットできると想定します。 このルーチンは省略可能です。 成功は、デバイスが停止にコミットできることを示し、エラー コードは、それができないことを示します。 STATUS_PENDINGを返さないでください。
IRP_MN_QUERY_INTERFACE ドライバーまたはシステム コンポーネントは、ドライバーによってエクスポートされたインターフェイスに関する情報を取得するには、この IRP を送信します。 IRP の詳細については、「 IRP_MN_QUERY_INTERFACE」を参照してください。 ミニドライバーは、そのKSDEVICE_DISPATCH構造体の QueryInterface メンバーで、このルーチンのアドレスを指定します。 このルーチンは省略可能です。

要件

要件
対象プラットフォーム デスクトップ
Header ks.h (Ks.h を含む)
IRQL PASSIVE_LEVEL (「解説」セクションを参照)

こちらもご覧ください

KSDEVICE

KSDEVICE_DISPATCH