ACMSTREAMHEADER 構造体 (msacm.h)

ACMSTREAMHEADER 構造体は、変換ストリームの ACM 変換ソースと宛先バッファーのペアを識別するために使用されるヘッダーを定義します。

構文

typedef struct tACMSTREAMHEADER {
  DWORD     cbStruct;
  DWORD     fdwStatus;
  DWORD_PTR dwUser;
  LPBYTE    pbSrc;
  DWORD     cbSrcLength;
  DWORD     cbSrcLengthUsed;
  DWORD_PTR dwSrcUser;
  LPBYTE    pbDst;
  DWORD     cbDstLength;
  DWORD     cbDstLengthUsed;
  DWORD_PTR dwDstUser;
  DWORD     dwReservedDriver[_DRVRESERVED];
} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;

メンバー

cbStruct

ACMSTREAMHEADER 構造体のサイズ (バイト単位)。 この構造体を使用してアプリケーションが ACM ストリーム関数を呼び出す前に、このメンバーを初期化する必要があります。 このメンバーで指定するサイズは、基本 ACMSTREAMHEADER 構造体を格納するのに十分な大きさである必要があります。

fdwStatus

変換バッファーに関する情報を提供するフラグ。 このメンバーは、アプリケーションが acmStreamPrepareHeader 関数を呼び出す前に 0 に初期化する必要があります。ストリーム ヘッダーの準備が整っている間は、アプリケーションで変更しないでください。

Name 説明
ACMSTREAMHEADER_STATUSF_DONE
ACM またはドライバーによって設定され、変換が完了し、バッファーがアプリケーションに返されることを示します。
ACMSTREAMHEADER_STATUSF_INQUEUE
バッファーが変換のためにキューに登録されていることを示すために、ACM またはドライバーによって設定されます。
ACMSTREAMHEADER_STATUSF_PREPARED
ACM によって設定され、バッファーが acmStreamPrepareHeader 関数を使用して準備されたことを示します。

dwUser

ユーザー データ。 これには、アプリケーションで指定された任意のインスタンス データを指定できます。

pbSrc

ソース バッファーへのポインター。 ストリーム ヘッダーの準備が維持されている間、このポインターは常に同じ場所を参照する必要があります。 アプリケーションでソースの場所を変更する必要がある場合は、ヘッダーの準備を解除し、別の場所で再表示する必要があります。

cbSrcLength

pbSrc が指すソース バッファーの長さ (バイト単位)。 ヘッダーが準備されている場合、このメンバーはソース バッファーで使用される最大サイズを指定する必要があります。 変換は、元の準備されたサイズ以下のソース長に対して実行できます。 ただし、アプリケーションがヘッダーの準備を解除する場合は、このメンバーを元のサイズにリセットする必要があります。

cbSrcLengthUsed

変換に使用されるデータの量 (バイト単位)。 変換が完了するまで、このメンバーは無効です。 この値は cbSrcLength 以下にすることができます。 アプリケーションは、変換ストリームの次のソース データに進むときに cbSrcLengthUsed メンバーを使用する必要があります。

dwSrcUser

ユーザー データ。 これには、アプリケーションで指定された任意のインスタンス データを指定できます。

pbDst

宛先バッファーへのポインター。 ストリーム ヘッダーの準備が維持されている間、このポインターは常に同じ場所を参照する必要があります。 アプリケーションで宛先の場所を変更する必要がある場合は、ヘッダーの準備を解除し、別の場所で再表示する必要があります。

cbDstLength

pbDst が指す宛先バッファーの長さ (バイト単位)。 ヘッダーが準備されたら、このメンバーは宛先バッファーで使用される最大サイズを指定する必要があります。

cbDstLengthUsed

変換によって返されるデータの量 (バイト単位)。 変換が完了するまで、このメンバーは無効です。 この値は cbDstLength 以下にすることができます。 アプリケーションは、変換ストリームの次の宛先の場所に進むときに 、cbDstLengthUsed メンバーを使用する必要があります。

dwDstUser

ユーザー データ。 これには、アプリケーションで指定された任意のインスタンス データを指定できます。

dwReservedDriver[_DRVRESERVED]

予約済みです。使わないでください。 このメンバーは、アプリケーションによる初期化を必要とせず、ヘッダーの準備中に変更しないでください。

解説

変換に ACMSTREAMHEADER 構造体を使用する前に、 acmStreamPrepareHeader 関数を使用して準備する必要があります。 ACMSTREAMHEADER 構造体を使用してアプリケーションが終了したら、ソース バッファーとコピー先バッファーを解放する前に、acmStreamUnprepareHeader 関数を呼び出す必要があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header msacm.h

関連項目

オーディオ圧縮マネージャー

オーディオ圧縮構造

acmStreamPrepareHeader

acmStreamUnprepareHeader