我想在我的程序中使用这个API函数,acmDriverDetails,我的声明是这样的:
function acmDriverDetails(hadid: HACMDRIVERID; padd: PACMDRIVERDETAILS; fdwDetails: DWORD): DWord; stdcall; external 'msacm32.dll';程序运行时出现提示:
   无法定位程序输入点acmDriverDetails 于动态链接库msacm32.dll上。请大家帮帮忙:
MSDN的链接是这里:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp

解决方案 »

  1.   

    这是好像是DDK包的,DELPHI没有提供类似的开包发,即使你声明对了,也不一定能用。
      

  2.   

    typedef struct {  
        DWORD  cbStruct;  
        FOURCC fccType; 
        FOURCC fccComp; 
        WORD   wMid; 
        WORD   wPid; 
        DWORD  vdwACM; 
        DWORD  vdwDriver; 
        DWORD  fdwSupport; 
        DWORD  cFormatTags; 
        DWORD  cFilterTags; 
        HICON  hicon; 
        char  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; 
        char  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; 
        char  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; 
        char  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];     char  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; 
    } ACMDRIVERDETAILS; 
      

  3.   

    MemberscbStructSize, in bytes, of the valid information contained in the ACMDRIVERDETAILS structure. An application should initialize this member to the size, in bytes, of the desired information. The size specified in this member must be large enough to contain the cbStruct member of the ACMDRIVERDETAILS structure. When the acmDriverDetails function returns, this member contains the actual size of the information returned. The returned information will never exceed the requested size.fccTypeType of the driver. For ACM drivers, set this member to ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC.fccCompSubtype of the driver. This member is currently set to ACMDRIVERDETAILS_FCCCOMP_UNDEFINED (zero).wMidManufacturer identifier. Manufacturer identifiers are defined in Manufacturer and Product Identifiers.wPidProduct identifier. Product identifiers are defined in Manufacturer and Product Identifiers.vdwACMVersion of the ACM for which this driver was compiled. The version number is a hexadecimal number in the format 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number. The version parts (major, minor, and build) should be displayed as decimal numbers.vdwDriverVersion of the driver. The version number is a hexadecimal number in the format 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number. The version parts (major, minor, and build) should be displayed as decimal numbers.fdwSupportSupport flags for the driver. The following values are defined:ACMDRIVERDETAILS_SUPPORTF_ASYNCDriver supports asynchronous conversions.ACMDRIVERDETAILS_SUPPORTF_CODECDriver supports conversion between two different format tags. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, this flag is set.ACMDRIVERDETAILS_SUPPORTF_CONVERTERDriver supports conversion between two different formats of the same format tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM, this flag is set.ACMDRIVERDETAILS_SUPPORTF_DISABLEDDriver has been disabled. This flag is set by the ACM for a driver when it has been disabled for any of a number of reasons. Disabled drivers cannot be opened and can be used only under very limited circumstances.ACMDRIVERDETAILS_SUPPORTF_FILTERDriver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.ACMDRIVERDETAILS_SUPPORTF_HARDWAREDriver supports hardware input, output, or both through a waveform-audio device. An application should use the acmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indexes to get the waveform-audio device identifiers associated with the supporting ACM driver.ACMDRIVERDETAILS_SUPPORTF_LOCALThe driver has been installed locally with respect to the current task.cFormatTagsNumber of unique format tags supported by this driver.cFilterTagsNumber of unique filter tags supported by this driver.hiconHandle of a custom icon for this driver. An application can use this icon for referencing the driver visually. This member can be NULL.szShortNameNull-terminated string that describes the name of the driver. This string is intended to be displayed in small spaces.szLongNameNull-terminated string that describes the full name of the driver. This string is intended to be displayed in large (descriptive) spaces.szCopyrightNull-terminated string that provides copyright information for the driver.szLicensingNull-terminated string that provides special licensing information for the driver.szFeaturesNull-terminated string that provides special feature information for the driver.
      

  4.   

    The acmDriverDetails function queries a specified ACM driver to determine its capabilities.MMRESULT acmDriverDetails(    HACMDRIVERID hadid,
        LPACMDRIVERDETAILS padd,
        DWORD fdwDetails
       );
     ParametershadidHandle of the driver identifier of an installed ACM driver. Disabled drivers can be queried for details.paddAddress of an ACMDRIVERDETAILS structure that will receive the driver details. The cbStruct member must be initialized to the size, in bytes, of the structure.fdwDetailsReserved; must be zero. Return ValuesReturns zero if successful or an error otherwise. Possible error values include the following:MMSYSERR_INVALFLAG At least one flag is invalid.
    MMSYSERR_INVALHANDLE The specified handle is invalid.
    MMSYSERR_INVALPARAM At least one parameter is invalid.
      

  5.   

    function acmDriverDetails(hadid : HACMDRIVERID; var padd : TACMDRIVERDETAILS; fdwDetails : DWORD) : MMRESULT; stdcall;
      

  6.   

    const 
    msacm32 = 'msacm32.dll'; function acmDriverDetails; external msacm32 name 'acmDriverDetailsA';