avstream开发中的过滤器工厂Reference GUID如何设置为GLOBAL

why so many error 41 信誉分
2025-03-28T03:55:37.7066667+00:00

在avstream开发驱动遇到一个问题,过滤器工厂的Reference GUID是一个GUID

KSFILTER_DESCRIPTOR

AvsCameraFilterDescriptorFFC =
{
    &AvsCameraFilterDispatch,               // Dispatch Table
    &AvsCameraFilterAutomationTableFFC,     // Automation Table
    KSFILTER_DESCRIPTOR_VERSION,            // Version
    KSFILTER_FLAG_PRIORITIZE_REFERENCEGUID, // Flags
    &AvsCam_FrontCamera_Filter,          // Reference GUID
    DEFINE_KSFILTER_PIN_DESCRIPTORS(PinDescriptors),
    DEFINE_KSFILTER_CATEGORIES(FilterCategories),
    0,
    sizeof(KSNODE_DESCRIPTOR),
    NULL,
    0,
    NULL,
    NULL                                    // Component ID
};

根据文档说明,通常与Inf的相关节使用相同的值

[AvsCamera.Interfaces]
AddInterface=%KSCATEGORY_VIDEO_CAMERA%,%AvsCamera_FrontFilterName%,FrontCameraInterface.NT,
AddInterface=%KSCATEGORY_VIDEO%,%AvsCamera_FrontFilterName%,FrontCameraInterface.NT,
AddInterface=%KSCATEGORY_CAPTURE%,%AvsCamera_FrontFilterName%,FrontCameraInterface.NT

而这样设置会在设备接口的实例下创建一个键。这里是b27e388。。。

用户的图像

我看到他人的Inf文件会这样设置:

AddInterface=%KSCATEGORY_CAPTURE%,"GLOBAL",CaptureInterfaceSec

我也希望我的驱动同样设置在GLOBAL键下而不是单独创建一个健,因为单独创建的键缺少很多值,并且观察到系统自带的USBVIdeo驱动创建的设备属性也在GLOBAL键下,我认为创建在GLOBAL键下是建议的做法,但是我找不到任何资料与文档,不知道如何理解其中的关系与如何设置

Windows 商业版 | 面向 IT 专业人士的 Windows 客户端 | 设备和部署 | 其他
0 个注释 无注释
{count} 票

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。