次の方法で共有


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

指定したデバイスに対してIRP_MN_START_DEVICE要求が送信されると、AVStream ミニドライバーの AVStrMiniDeviceStart ルーチンが呼び出されます。

構文

PFNKSDEVICEPNPSTART Pfnksdevicepnpstart;

NTSTATUS Pfnksdevicepnpstart(
  [in]           PKSDEVICE Device,
  [in]           PIRP Irp,
  [in, optional] PCM_RESOURCE_LIST TranslatedResourceList,
  [in, optional] PCM_RESOURCE_LIST UntranslatedResourceList
)
{...}

パラメーター

[in] Device

開始するデバイスを記述する KSDEVICE 構造体へのポインター。

[in] Irp

受信した IRP_MN_START_DEVICE へのポインター。

[in, optional] TranslatedResourceList

Irp から抽出された翻訳されたリソース リストを含むCM_RESOURCE_LIST構造体へのポインター。 Device にリソースが割り当てられていない場合は NULL と等しくなります。 省略可能。

[in, optional] UntranslatedResourceList

Irp から抽出された未翻訳のリソース リストを含むCM_RESOURCE_LIST構造体へのポインター。 このパラメーター リストの KSDEVICE メンバーにリソースが割り当てられていない場合は NULL と等しくなります。 省略可能。

戻り値

STATUS_SUCCESSまたは操作の実行試行から返されたエラー コードを返す必要があります。 ルーチンが正常な状態コードを返した場合、開始は成功することが保証されます。 STATUS_PENDINGを返さないでください。

注釈

このルーチンのアドレスは、そのKSDEVICE_DISPATCH構造体の Start メンバーで指定します。

通常、このルーチンは、割り当てられたリソースを評価する必要があるミニドライバーによって使用されます。 リソース リストは、ミニドライバーの利便性のために Irp から抽出されます。 ミニドライバーは、リソースリストを解析して、デバイスに割り当てられた割り込みと、メモリ リソースの物理アドレスを見つけることができます。

ミニドライバーはこのルーチンを使用して、AVStream デバイスに関連付けるコンテキスト情報を割り当てることができます。 (これは、デバイス拡張機能を使用してコンテキスト情報を格納するストリーム クラスのミニドライバーに似ています)。

STATUS_PENDINGはこの関数からの法的リターン コードではないことに注意してください。 AVStream がデバイス インターフェイスの有効化などの開始アクションを完了する前に、ワーカー スレッドのコンテキストでアクションを実行するには、開始後のディスパッチを使用します。 AVStrMiniDevicePostStart を参照してください。

このルーチンは省略可能です。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。
対象プラットフォーム デスクトップ
Header ks.h (Ks.h を含む)

こちらもご覧ください

CM_RESOURCE_LIST

KSDEVICE_DISPATCH