IOCTL_KS_HANDSHAKE IOCTL (ks.h)

カーネル モード クライアントは、IOCTL_KS_HANDSHAKEを使用して、接続されていない AVStream ピン間のインターフェイスをネゴシエートできます。 クライアントは、IOCTL_KS_HANDSHAKEと以下で説明するパラメーターを使用して KsSynchronousDeviceControl を呼び出します。

既に接続されているピンでプロトコル ハンドシェイクを試行するには、 KsPinHandshake を呼び出します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

クライアントは、InBuffer パラメーターに KSHANDSHAKE 型の構造体へのポインターを配置します。

入力バッファーの長さ

InLength は sizeof(KSHANDSHAKE) と等しい必要があります。

出力バッファー

クライアントは、OutBuffer パラメーターに KSHANDSHAKE 型の構造体へのポインターを配置します。 要求が成功した場合、ハンドシェイク情報はこの場所に配置されます。

出力バッファーの長さ

OutLength は sizeof(KSHANDSHAKE) と等しい必要があります。

ステータス ブロック

要求が成功した場合、IoStatus.Information は sizeof(KSHANDSHAKE) に設定されます。

この IOCTL はカーネル モードからのみ送信できます。 要求がユーザー モードから送信された場合、Status メンバーはSTATUS_INVALID_DEVICE_REQUESTに設定されます。

KsSynchronousDeviceControl の呼び出しの InLength パラメーターと OutLength パラメーターの両方が sizeof(KSHANDSHAKE) と等しくない場合、Status メンバーはSTATUS_INVALID_BUFFER_SIZEに設定されます。

要件

要件
Header ks.h (Ks.h を含む)

こちらもご覧ください

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback