2009-06-06 10 views
2

私はAsyncReaderを実行して、別のアプリケーションによってダウンロードされている共有MPGファイルを開きます(プログレッシブダウンロード)。共有MPGファイルは、共有アクセス許可FILE-SHARE-READ | FILE-SHARE-DELETE | FILE-SHARE-WRITEで作成されます。私はそれらのフラグのあらゆる組み合わせを試みました。ここでC#でDirectShow AsyncReaderを使用する

は問題だ:C#の内AsyncReader.Loadメソッドはエラーを返します。

file in use

C++の中で、それはしません。 C++はファイルをうまく開きます。

これは何故でしょうか?

答えて

0

Any idea why this is?

File Source (Async) Filterは、他の人が徐々に同じ時間でファイルに書き込むことができずに、ファイルを排他的に開いているためです。

それが試料として利用可能であった古いSDKから同様の/同じ非同期リーダーのコードは、含ま:

// Open the requested file 
HANDLE hFile = CreateFile(lpszFileName, 
          GENERIC_READ, 
          FILE_SHARE_READ, 
          NULL, 
          OPEN_EXISTING, 
          0, 
          NULL); 

FILE_SHARE_READを。あなたのオプションは以下のとおりです。あなたはそれを を演じるよう

  1. コンプリートプログレッシブダウンロード再生
  2. のためにオープンする前に、書き込みを許可するSDKサンプルからカスタムリーダーを構築し、ファイルを開くモードを変更します
関連する問題