typedef struct {
DWORD cbStruct;
LPWAVEFORMATEX pwfxSrc;
LPWAVEFORMATEX pwfxDst;
LPWAVEFILTER pwfltr;
DWORD dwCallback;
DWORD dwInstance;
DWORD fdwOpen;
DWORD fdwDriver;
DWORD dwDriver;
HACMSTREAM has;
} ACMDRVSTREAMINSTANCE;
Contains instance information for an open Audio Compression Manager (ACM) driver conversion stream. This structure is passed as the lParam1 parameter for all ACM driver messages for conversion streams. Except where noted, no members of this structure can be modified by the driver, because they are intended for state information about a conversion stream and are maintained by the ACM.
ACM_STREAMOPENF_ASYNC | Specifies that conversion of the stream should be performed asynchronously. If this flag is specified, the application can use a callback to be notified when the conversion stream is opened and closed, and after each buffer is converted. In addition to using a callback, an application can examine the fdwStatus of the ACMSTREAMHEADER structure for the ACMSTREAMHEADER_STATUSF_DONE flag. |
ACM_STREAMOPENF_NONREALTIME | Specifies that the driver should not consider time constraints when converting the data. By default, the driver should attempt to convert the data in real time. If the conversion cannot be performed in real time, the driver should fail to open the conversion stream by returning ACMERR_NOTPOSSIBLE for the ACMDM_STREAM_OPEN message. |
ACM_STREAMOPENF_QUERY | Specifies that the driver is being queried to determine whether it supports the given conversion. A conversion stream will not be opened. |
CALLBACK_EVENT | Specifies that dwCallback is a handle to an event. |
CALLBACK_FUNCTION | Specifies that dwCallback is a callback procedure address. The function prototype must conform to the acmStreamConvertCallback convention. |
CALLBACK_WINDOW | Specifies that dwCallback is a window handle. |
The ACMDRVSTREAMINSTANCE structure is used to contain instance data for a conversion stream. This structure will be passed as the lParam1 parameter of all conversion-stream driver messages. No members of this structure will change from the initial state passed to the ACMDM_STREAM_OPEN message. Therefore, a driver never needs to validate information in this structure after succeeding the ACMDM_STREAM_OPEN message.
The fdwDriver and dwDriver members of the ACMDRVSTREAMINSTANCE structure can be modified by the driver at any time. All remaining members must not be modified by the driver under any circumstances.
ACMDM_STREAM_CONVERT, ACMDM_STREAM_OPEN, ACMDM_STREAM_PREPARE, ACMDM_STREAM_RESET, ACMDM_STREAM_SIZE, ACMDM_STREAM_UNPREPARE, ACMDRVOPENDESC, ACMDRVSTREAMHEADER, ACMDRVSTREAMSIZE