다음을 통해 공유


디스패치 테이블 만들기

네트워크 공급자 필터가 필터의 instance 열고 초기화하고 나중에 필터 instance 해제할 수 있도록 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
};