ACMDRVSTREAMINSTANCE

The ACMDRVSTREAMINSTANCE structure describes an instance of a conversion stream. ACMDRVSTREAMINSTANCE is defined in msacmdrv.h.

Syntax

typedef struct {
DWORD
cbStruct;
LPWAVEFORMATEX
pwfxSrc;
LPWAVEFORMATEX
pwfxDst;
LPWAVEFILTER
pwfltr;
DWORD
dwCallback;
DWORD
dwInstance;
DWORD
fdwOpen;
DWORD
fdwDriver;
DWORD
dwDriver;
HACMSTREAM
has;
} ACMDRVSTREAMINSTANCE;

Members

cbStruct
Contains the size, in bytes, of the ACMDRVSTREAMINSTANCE structure.
pwfxSrc
Pointer to a WAVEFORMATEX structure that defines the source format for a conversion stream. (WAVEFORMATEX is described in the Win32 SDK.)
pwfxDst
Pointer to a WAVEFORMATEX structure that defines the destination format for a conversion stream.
pwfltr
Pointer to an optional WAVEFILTER structure that defines a filter to be used on a conversion stream. This member is NULL if the application has not specified a filter. ( WAVEFILTER is described in the Win32 SDK.)
dwCallback
Contains the application-specified dwCallback argument to the acmStreamOpen function.
dwInstance
Contains the application-specified dwInstance argument to the acmStreamOpen function.
fdwOpen
Contains the application-specified dwOpen argument to the acmStreamOpen function, which consists of a set of flags. (For flag descriptions, refer to acmStreamOpen in the Win32 SDK.)
fdwDriver
Contains driver-defined stream instance information. While intended for storing flag values, an ACM driver can use this member to store any instance-specific DWORD value. Because the same ACMDRVSTREAMINSTANCE structure is passed with all stream messages associated with a particular stream instance, the stored value can be read or modified each time a stream message is received, and the last saved value will be available the next time a stream message is received.
dwDriver
Contains driver-defined stream instance information. An ACM driver can use this member for storing any instance- specific DWORD value, such as a pointer to a local, dynamically allocated structure. Because the same ACMDRVSTREAMINSTANCE structure is passed with all stream messages associated with a particular stream instance, the stored value can be read or modified each time a stream message is received, and the last saved value will be available the next time a stream message is received.
has
Contains the ACM-defined client handle to the open conversion stream.

Comments

The ACM allocates an ACMDRVSTREAMINSTANCE structure each time an application calls acmStreamOpen. This ACMDRVSTREAMINSTANCE structure is then passed to the driver with all stream messages associated with a particular stream instance. Information in the structure does not change, so if a driver validates information within the structure when it receives an ACMDM_STREAM_OPEN message, it does not have to validate the information again when it receives subsequent messages for the same stream instance.