다음을 통해 공유


CoRegisterDeviceCatalog 함수(combaseapi.h)

다운로드한 DLL이 MFT(Media Foundation Transform) 디바이스 카탈로그 인터페이스를 실행 중인 프로세스 내에 등록하여 마샬링 코드가 해당 인터페이스를 마샬링할 수 있도록 합니다.

Syntax

HRESULT CoRegisterDeviceCatalog(
  PCWSTR                   deviceInstanceId,
  CO_DEVICE_CATALOG_COOKIE *cookie
);

매개 변수

deviceInstanceId

형식: _In_ PCWSTR

등록할 디바이스의 인스턴스 식별자를 포함하는 null로 끝나는 문자열입니다.

cookie

형식: _Out_ CO_DEVICE_CATALOG_COOKIE*

CO_DEVICE_CATALOG_COOKIE 인스턴스를 반환합니다. 이 값을 사용하여 CoRevokeDeviceCatalog를 사용하여 디바이스 카탈로그를 취소할 수 있습니다.

반환 값

이 함수는 표준 반환 값 E_INVALIDARG, E_OUTOFMEMORYS_OK 반환할 수 있습니다.

비고

예시

std::vector<CO_DEVICE_CATALOG_COOKIE> g_deviceCatalogsCookies;

HRESULT MFStartup(ULONG Version, DWORD dwFlags)
{
    // current MFStartup code elided.
    std::wstring devices{ /* set of device IDs of interest */ };
    for (const auto& device : devices)
    {
        CO_DEVICE_CATALOG_COOKIE cookie{};
        RETURN_IF_FAILED(CoRegisterDeviceCatalog(device.c_str(), &cookie));
        g_deviceCatalogsCookies.push_back(cookie);
    }

    return S_OK;
}

HRESULT STDMETHODCALLTYPE MFShutdown()
{
    // current MFShutdown code elided
    for (auto catalogCookie : g_deviceCatalogsCookies)
    {
        CoRevokeDeviceCatalog(catalogCookie);
    }

    return S_OK;
}

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 10 버전 2004(10.0; 빌드 19041)
지원되는 최소 서버 Windows Server 버전 2004(10.0; 빌드 19041)
대상 플랫폼 윈도우즈
Header combaseapi.h(Objbase.h 포함)
Library onecore.lib
DLL combase.dll

참고하십시오