0

私が使用するメディアを認識するためにSHGetDriveMedia; 参照用に渡す 2 番目のパラメーターpdwMediaContentで、API はコンテンツのタイプを挿入します。ただし、認識は非同期で行われます。API がいつ認識を終了したかを知るにはどうすればよいですか?

4

1 に答える 1

4

非同期ではありません。ディスクをドライブに挿入した直後に呼び出すと、「スニッフィング段階」になり、ディスクを自動再生する方法を決定しようとします。関数が戻るときにARCONTENTフラグで返すことができる検出フェーズがいくつかあります。

ARCONTENT_PHASE_UNKNOWN (0x00000000)
  Introduced in Windows Vista. AutoPlay is searching the media. The phase of the 
  search (presniff, sniffing, or final) is unknown.

ARCONTENT_PHASE_PRESNIFF (0x10000000)
  Introduced in Windows Vista. The contents of the media are known before the 
  media is searched, due to the media type; for instance, audio CDs and DVD movies.

ARCONTENT_PHASE_SNIFFING (0x20000000)
  Introduced in Windows Vista. AutoPlay is currently searching the media. Any 
  results reported during this phase should be considered a partial list as more 
  content types might still be found.

ARCONTENT_PHASE_FINAL (0x40000000)
  Introduced in Windows Vista. AutoPlay has finished searching the media. Results 
  reported are final.

ARCONTENT_PHASE_MASK (0x70000000)
  Introduced in Windows Vista. A mask that denotes valid ARCONTENT_PHASE values.

これは、(上記のテキストに基づいてARCONTENT_PHASE_FINAL)返されたフラグでその値を受け取るまで、この関数を複数回呼び出す必要があることを示しているようです。その時点で、ディスクのフラグの他の値を確認できます。タイプ。

于 2012-08-01T16:39:22.963 に答える