2009-06-06 33 views
2

我正在運行AsyncReader以打開另一個應用程序正在下載的共享MPG文件(漸進式下載)。共享MPG文件使用FILE-SHARE-READ | FILE-SHARE-DELETE | FILE-SHARE-WRITE共享權限創建。我甚至嘗試過所有這些標誌的組合。將DirectShow AsyncReader與C#配合使用

這裏的問題: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. 完整的漸進式下載建立從SDK樣品定製閱讀器和更改文件打開模式,讓寫,你玩它