WdfPdoInitRemovePowerDependencyOnParent 関数 (wdfpdo.h)
WdfPdoInitRemovePowerDependencyOnParent メソッドは、「解説」 セクションで説明されている電力の依存関係を削除します。
構文
void WdfPdoInitRemovePowerDependencyOnParent(
PWDFDEVICE_INIT DeviceInit
);
パラメーター
DeviceInit
WDFDEVICE_INIT 構造体へのポインター。
戻り値
なし
注釈
一般に、フレームワークでは、子デバイスが D0 に入る前に親バス ドライバーが D0 デバイスの電源状態に入り、同様に親が D0 を離れる前に子デバイスが D0 を終了する必要があります。
ただし、子デバイスが実際のハードウェアを表さない仮想デバイスである場合は特に、この動作は望ましくない可能性があります。 S0 アイドル時の電源ダウンでは、子デバイスの電源状態が親に関連しない可能性があります。 実際、子デバイスには、S0 アイドル検出を実行する理由がない可能性があります。 この場合、親デバイスは、子デバイスの電源状態に依存するのではなく、I/O アクティビティに基づいて D0 と Dx の間を遷移することをお勧めします。
電源の依存関係を削除すると、バス ドライバーに次の影響があります。
- 親デバイスが Dx にある間、PDO PnP/Power コールバックが実行される場合があります。
- 親デバイスが Dx にある間、PDO enable/disable-wake-at-bus コールバックが実行される場合があります。
- バス ドライバーが Dx にある間に、PDO 上の電源管理キューから (PDO が電源ポリシー所有者であると仮定して) FDO 上の非電源管理キューに転送される要求がディスパッチされる可能性があります。
- 子スタックは、親スタックとは別に電源状態遷移を実行します。 これには、子スタックが S-IRP を受け取り、親スタックが独自の D-IRP の処理を完了する前に D-IRP の処理を完了する可能性がある、高速再開などのシナリオが含まれます。
電源の依存関係を削除するために、バス ドライバーは、子デバイスの PDO 作成するときに WdfPdoInitRemovePowerDependencyOnParent を呼び出すことができます。
親バス ドライバーが親デバイス スタックの電源ポリシー所有者でない場合、この関数はアクションを実行しません。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 2004 |
最小 KMDF バージョン | 1.29 |
ヘッダー | wdfpdo.h (Wdf.h を含む) |
図書館 | Wdf01000.sys (KMDF) |
IRQL | PASSIVE_LEVEL |