示例#1
0
HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub(
    ICatInformation *This,
    ULONG cImplemented,
    CATID rgcatidImpl[],
    ULONG cRequired,
    CATID rgcatidReq[],
    IEnumCLSID** ppenumClsid )
{
    TRACE("(%p)\n", This);
    return ICatInformation_EnumClassesOfCategories( This, cImplemented, rgcatidImpl,
                                                    cRequired, rgcatidReq, ppenumClsid );
}
示例#2
0
文件: comcat.c 项目: bilboed/wine
static void do_enum(void)
{
    HRESULT hr;
    REFCLSID rclsid = &CLSID_StdComponentCategoriesMgr;
    ICatInformation *pICat = (ICatInformation*)0xdeadbeef;
    GUID the_guid[1];
    GUID the_cat[1];
    GUID wanted_guid;
    ULONG fetched = -1;

    static WCHAR szCatID[] = {
        '{',
        'd','e','a','d','c','a','f','e',
        '-','0','0','0','0','-','0','0','0','0',
        '-','0','0','0','0',
        '-','0','0','0','0','0','0','0','0','0','0','0','0',
        '}',0
    };
    static WCHAR szGuid[] = {
        '{',
        'd','e','a','d','c','a','f','e','-',
        'b','e','e','d','-',
        'b','e','a','d','-',
        'd','e','a','d','-',
        'c','a','f','e','b','e','a','d','d','e','a','d',
        '}',0
    };

    IEnumCLSID *pIEnum =(IEnumCLSID*)0xdeadcafe;

    CLSIDFromString(szCatID,the_cat);
    CLSIDFromString(szGuid,&wanted_guid);

    OleInitialize(NULL);

    hr = CoCreateInstance(rclsid,NULL,CLSCTX_INPROC_SERVER,
                          &IID_ICatInformation, (void **)&pICat);
    ok_ole_success(hr, "CoCreateInstance");

    hr = ICatInformation_EnumClassesOfCategories(pICat, -1, NULL, -1, NULL,
            &pIEnum);
    ok_ole_success(hr,"ICatInformation_EnumClassesOfCategories");

    IEnumGUID_Release(pIEnum);

    hr = ICatInformation_EnumClassesOfCategories(pICat, 1, the_cat, -1, NULL,
            &pIEnum);
    ok_ole_success(hr,"ICatInformation_EnumClassesOfCategories");

    hr = IEnumGUID_Next(pIEnum,1,the_guid, &fetched);
    ok (fetched == 0,"Fetched wrong number of guids %u\n",fetched);
    IEnumGUID_Release(pIEnum);

    if (register_testentry())
    {
        hr = ICatInformation_EnumClassesOfCategories(pICat, 1, the_cat, -1, NULL, &pIEnum);
        ok_ole_success(hr,"ICatInformation_EnumClassesOfCategories");

        hr = IEnumGUID_Next(pIEnum,1,the_guid, &fetched);
        ok (fetched == 1,"Fetched wrong number of guids %u\n",fetched);
        ok (IsEqualGUID(the_guid,&wanted_guid),"Guids do not match\n");

        IEnumGUID_Release(pIEnum);
        unregister_testentry();
    }
    else skip( "Could not register the test category\n" );

    ICatInformation_Release(pICat);

    OleUninitialize();
}