IKsClockPropertySet::KsGetState メソッド (ksproxy.h)

KsGetState メソッドは、基になるクロックからピンのストリーミング状態を取得します。

構文

HRESULT KsGetState(
  [out] KSSTATE *State
);

パラメーター

[out] State

ピンのストリーミング状態を指定する値を受け取る変数へのポインター。 この値には、 KSSTATE 列挙型の次のいずれかの値を指定できます。

説明
KSSTATE_STOP ピン間のデータのストリーミングが停止します。 リソース使用量が最も少ず、 KSSTATE_RUN 状態を取得するための待機時間が最も長いピンの初期状態を表します。
KSSTATE_ACQUIRE アロケーターがネゴシエートされ、リソースが取得された状態を表しますが、この状態ではデータをバッファーに格納することはできません。
KSSTATE_PAUSE クロックは待機中であり、 KSSTATE_RUN 状態に即座に変更する準備が整います。 実際に KSSTATE_RUN 状態にすることなく、ほとんどのリソース使用量と実行状態の最小待機時間のモードを表します。 データは、この状態でバッファーに格納できます。 ピンの状態が照会され、その状態が現在一時停止されている場合、ピンはSTATUS_NO_DATA_DETECTEDのエラーを返して、一時停止状態のときにこのピンがデータのキューを実行しないことを示す可能性があります。
KSSTATE_RUN ピンはデータをストリーミングしています。 つまり、ピンはストリーム データを使用または生成します。

戻り値

成功した場合は NOERROR を返します。それ以外の場合は、エラー コードを返します。

注釈

ピンの状態は、ピンの総モーター制御を提供します。 細かいモーター制御は、カスタムプロパティを使用してクラスごとに行われます。 たとえば、外部レーザー ディスク プレーヤーを起動させるために、そのクラスに固有のカスタム Mode プロパティを設定できます。 このプロパティを設定すると、デバイスの状態が変更される場合もありますが、モードの効果によっては必ずしも変わるとは限りません。

フィルター自体は、アプリケーションがフィルターの状態全体を設定できるように、この状態プロパティをサポートできます。 それ以外の場合は、各ピンの状態が設定されている必要があります。 ピンの状態がKSSTATE_STOPから切り替わると、IRP を転送する各接続でスタックの深さを再計算する必要があります。

プロキシは、KSPROPERTY_CLOCK_STATE プロパティを使用して、ピンのストリーミング状態を取得します。

要件

要件
対象プラットフォーム デスクトップ
Header ksproxy.h (Ksproxy.h を含む)