ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

MMRESULT WINAPI acmFilterDetailsW ( HACMDRIVER  had,
PACMFILTERDETAILSW  pafd,
DWORD  fdwDetails 
)

Definition at line 88 of file filter.c.

Referenced by acmFilterDetailsA(), and MSACM_FilterEnumHelper().

{
    MMRESULT            mmr;
    ACMFILTERTAGDETAILSA    aftd;

    TRACE("(%p, %p, %d)\n", had, pafd, fdwDetails);

    memset(&aftd, 0, sizeof(aftd));
    aftd.cbStruct = sizeof(aftd);

    if (pafd->cbStruct < sizeof(*pafd)) return MMSYSERR_INVALPARAM;

    switch (fdwDetails) {
    case ACM_FILTERDETAILSF_FILTER:
    if (pafd->dwFilterTag != pafd->pwfltr->dwFilterTag) {
        mmr = MMSYSERR_INVALPARAM;
        break;
    }
    if (had == NULL) {
        PWINE_ACMDRIVERID       padid;

        mmr = ACMERR_NOTPOSSIBLE;
        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID) {
        /* should check for codec only */
        if (!(padid->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_DISABLED) &&
            acmDriverOpen(&had, (HACMDRIVERID)padid, 0) == 0) {
            mmr = MSACM_Message(had, ACMDM_FILTER_DETAILS,
                    (LPARAM)pafd, (LPARAM)fdwDetails);
            acmDriverClose(had, 0);
            if (mmr == MMSYSERR_NOERROR) break;
        }
        }
    } else {
        mmr = MSACM_Message(had, ACMDM_FILTER_DETAILS, (LPARAM)pafd, fdwDetails);
    }
    break;
    case ACM_FILTERDETAILSF_INDEX:
    /* should check pafd->dwFilterIndex < aftd->cStandardFilters */
    mmr = MSACM_Message(had, ACMDM_FILTER_DETAILS, (LPARAM)pafd, fdwDetails);
    break;
    default:
    WARN("Unknown fdwDetails %08x\n", fdwDetails);
    mmr = MMSYSERR_INVALFLAG;
    break;
    }

    TRACE("=> %d\n", mmr);
    return mmr;
}

Generated on Sat May 26 2012 05:11:24 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.