ACMDRVSTREAMINSTANCE

typedef struct {

    DWORD cbStruct;

    LPWAVEFORMATEX pwfxSrc;

    LPWAVEFORMATEX pwfxDst;

    LPWAVEFILTER pwfltr;

    DWORD dwCallback;

    DWORD dwInstance;

    DWORD fdwOpen;

    DWORD fdwDriver;

    DWORD dwDriver;

    HACMSTREAM has;

} ACMDRVSTREAMINSTANCE;

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

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.