NdisCancelSendPackets 함수(ndis.h)
참고 NDIS 5. x 더 이상 사용되지 않으며 NDIS 6으로 대체됩니다. x . 새로운 NDIS 드라이버 개발은 Windows Vista 시작하는네트워크 드라이버를 참조하세요. NDIS 5 포팅에 대한 자세한 내용입니다. x 드라이버를 NDIS 6에. x NDIS 5.x 드라이버를 NDIS 6.0 참조하세요.
NdisCancelSendPackets 바인딩 핸들로 식별된 미니포트 드라이버에서 지정된 취소 식별자가 표시된 모든 패킷의 전송을 취소합니다.
통사론
void NdisCancelSendPackets(
[in] NDIS_HANDLE NdisBindingHandle,
[in] PVOID CancelId
);
매개 변수
[in] NdisBindingHandle
취소가 적용되는 NIC 또는 가상 어댑터를 식별하는 NdisOpenAdapter 반환된 핸들을 지정합니다.
[in] CancelId
취소 식별자에 대한 포인터입니다. 이 식별자는 전송이 취소되는 패킷 또는 패킷 그룹을 지정합니다.
반환 값
없음
발언
전송 프로토콜은 상위 수준 소프트웨어에서 받은 IRP를 NDIS 패킷으로 매핑하며, 프로토콜은 전송을 위해 하위 수준 드라이버에 보냅니다. IRP가 취소되면 전송 프로토콜은 NdisCancelSendPackets 함수를 호출하여 해당 NDIS 패킷의 보류 중인 전송을 취소할 수 있습니다.
NdisCancelSendPackets 함수는 단일 바인딩에서 패킷 전송을 취소합니다. 둘 이상의 바인딩에서 패킷 전송을 취소하려면 프로토콜 또는 중간 드라이버가 각 바인딩에 대해 NdisCancelSendPackets 함수를 한 번 호출해야 합니다.
프로토콜 또는 중간 드라이버는 어댑터에 대한 드라이버의 바인딩을 나타내는 NdisBindingHandleNdisCancelSendPackets호출하는 동안 유효한 상태를 유지해야 합니다. 즉, 프로토콜 또는 중간 드라이버는 NdisCancelSendPackets가 반환되기 전에 NdisCloseAdapter 함수를 호출하여 바인딩을 닫지 않아야.
NdisCancelSendPackets 호출하면 지정된 취소 ID가 있는 모든 패킷의 보류 중인 전송이 취소된다는 보장은 없습니다. 예를 들어 프로토콜 또는 중간 드라이버가 바인딩된 다음 하위 드라이버가 MiniportCancelSendPackets 함수를 제공하지 않는 경우 NdisCancelSendPackets에 대한 호출은 아무 작업도 수행하지.
모든 경우에 전송을 위해 제출된 패킷은 드라이버의 ProtocolSendComplete 또는 ProtocolCoSendComplete 함수에 대한 호출을 통해 원래 프로토콜 또는 중간 드라이버로 반환됩니다. 취소된 송신 패킷은 완료 상태가 NDIS_STATUS_ABORTED 반환됩니다. NdisCancelSendPackets 호출과 취소된 패킷 반환 사이의 지연은 다를 수 있으므로 정확하게 지정할 수 없습니다.
- 대상 플랫폼: 유니버설
- 버전: Windows Vista에서 NDIS 6.0 드라이버에 대해 지원되지 않습니다. 대신 NdisCancelSendNetBufferLists를 사용합니다. Windows Vista 및 Windows XP에서 NDIS 5.1 드라이버에 대해 지원됩니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ndis.h(Ndis.h 포함) |
라이브러리 | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |