WIA ドライバーの名前空間
すべてのサービスはセッション 0 で実行されます。 ただし、アプリケーションは、異なるセッションで実行されている可能性があります。 各セッションには独自の名前空間があります。 そのため、あるセッションで作成された名前付きオブジェクトは、通常、別のセッションのコンポーネントには表示されません。
この問題を解決するには、両方のコンポーネントが同一の名前空間を利用するように設定する必要があります。 その最も簡単な方法は、グローバル名前空間を使用することです。 バンドルされたコンポーネントが WIA 以外の方法でデバイスにアクセスする場合、WIA ドライバーとのアクセスを同期するために MyDeviceLock という名前のミューテックス オブジェクトを使用する可能性があります。 ューテックスの名前をグローバル名前空間に配置するには、Global\MyDeviceLock という名前を付ける必要があります。 Global\MyDeviceLock という名前のミューテックスは、実行されているセッションに関係なく、ドライバーとアプリケーションの両方に表示されます。これは、両者ともにその名前がグローバル名前空間に属することを指定しているからです。
詳細については、Microsoft Windows SDK ドキュメントの「カーネル オブジェクトの名前空間」を参照してください。