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 で定義されているエラー コードのいずれかを返します。 ドライバーは、フレームワーク デバイス オブジェクトを作成するために 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 インターフェイスは使用しないでください。
詳細については、「 デバイスの追加」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | wudfddi.h (Wudfddi.h を含む) |
こちらもご覧ください
IPnpCallbackHardware::OnReleaseHardware