おそらくそれはデバイスドライバのバグです(私は確かにそうだと思います)が、それらはすべて同じように機能しているように見えます...そうではありません。したがって、現時点では、Microsoft(おそらく最大の開発者)がこのように機能するはずだとあなたに信じさせても(私のWindows7 Microsoftドライバーでは機能しない)、デバイスドライバー開発者にデバイスの特性を変更させることはできないと思います。SDカードをUSBデバイスに挿入しても、WM_DEVICECHANGEメッセージはトリガーされません。
メディアタイプのデバイスにはSHChangeNotifyRegisterを使用します。レジスタデバイス通知は必要ありません。また、SHGetPathFromIDListを介してドライブ文字を取得できます。SHCNE_MEDIAINSERTEDおよびSHCNE_MEDIAREMOVEDを使用します。
メディアデバイスではなくハードウェアデバイスを探している場合は、デバイスONDeviceNotifyを使用してください。そうでない場合は、独自のデバイスドライバーを作成できる可能性があります。
このコメントのコードを参照してくださいCodeProject-Windowsメッセージのトラップ