2015年10月11日

[Win8.1]WudfRdってなんだろう?[警告]

パソコンを起動すると、毎回以下の警告が出ている。

デバイス SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Generic&Prod_USB_SD_Reader&Rev_1.00#920321111113&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} のドライバー \Driver\WudfRd を読み込めませんでした。
デバイス SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Generic&Prod_USB_MS_Reader&Rev_1.03#920321111113&3#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} のドライバー \Driver\WudfRd を読み込めませんでした。
デバイス SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Generic&Prod_USB_SM_Reader&Rev_1.02#920321111113&2#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} のドライバー \Driver\WudfRd を読み込めませんでした。
デバイス SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Generic&Prod_USB_CF_Reader&Rev_1.01#920321111113&1#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} のドライバー \Driver\WudfRd を読み込めませんでした。

※違いは、USB_SD_Reader、USB_MS_Reader、USB_SM_Reader、USB_CF_Reader
※つまり、カードリーダー(うちのは4点セット)のドライバーが読み込めなかった、という状態のようだ

あまりに毎回なので「WudfRd」を検索してみたら、同じことを気にしている人がいた。
※スリープからの復帰では警告は出ないが、再起動などの場合は毎回警告される

「Windows Driver Foundation - User-mode Driver Framework」というサービスが出力している警告とのこと。

「コンピューターの管理」から「サービス」を開いて該当のサービスを見てみると説明には、
『ユーザー モード ドライバー プロセスを作成および管理します。このサービスは停止できません。』と書いてある。
「ユーザー モード ドライバー」?なんのこっちゃ。

このサービスの「状態」は『実行中』で、「スタートアップの種類」は『手動(トリガー開始)』。
「スタートアップの種類」を「自動」にすると警告を出さなくなるという情報もあったが、まだ出るという情報もあり。
『手動(トリガー開始)』ということは、何か差し込まれたら実行するということだと思うのだが。

※Windows8.1 では、「自動」にしたら警告は出なくなったのに、Windows10 で再発したという情報もある

このサービスそのものは、カードリーダーなどのデバイスを読み込む装置のためのもののようだけれど、デバイスは認識している模様。
警告だし、デバイスマネージャーではドライブとして認識しているので、気にしなければ無視しててもよさそう。
image_01.png

そう思いつつ、つらつらと「依存関係」のタブを見ると、「このサービスが依存するシステム コンポーネント」に、
『User Mode Driver Frameworks Platform Driver』とある。いわゆる「UMDF」というものだそうだ。
MSDN の概要を勝手要約してみる。

ハードウェアのドライバーをユーザー側(アプリケーション側)からコントロールして利用できるようにする。
カーネル(OS)がハードウェアをコントロールする場合は、ドライバーがクラッシュすると、カーネル(OS)ごとクラッシュするが、
ユーザー側(アプリケーション側)からの場合は、カーネル(OS)はクラッシュしない。
また、ドライバーへのアクセスもイベント発生時にすることができる(起動時にありとあらゆるドライバーを読み込まなくていい)。


これを踏まえて、もう一度イベントログを見ると、最初の警告が発生する直前に、「UMDF リフレクターの起動」の情報が出力されていた。

WUDFPf サービスが見つからなかったため、UMDF リフレクターは起動を完了できませんでした。このサービスは後で Windows を起動するときに、このデバイスを起動しようとした時点で開始される可能性があります。


想像するに、起動時にデバイスでカードリーダーが見つかったので、UMDF が「WUDFPf サービス」を使おうと思ったけれど、
これは『手動(トリガー開始)』で、サービスが起動していないので、それ用のドライバーがなかった。
だから、一応、読み込みたかったドライバーがなかったといことは警告レベルで出力しておこう、ということだろう。

この問題が発見された当時(2012年11月頃 Windows7 の Windows Update で発生し始めた模様: Microsoft コミュニティより)の報告では、警告が発生しているドライブに何かデバイスを差し込んだ状態で起動すると、エラーが発生しなかったというものがある。
そうであれば、サービスを「自動」に設定しておくことで、発生しなくなる理由も納得できる。

「自動」に設定したのにまだ発生している場合は、UMDF が別のデバイスを利用しようとするか、別経路で利用しようとして警告を出しているかもしれない。
ただし、Windows10 で再発した件については、新 OS で不具合かもしれない。

最後に、一応、このドライバーを読み込もうとしているらしい「SWD\WPDBUSENUM」を調べてみる。
これは、「Portable Device Enumerator Service」というサービスで、説明は
『リムーバブル大容量記憶装置用のグループ ポリシーを適用します。Windows Media Player やイメージ インポート ウィザードなどのアプリケーションにより、リムーバブル大容量記憶装置を使用してコンテンツを転送または同期できるようにします。』

よくわからないが、グループポリシーということなのでアクセス権を設定するためのもののようだ。
リムーバブル ドライブ(DVD や USB、メモリカードなど)でアクセス拒否が発生したら、これを疑ってみてもいいかもしれない。

結果的に、イベントドリブンのデバイスを起動時に有効にしようとして、イベントが発生していないデバイスのドライバーを使おうとしたので、
利用するドライバーが見つからなかっただけ、と解釈して、この警告はしばらく無視しておくことにする。
(頻繁に使うわけでもないカードリーダーのドライバーを起動の度に読み込まなくてもいい)
posted by 垂穂(たれほ) at 06:00| Comment(0) | パソコン
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。