WindowsライブラリにSDカード等のリムーバブルデバイスを追加する

| コメント(0) | トラックバック(0)

緒言

Windowsのライブラリは特にWindows 8/RTにとっては標準のフォトやミュージックといったアプリケーションを使うために非常に重要です。特に必然的にModern Style Appsでの作業が多くなるSurface等のWindows RT環境では特に重要です。しかし、ライブラリにはリムーバブルデバイスを追加できない制約があり、ストレージの制約からMicro SDカードをストレージとして扱いたいSurface RTの特に32GBモデルでは厄介な制約になります。

この制約に直面したとき、直ぐに思いついたのがリパースポイントで逃れられないのかでした。そして、実際にリパースポイントを設置して確認してみたところ、どうやらうまくいったので報告します。

本論

ライブラリでリムーバブルデバイスを登録できないのは純粋に技術的な見地ではリムーバブルなデバイスをライブラリに登録された場合、メディアの交換に伴って生じるデータベースの更新が問題になるからだと考えられます。しかし、Micro SDカードは交換を想定したデバイスとはいいがたくSurface RTでもキックスタンドの内側という交換しにくい位置に設置されています。従って、多くの場合、データベースの更新が必要になる可能性は低くこの問題は生じにくいと考えます。

そうなると、どのようにしてシステムのデバイスの認識を騙すかが問題となりますがライブラリの登録時にはドライブレターでデバイスの情報を取出し、判断を行っていると推定されます。従って、ドライブレターにデバイスを割り当てずリパースポイントで固定ディスクと認識されるデバイスの下位のディレクトリにリンクすればこの制約を逃れられる可能性があります。

方法

今回はSurface RT上でmklinkコマンドを使用しジャンクションを作成して対応した。

Usage:

MKLINK [[/D] | [/H] | [/J]] <リンク> <ターゲット>

       /D          ディレクトリのシンボリック リンクを作成します。既定では、
                  
ファイルのシンボリック リンクが作成されます。
       /H         
シンボリック リンクではなく、ハード リンクを作成します。
       /J         
ディレクトリ ジャンクションを作成します。
      
リンク      新しいシンボリック リンク名を指定します。
      
ターゲット  新しいリンクが参照するパス (相対または絶対)
                  
を指定します。

であるので、今回は

MKLINK /J c:\users\\SDCard d:\

とした。

結論

そして、作成したジャンクションをライブラリに登録することにより、本アーティクルの目的であるMicroSDカードをライブラリに登録することができた。

トラックバック(0)

トラックバックURL: http://movabletype.grayrecord.com/mt-tb.cgi/110

コメントする

ウェブページ

Powered by Movable Type 6.0.3

このブログ記事について

このページは、Webmasterが2013年4月 9日 06:57に書いたブログ記事です。

ひとつ前のブログ記事は「AppLog SDK、サービス停止」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。