Retrieving a String That Describes a Filter
An application often needs to display a string that describes the current
format. This task can be accomplished easily with the
acmFilterTagDetails and
acmFilterDetails functions. These functions must be called with the appropriate filter or
filter tag. The following example shows how to use these functions.
BOOL GetFilterDescription
(
LPWAVEFILTER pwfltr,
LPTSTR pszFilterTag,
LPTSTR pszFilter
)
{
MMRESULT mmr;
// Retrieve the name for the filter tag of the specified filter.
if (NULL != pszFilterTag) {
ACMFILTERTAGDETAILS aftd;
// Initialize all unused members of the ACMFILTERTAGDETAILS
// structure to zero.
memset(&aftd, 0, sizeof(aftd));
// Fill in the required members of the ACMFILTERTAGDETAILS
// structure for the ACM_FILTERTAGDETAILSF_FILTERTAG query.
aftd.cbStruct = sizeof(aftd);
aftd.dwFilterTag = pwfltr->dwFilterTag;
// Ask the ACM to find the first available driver that
// supports the specified filter tag.
mmr = acmFilterTagDetails(NULL, &aftd,
ACM_FILTERTAGDETAILSF_FILTERTAG);
if (MMSYSERR_NOERROR != mmr) {
// No ACM driver is available that supports the
// specified filter tag.
return (FALSE);
}
// Copy the filter tag name into the calling application's
// buffer.
lstrcpy(pszFilterTag, aftd.szFilterTag);
}
// Retrieve the description of the attributes for the specified
// filter.
if (NULL != pszFilter) {
ACMFILTERDETAILS afd;
// Initialize all unused members of the ACMFILTERDETAILS
// structure to zero.
memset(&afd, 0, sizeof(afd));
// Fill in the required members of the ACMFILTERDETAILS
// structure for the ACM_FILTERDETAILSF_FILTER query.
afd.cbStruct = sizeof(afd);
afd.dwFilterTag = pwfltr->dwFilterTag;
afd.pwfltr = pwfltr;
afd.cbwfltr = pwfltr->cbStruct;
// Ask the ACM to find the first available driver that
// supports the specified filter.
mmr = acmFilterDetails(NULL, &afd, ACM_FILTERDETAILSF_FILTER);
if (MMSYSERR_NOERROR != mmr) {
// No ACM driver is available that supports the
// specified filter.
return (FALSE);
}
// Copy the filter attributes description into the calling
// application's buffer.
lstrcpy(pszFilter, afd.szFilter);
}
return (TRUE);
}
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database