PFNKSDEVICEIRP コールバック関数 (ks.h)
これらの IRP がデバイスによってディスパッチされると、AVStream ミニドライバーの IRP ハンドラー ルーチンが呼び出されます。
構文
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 (「解説」セクションを参照) |