KsCreatePin 関数 (ks.h)

KsCreatePin 関数は、接続要求をデバイスに渡して、ピン インスタンスを作成します。 この関数は、カーネル モード クライアントの PASSIVE_LEVEL でのみ呼び出すことができます。

構文

KSDDKAPI NTSTATUS KsCreatePin(
  [in]  HANDLE         FilterHandle,
  [in]  PKSPIN_CONNECT Connect,
  [in]  ACCESS_MASK    DesiredAccess,
  [out] PHANDLE        ConnectionHandle
);

パラメーター

[in] FilterHandle

作成要求を開始するフィルターのハンドルと、接続が発生する場所を指定します。

[in] Connect

要求された接続のパラメーターを含む KSPIN_CONNECT 構造体へのポインター。 これは、接続に要求されたデータ形式を記述する KSDATAFORMAT データ構造によってメモリ内で実行する必要があります。

[in] DesiredAccess

ピンに必要なアクセス権を指定します。 これは通常、 GENERIC_READ または GENERIC_WRITEです。 ピンに流れ込むデータの場合は、この値を GENERIC_WRITEに設定し、ピンから流れ出すデータの場合は、通信方法に関係なく GENERIC_READ に設定する必要があります。

[out] ConnectionHandle

渡される接続ハンドルを指定します。 ルーチンは、作成された接続のファイル オブジェクトへのハンドルでこれを埋めます。 この値を使用して、 CloseHandle 関数との接続を解除できます。

戻り値

KsCreatePin 関数は、接続が成功した場合はSTATUS_SUCCESSを返します。接続に失敗した場合はエラーを返します。 さらに、この Win32 エラー コード (Winerror.h から) を返すことができます。

注釈

ルーチンは、 ドライバーにIRP_MJ_CREATE 要求を送信します。 ドライバーは、インターフェイス、メディア、およびデータ形式に互換性がある場合にのみ、要求を受け入れます。

Connect-PinToHandle> が NULL の場合、KsCreatePin は、呼び出し元が Connect-FilterHandle> で指定されたストリーミング ドライバーに要求を送信するために使用できるピンを作成します。 Connect-PinId> は、作成するピンのピンの種類を決定します。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib

こちらもご覧ください

IRP_MJ_CREATE

KSDATAFORMAT

KSPIN_CONNECT