デバイスの追加
フレームワークは、ドライバー ホスト プロセスに読み込まれたデバイスごとにデバイス オブジェクトを追加します。デバイスを追加するために、フレームワークはドライバーの IDriverEntry::OnDeviceAdd メソッドを呼び出し、その呼び出しで IWDFDriver インターフェイスと IWDFDeviceInitialize インターフェイスを渡します。指定された IWDFDeviceInitialize インターフェイスは、OnDeviceAdd メソッドのコンテキストでのみ有効です。ドライバーは、IWDFDeviceInitialize の次のメソッドを呼び出して、次の操作を実行することができます。
IWDFDeviceInitialize::RetrieveDevicePropertyStore メソッドを呼び出して、デバイス プロパティ ストアの IWDFNamedPropertyStore インターフェイスを取得します。ドライバーは、IWDFNamedPropertyStore を使用してデバイスのプロパティを取得および設定できます。
IWDFDeviceInitialize::SetLockingConstraint メソッドを呼び出して、フレームワークによるコールバック関数の呼び出し方法を指定します。
IWDFDeviceInitialize::SetFilter メソッドを呼び出して、デバイスをフィルター デバイスとして有効にします。
IWDFDeviceInitialize を使用してデバイスを初期化した後、ドライバーは、IWDFDriver::CreateDevice メソッドの呼び出しで IWDFDeviceInitialize にポインターを渡し、デバイスの UMDF デバイス オブジェクトを作成します。フレームワーク デバイス オブジェクトの作成後に、ドライバーは IWDFDevice::CreateIoQueue メソッドを呼び出し、読み取りおよび書き込み I/O キューを作成します。このような IWDFDevice::CreateIoQueue 呼び出しでは、ドライバーは、I/O キューから要求を受け取る方法を指定する必要があります。詳細については、「I/O キューのディスパッチ モードの構成」を参照してください。