IDriverEntry::OnDeviceAdd メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDFの概要」を参照してください。
OnDeviceAdd メソッドは、新しいデバイスをシステムに追加します。
構文
HRESULT OnDeviceAdd(
[in] IWDFDriver *pWdfDriver,
[in] IWDFDeviceInitialize *pWdfDeviceInit
);
パラメーター
[in] pWdfDriver
新しいデバイスが属する親ドライバー オブジェクトの IWDFDriver インターフェイスへのポインター。
[in] pWdfDeviceInit
ドライバーが新しく作成したデバイスを初期化するために使用する IWDFDeviceInitialize インターフェイスへのポインター。
戻り値
OnDeviceAdd は、操作が成功した場合にS_OKを返します。 それ以外の場合、このメソッドは Winerror.h で定義されているエラー コードの 1 つを返します。 ドライバーは、IWDFDriver::CreateDevice メソッドを正常に呼び出して フレームワーク デバイス オブジェクトを作成した場合にのみ、S_OKを返す必要があります。 ドライバーがエラー コードを返す場合、UMDF は、ドライバーがフィルター ドライバーまたはファンクション ドライバーかどうかに関係なく、デバイス スタック全体を破棄します。
備考
ドライバー ホスト プロセスに読み込まれるデバイスごとに、新しいデバイス オブジェクトが作成されます。 新しいデバイスがシステムに到着すると、フレームワークは OnDeviceAdd を呼び出してドライバーに到着を通知し、IWDFDriver を渡し、IWDFDeviceInitialize インターフェイスを呼び出しに します。 ドライバーは、IWDFDeviceInitialize::RetrieveDevicePropertyStore メソッドを呼び出して、デバイスのインストールの一部として提供されるデバイス情報を照会できます。 ドライバーは、デバイスを構成して作成するために、IWDFDriver::CreateDevice メソッドを呼び出す必要があります。 ドライバーがS_OKを返す前に、ドライバーが IWDFDriver::CreateDevice 正常に呼び出されない場合、UMDF はドライバーの動作が正しくないと判断し、ホスト プロセスを終了します。
OnDeviceAdd メソッドがS_OKを返すドライバーは、その後、UMDF がデバイス スタックを破棄したときに、その IPnpCallbackHardware::OnReleaseHardware メソッドの呼び出しを受け取ります。
ドライバーが IWDFDriver::CreateDevice 呼び出した後に、pWdfDeviceInit パラメーターが指す IWDFDeviceInitialize インターフェイスを使用しないでください。
詳細については、「デバイスの追加」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | wudfddi.h (Wudfddi.h を含む) |
関連項目
IDriverEntry を する
IPnpCallbackHardware::OnReleaseHardware
IWDFDeviceInitialize の
IWDFDeviceInitialize::RetrieveDevicePropertyStore
IWDFDriver の