次の方法で共有


ディスパッチ テーブルの作成

ネットワーク プロバイダー フィルターがフィルターのインスタンスを開いて初期化し、後でそのフィルター インスタンスを解放できるように、BDA ミニドライバーのフィルター記述子 (KSFILTER_DESCRIPTOR) のフィルター ディスパッチ テーブルを作成する必要があります。 また、フィルターのテンプレート トポロジで使用可能なピンタイプの配列に、ピン記述子 (KSPIN_DESCRIPTOR_EX) ごとにピン ディスパッチ テーブルを作成する必要があります。 ネットワーク プロバイダー フィルターは、ピン ディスパッチ テーブルを使用してピンを開いて初期化し、後でピンを解放します。 次のコード スニペットは、フィル ディスパッチ テーブルとピン ディスパッチ テーブルの例を示しています。

//
//  Filter Dispatch Table
//
//  Lists the dispatch routines for major events at the filter
//  level.
//
const
KSFILTER_DISPATCH
FilterDispatch =
{
    CFilter::Create,        // Create
    CFilter::FilterClose,   // Close
    NULL,                   // Process
    NULL                    // Reset
};

//
//  Input Pin Dispatch Table
//  Lists the dispatch routines for major events at the pin level.
//
const
KSPIN_DISPATCH
AntennaPinDispatch =
{
    CAntennaPin::PinCreate,         // Create
    CAntennaPin::PinClose,          // Close
    NULL,                           // Process signal data
    NULL,                           // Reset
    NULL,                           // SetDataFormat
    CAntennaPin::PinSetDeviceState, // SetDeviceState
    NULL,                           // Connect
    NULL,                           // Disconnect
    NULL,                           // Clock
    NULL                            // Allocator
};