Directshow中如何彻底释放对文件的使用占用???我已经将filter进行了release,但为什么进行别的操作时候,总是提示文件被占用?
解决方案 »
- 如何给DataGrid控件添加右键菜单?
- VC7.1中如何摆脱WinNT.h
- 请问GDI+中如何使用new来进行对象构造?
- 请问:VC里面以下划线开头的定义是什么东东?
- 带struct 结构的delete问题,需要高手帮忙
- 数值格式(access和vc++6.0之间的转化)
- SCSI_PASS_THROUGH_DIRECT无法返回正确的sense信息
- 简单的问题:怎样得到edit输入框中password样式的真正内容?
- 一个奇怪的问题,
- opengl中各种旋转问题~`
- vc2008的工程文件能否转到vc6?
- Microsoft.XMLDOM documentElement.dataType = "bin.base64" 不是标准的BASE64编码
void main(void)
{
IGraphBuilder *pGraph = NULL;
IMediaControl *pControl = NULL;
IMediaEvent *pEvent = NULL; // Initialize the COM library.
HRESULT hr = CoInitialize(NULL);
if (FAILED(hr))
{
printf("ERROR - Could not initialize COM library");
return;
} // Create the filter graph manager and query for interfaces.
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
if (FAILED(hr))
{
printf("ERROR - Could not create the Filter Graph Manager.");
return;
} hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); // Build the graph. IMPORTANT: Change this string to a file on your system.
hr = pGraph->RenderFile(L"C:\\Example.avi", NULL);
if (SUCCEEDED(hr))
{
// Run the graph.
hr = pControl->Run();
if (SUCCEEDED(hr))
{
// Wait for completion.
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode); // Note: Do not use INFINITE in a real application, because it
// can block indefinitely.
}
}
pControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
}
试试这段代码的播放后释放是否有同样的问题