DXGKDDI_START_DEVICEコールバック関数 (dispmprt.h)
DxgkDdiStartDevice 関数は、I/O 要求を受信するディスプレイ アダプターを準備します。
構文
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
パラメーター
[in] MiniportDeviceContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前に DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
[in] DxgkStartInfo
ディスプレイ ミニポート ドライバーが初期化に必要な情報を含む DXGK_START_INFO 構造体へのポインター。
[in] DxgkInterface
DirectX グラフィックス カーネル サブシステムによって実装される、ディスプレイ ミニポート ドライバーが呼び出すことができる関数へのポインターを含む DXGKRNL_INTERFACE 構造体へのポインター。
[out] NumberOfVideoPresentSources
ディスプレイ アダプターでサポートされているビデオ存在ソースの数を受け取る ULONG 変数へのポインター。 ビデオ表示ソースの詳細については、「マルチ モニターとビデオ プレゼンテーション ネットワーク」を参照してください。
[out] NumberOfChildren
ULONG 変数へのポインター。ミニポートDeviceContext によって表されるディスプレイ アダプターの子であるデバイスの合計数受け取ります。 この数には、潜在的な子デバイスと、現在存在する子デバイスが含まれている必要があります。 たとえば、ポータブル コンピューターをドッキングすると、追加のビデオ出力が使用可能になる場合、ポータブル コンピューターが現在ドッキングされているかどうかに関係なく、それらのビデオ出力をカウントする必要があります。 子デバイスの詳細については、「ディスプレイ アダプター の子デバイス」を参照してください。
戻り値
DxgkDdiStartDevice 成功した場合、STATUS_SUCCESS が返されます。それ以外の場合は、Ntstatus.hで定義されているエラー コードのいずれかを返します。
備考
DxgkDdiStartDevice 関数は、次のアクションを実行する必要があります。
- DxgkInterface パラメーターに渡された DXGKRNL_INTERFACE 構造体によって提供される関数ポインターを保存します。 DXGKRNL_INTERFACE 構造体の DeviceHandle メンバーも保存します。DirectX グラフィックス カーネル サブシステムにコールバックするには、そのハンドルが必要です。
- DXGK_DEVICE_INFO 構造体を割り当て、DxgkCbGetDeviceInformation 呼び出して、レジストリ パス、PDO、およびミニポートDeviceContext で表される表示アダプターの変換されたリソースの一覧を含む、その構造体のメンバー入力します。 選択したメンバー (ディスプレイ ミニポート ドライバーが後で必要なもの) を、ミニポートDeviceContext によって表されるコンテキスト ブロック内の DXGK_DEVICE_INFO 構造体 保存します。
- DxgkCbMapMemory 関数を呼び出して、メモリ リソースをシステム空間にマップします。
- I/O 要求を受け取るためにハードウェアを準備するために必要な状態で、ミニポートDeviceContext によって表されるコンテキスト ブロックを初期化します。
- NumberOfVideoPresentSources 、ミニポートDeviceContext で表されるディスプレイ アダプターでサポートされているビデオの現在のソース数に設定します。
- NumberOfChildren 、ミニポートDeviceContext で表されるディスプレイ アダプターの子である (または子になる可能性がある) デバイスの数設定します。
- ミニポートDeviceContext によって表されるディスプレイ アダプター割り込みを有効にします。
DxgkDdiStartDevice 関数をページング可能にする必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dispmprt.h |
IRQL | PASSIVE_LEVEL |
関連項目
DxgkCbAcquirePostDisplayOwnership を する
DxgkCbGetDeviceInformation の
DxgkCbMapMemory の
DxgkDdiAddDevice の
DxgkDdiStopDevice の