정적 드라이버 검증 도구 NDIS 함수 선언
SDV가 NDIS 드라이버를 확인할 수 있도록 하려면 콜백 함수 역할 형식을 사용하여 각 콜백 함수를 선언해야 합니다. 콜백 함수 역할 형식은 Ndis.h 헤더 파일에 정의되며 해당 헤더 파일을 사용하여 드라이버를 빌드할 때 포함됩니다.
콜백 함수 정의를 선언하기 전에 드라이버의 콜백 함수를 선언해야 합니다. 다음 코드 예제에서는 MiniportInitializeEx 콜백 함수에 대한 함수 역할 형식 선언을 보여줍니다. 이 콜백 함수는 MINIPORT_INITIALIZE 역할 형식을 사용하여 선언해야 합니다. 이 예제에서 콜백 함수를 myMiniportInitializeEx라고 합니다.
#include <ndis.h>
MINIPORT_INITIALIZE myMiniportInitializeEx
콜백 함수에 함수 프로토타입 선언이 있는 경우 함수 프로토타입을 함수 역할 형식 선언으로 바꿔야 합니다. 함수 역할 형식 선언에 대한 자세한 내용은 함수 역할 형식 선언 사용 항목을 참조하세요.
다음 표에서는 콜백 함수 역할 형식 및 연결된 NDIS 콜백 함수를 보여 줍니다.
필수 함수 선언
NDIS 미니포트 드라이버 콜백 함수 | 역할 유형 이름 |
---|---|
MINIPORT_ADD_DEVICE |
|
MINIPORT_CANCEL_DIRECT_OID_REQUEST |
|
MINIPORT_CANCEL_OID_REQUEST |
|
MINIPORT_CANCEL_SEND |
|
MINIPORT_CHECK_FOR_HANG |
|
MINIPORT_DEVICE_PNP_EVENT_NOTIFY |
|
MINIPORT_DIRECT_OID_REQUEST |
|
MINIPORT_DISABLE_INTERRUPT |
|
MINIPORT_DISABLE_MESSAGE_INTERRUPT |
|
MINIPORT_UNLOAD |
|
MINIPORT_ENABLE_INTERRUPT |
|
MINIPORT_ENABLE_MESSAGE_INTERRUPT |
|
MINIPORT_FILTER_RESOURCE_REQUIREMENTS |
|
MINIPORT_HALT |
|
MINIPORT_INITIALIZE |
|
MINIPORT_ISR |
|
MINIPORT_INTERRUPT_DPC |
|
MINIPORT_MESSAGE_INTERRUPT |
|
MINIPORT_MESSAGE_INTERRUPT_DPC |
|
MINIPORT_OID_REQUEST |
|
MINIPORT_PAUSE |
|
MINIPORT_PROCESS_SG_LIST |
|
MINIPORT_REMOVE_DEVICE |
|
MINIPORT_RESET |
|
MINIPORT_RESTART |
|
MINIPORT_RETURN_NET_BUFFER_LISTS |
|
MINIPORT_SEND_NET_BUFFER_LISTS |
|
MINIPORT_SET_OPTIONS |
|
MINIPORT_ALLOCATE_SHARED_MEM_COMPLETE |
|
MINIPORT_SHUTDOWN |
|
MINIPORT_START_DEVICE |
|
MINIPORT_SYNCHRONIZE_INTERRUPT |
|
MINIPORT_SYNCHRONIZE_MESSAGE_INTERRUPT |
NDIS 기타 콜백 함수 | 역할 유형 이름 |
---|---|
NDIS_IO_WORKITEM_ROUTINE 루틴 루틴 은 NdisQueueIoWorkItem 함수에 대한 두 번째 매개 변수에 지정된 콜백 루틴입니다. |
NDIS_IO_WORKITEM_FUNCTION |
NDIS_TIMER_FUNCTION |
권장되는 함수 선언
다음 함수 역할 형식은 현재 NDIS 드라이버에 대한 SDV 규칙에서 사용되지 않습니다. 그러나, 그들은 미래에 사용될 가능성이 높습니다. 이러한 함수 역할 형식은 Windows 7에서 완전히 지원되며 특정 함수 역할 유형을 사용하여 이러한 콜백을 선언하는 것이 좋습니다.
NDIS 필터 드라이버 콜백 함수 | 역할 유형 이름 |
---|---|
FILTER_ATTACH |
|
FILTER_CANCEL_DIRECT_OID_REQUEST |
|
FILTER_CANCEL_SEND_NET_BUFFER_LISTS |
|
FILTER_CANCEL_OID_REQUEST |
|
FILTER_DETACH |
|
FILTER_DEVICE_PNP_EVENT_NOTIFY |
|
FILTER_DIRECT_OID_REQUEST |
|
FILTER_DIRECT_OID_REQUEST_COMPLETE |
|
DRIVER_UNLOAD |
|
FILTER_NET_PNP_EVENT |
|
FILTER_OID_REQUEST |
|
FILTER_OID_REQUEST_COMPLETE |
|
FILTER_PAUSE |
|
FILTER_RECEIVE_NET_BUFFER_LISTS |
|
FILTER_RESTART |
|
FILTER_RETURN_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS |
|
FILTER_SEND_NET_BUFFER_LISTS_COMPLETE |
|
FILTER_SET_MODULE_OPTIONS |
|
FILTER_SET_OPTIONS |
|
FILTER_STATUS |
CoNDIS 미니포트 드라이버 콜백 함수 | 역할 유형 이름 |
---|---|
MINIPORT_CO_ACTIVATE_VC |
|
MINIPORT_CO_CREATE_VC |
|
MINIPORT_CO_DEACTIVATE_VC |
|
MINIPORT_CO_DELETE_VC |
|
MINIPORT_CO_OID_REQUEST |
|
MINIPORT_CO_SEND_NET_BUFFER_LISTS |
NDIS 프로토콜 드라이버 콜백 함수 | 역할 유형 이름 |
---|---|
PROTOCOL_BIND_ADAPTER_EX |
|
PROTOCOL_CLOSE_ADAPTER_COMPLETE_EX |
|
PROTOCOL_DIRECT_OID_REQUEST_COMPLETE |
|
PROTOCOL_NET_PNP_EVENT |
|
PROTOCOL_OID_REQUEST_COMPLETE |
|
PROTOCOL_OPEN_ADAPTER_COMPLETE_EX |
|
PROTOCOL_RECEIVE_NET_BUFFER_LISTS |
|
PROTOCOL_SEND_NET_BUFFER_LISTS_COMPLETE |
|
PROTOCOL_SET_OPTIONS |
|
PROTOCOL_STATUS_EX |
|
PROTOCOL_UNBIND_ADAPTER_EX |
|
PROTOCOL_UNINSTALL |
NDIS 프로토콜 CL 콜백 함수 | 역할 유형 이름 |
---|---|
PROTOCOL_CL_ADD_PARTY_COMPLETE |
|
PROTOCOL_CL_CALL_CONNECTED |
|
PROTOCOL_CL_CLOSE_AF_COMPLETE |
|
PROTOCOL_CL_CLOSE_CALL_COMPLETE |
|
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE |
|
PROTOCOL_CL_DROP_PARTY_COMPLETE |
|
PROTOCOL_CL_INCOMING_CALL |
|
PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE |
|
PROTOCOL_CL_INCOMING_CLOSE_CALL |
|
PROTOCOL_CL_INCOMING_DROP_PARTY |
|
PROTOCOL_CL_MAKE_CALL_COMPLETE |
|
PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE |
|
PROTOCOL_CL_NOTIFY_CLOSE_AF |
|
PROTOCOL_CL_OPEN_AF_COMPLETE |
|
PROTOCOL_CL_OPEN_AF_COMPLETE_EX |
|
PROTOCOL_CL_REGISTER_SAP_COMPLETE |
CoNDIS CM 콜백 함수 | 역할 유형 이름 |
---|---|
PROTOCOL_CM_ACTIVATE_VC_COMPLETE |
|
PROTOCOL_CM_ADD_PARTY |
|
PROTOCOL_CM_CLOSE_AF |
|
PROTOCOL_CM_CLOSE_CALL |
|
PROTOCOL_CM_DEACTIVATE_VC_COMPLETE |
|
PROTOCOL_CM_DEREGISTER_SAP |
|
PROTOCOL_CM_DROP_PARTY |
|
PROTOCOL_CM_INCOMING_CALL_COMPLETE |
|
PROTOCOL_CM_MAKE_CALL |
|
PROTOCOL_CM_MODIFY_QOS_CALL |
|
PROTOCOL_CM_NOTIFY_CLOSE_AF_COMPLETE |
|
PROTOCOL_CM_OPEN_AF |
|
PROTOCOL_CM_REG_SAP |
CoNDIS CO 콜백 함수 | 역할 유형 이름 |
---|---|
PROTCOL_CO_AF_REGISTER_NOTIFY |
|
PROTOCOL_CO_CREATE_VC |
|
PROTOCOL_CO_DELETE_VC |
|
PROTOCOL_CO_OID_REQUEST |
|
PROTOCOL_CO_OID_REQUEST_COMPLETE |
|
PROTOCOL_CO_RECEIVE_NET_BUFFER_LISTS |
|
PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE |
|
PROTOCOL_CO_STATUS_EX |