次の方法で共有


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

IWDFDriver::CreateDevice