次の方法で共有


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 を含む)

こちらもご覧ください

IDriverEntry

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

IWDFDriver

IWDFDriver::CreateDevice