ACMDRVOPENDESC
typedef struct {
DWORD cbStruct;
FOURCC fccType;
FOURCC fccComp;
DWORD dwVersion;
DWORD dwFlags;
DWORD dwError;
LPCSTR pszSectionName;
LPCSTR pszAliasName;
DWORD dnDevNode;
} ACMDRVOPENDESC;
The ACMDRVOPENDESC structure is used by the ACM for passing information to an
ACM driver, when the ACM sends the driver a DRV_OPEN
message. ACMDRVOPENDESC is defined in msacmdrv.h.
Members
-
cbStruct
-
Size, in bytes, of the ACMDRVOPENDESC structure.
-
fccType
-
Contains a four-character code identifying the driver type. The driver must
compare this value with ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC, which is defined
in msacm.h to equal the string “audc”. If the member contents does not
match this string, the driver must fail the open request by specifying a DriverProc
return value of zero.
-
fccComp
-
Not used. Defined to contain a four-character code identifying the
driver sub-type.
-
dwVersion
-
Contains the ACM’s version number. The version number’s format is 0xAABBCCCC,
where AA is the major version number, BB is the minor version
number, and CCCC is the build number. This value is also returned by
the ACM’s acmGetVersion function, described in the Win32 SDK.
-
dwFlags
-
Contains flags. This member is identical to the fdwOpen argument passed
to acmDriverOpen. No flags are currently defined.
-
dwError
-
Used by drivers to supply an error code. User-mode drivers are restricted to
specifying a DriverProc return value of zero for all error types. To
provide better error resolution, ACM drivers can specify an error code in this
member, if they set the DriverProc function’s return value to zero. The
error code can be one of the MMSYSERR error codes defined in mmsystem.h,
or one of the ACMERR error codes defined in msacm.h.
-
pszSectionName
-
Contains the registry key under which the driver’s alias is stored. For more
information, see Installing ACM Drivers.
-
pszAliasName
-
Contains the driver’s alias. This is the driver’s “msacm.alias” entry
in the registry. For more information, see Installing
ACM Drivers.
-
dnDevNode
-
Device node ID.
Comments
When the ACM calls an ACM driver’s DriverProc
entry point and specifies a DRV_OPEN message, it
includes an ACMDRVOPENDESC structure as the lParam2 parameter to DriverProc.
The ACM sends a DRV_OPEN message when an application calls the acmDriverOpen
function, which is described in the Win32 SDK. For additional information, see
DriverProc in ACM Drivers.
ACM drivers do not always receive this structure when they receive a
DRV_OPEN message. They only receive the structure if they are called by the
ACM. Circumstances in which a driver is not called by the ACM are as follows:
-
The driver might be called by a Control Panel applet for configuration
purposes.
-
The driver might be designed to be both an ACM driver and an audio device
driver. When such a driver is called by winmm.dll for device
operations, it does not receive the structure. (For more information, see Providing
ACM Support in Device Drivers.)