Gönderme Tabloları Oluşturma

Ağ sağlayıcısı filtresinin filtrenin bir örneğini açıp başlatabilmesi ve daha sonra filtre örneğini serbest bırakabilmesi için BDA minidriver'ın filtre tanımlayıcısı (KSFILTER_DESCRIPTOR) için bir filtre gönderim tablosu oluşturmanız gerekir. Ayrıca, filtrenin şablon topolojisinde bulunan pin türleri dizisinde her pin tanımlayıcısı (KSPIN_DESCRIPTOR_EX) için bir pin gönderim tablosu oluşturmanız gerekir. Ağ sağlayıcısı filtresi, bir pini açıp başlatmak ve ardından serbest bırakmak için bir pin gönderim tablosu kullanır. Aşağıdaki kod parçacığında, filtre ve pin gönderim tablolarının örnekleri gösterilmektedir:

//
//  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
};