ACMSTREAMHEADER
The ACMSTREAMHEADER
structure defines the header used to identify an ACM conversion source and
destination buffer pair for a conversion stream.
typedef struct {
DWORD cbStruct;
DWORD fdwStatus;
DWORD dwUser;
LPBYTE
pbSrc;
DWORD cbSrcLength;
DWORD cbSrcLengthUsed;
DWORD dwSrcUser;
LPBYTE
pbDst;
DWORD cbDstLength;
DWORD cbDstLengthUsed;
DWORD dwDstUser;
DWORD dwReservedDriver[10];
} ACMSTREAMHEADER;
Members
cbStruct
Size, in
bytes, of the ACMSTREAMHEADER structure. This member must be initialized
before the application calls any ACM stream functions using this structure. The
size specified in this member must be large enough to contain the base ACMSTREAMHEADER
structure.
fdwStatus
Flags giving
information about the conversion buffers. This member must be initialized to
zero before the application calls the acmStreamPrepareHeader
ACMSTREAMHEADER_STATUSF_DONE
Set by the
ACM or driver to indicate that it is finished with the conversion and is
returning the buffers to the application.
ACMSTREAMHEADER_STATUSF_INQUEUE
Set by the
ACM or driver to indicate that the buffers are queued for conversion.
ACMSTREAMHEADER_STATUSF_PREPARED
Set by the
ACM to indicate that the buffers have been prepared by using the acmStreamPrepareHeader
dwUser
User data.
This can be any instance data specified by the application.
pbSrc
Address of
the source buffer. This pointer must always refer to the same location while
the stream header remains prepared. If an application needs to change the
source location, it must unprepare the header and reprepare it with the
alternate location.
cbSrcLength
Length, in
bytes, of the source buffer pointed to by pbSrc. When the header is
prepared, this member must specify the maximum size that will be used in the
source buffer. Conversions can be performed on source lengths less than or
equal to the original prepared size. However, this member must be reset to the
original size when an application unprepares the header.
cbSrcLengthUsed
Amount of
data, in bytes, used for the conversion. This member is not valid until the
conversion is complete. This value can be less than or equal to cbSrcLength.
An application must use the cbSrcLengthUsed member when advancing to the
next piece of source data for the conversion stream.
dwSrcUser
User data.
This can be any instance data specified by the application.
pbDst
Address of
the destination buffer. This pointer must always refer to the same location
while the stream header remains prepared. If an application needs to change the
destination location, it must unprepare the header and reprepare it with the
alternate location.
cbDstLength
Length, in
bytes, of the destination buffer pointed to by pbDst. When the header is
prepared, this member must specify the maximum size that will be used in the
destination buffer.
cbDstLengthUsed
Amount of
data, in bytes, returned by a conversion. This member is not valid until the
conversion is complete. This value can be less than or equal to cbDstLength.
An application must use the cbDstLengthUsed member when advancing to the
next destination location for the conversion stream.
dwDstUser
User data.
This can be any instance data specified by the application.
dwReservedDriver
Reserved; do
not use. This member requires no initialization by the application and should
never be modified while the header remains prepared.
Remarks
Before an ACMSTREAMHEADER
structure can be used for a conversion, it must be prepared by using the acmStreamPrepareHeader
See Also