gpt4 book ai didi

c# - 在 C# 中使用 DirectShow AsyncReader

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:34 24 4
gpt4 key购买 nike

我正在运行一个 AsyncReader 来打开另一个应用程序正在下载的共享 MPG 文件(渐进式下载)。共享 MPG 文件是使用 FILE-SHARE-READ | 创建的文件共享删除 | FILE-SHARE-WRITE 共享权限。我什至尝试了这些标志的所有组合。

这里是问题所在:在 C# 中,AsyncReader.Load 方法返回错误:

file in use

在 C++ 中它没有。 C++ 可以很好地打开文件。

知道这是为什么吗?

最佳答案

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 示例构建自定义阅读器并更改文件打开模式以允许边玩边写

关于c# - 在 C# 中使用 DirectShow AsyncReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com