共用方式為


OID_PM_ADD_PROTOCOL_OFFLOAD

就一組而言,NDIS 通訊協定驅動程式會使用 OID_PM_ADD_PROTOCOL_OFFLOAD OID,將通訊協定卸除新增至網路適配器的電源管理。 NDIS_OID_REQUEST 結構 InformationBuffer 成員包含 NDIS_PM_PROTOCOL_OFFLOAD 結構的指標。

言論

NDIS 6.20 和更新版本的通訊協定驅動程式會使用 OID_PM_ADD_PROTOCOL_OFFLOAD OID,將通訊協定卸載新增至網路適配器。 如果要求成功,當網路適配器處於低電源狀態時,網路適配器必須產生並傳輸卸除通訊協定的必要回應封包。

通訊協定驅動程式可以在通訊協定成功系結至基礎網路適配器之後卸除通訊協定,並一旦擁有必要的數據(例如介面的IP位址)即可卸除通訊協定。 通訊協定驅動程式也可以卸除通訊協定,以回應一些其他電源管理事件通知,例如拒絕先前新增的 WOL 模式或卸除的通訊協定。

為了避免 NDIS 和其他系結至相同迷你埠適配卡的通訊協定驅動程式中的競爭狀況,在 NDIS 開始將網路適配器設定為低功率狀態之後,任何嘗試將另一個通訊協定卸除至該網路適配器時都會失敗。 例如,如果 NDIS 通訊協定驅動程式嘗試卸除該網路適配器 NetEventSetPower 事件通知的內容中的通訊協定,NDIS 將會失敗要求。

在 NDIS 將此 OID 要求向下傳送至基礎 NDIS 驅動程式或完成對過度配置驅動程式的要求之前,它會將 ULONG ProtocolOffloadId 結構 NDIS_PM_PROTOCOL_OFFLOAD 的成員設定為唯一值。 通訊協定驅動程式和 NDIS 會使用此通訊協定卸除識別碼搭配 OID_PM_REMOVE_PROTOCOL_OFFLOAD OID 要求,以從基礎網路適配器移除通訊協定卸載。

附註 通訊協定卸除標識符是網路適配器上設定的每個通訊協定卸除的唯一值。 不過,通訊協定卸除標識碼在所有網路適配器上並非全域唯一的。

如果 NDIS 或基礎網路適配器拒絕卸除,則會產生 NDIS_STATUS_PM_OFFLOAD_REJECTED 狀態指示。 傳回 OID NDIS_STATUS_SUCCESS之後,可能會發生這種情況。 StatusBufferNDIS_STATUS_INDICATION 結構的成員包含拒絕通訊協定卸除的 ULONG 通訊協定卸除標識符。

如需 Native 802.11 無線區域網路迷你埠驅動程式如何使用這個 OID 的資訊,請參閱 新增和刪除低功率通訊協定卸除

迷你埠驅動程式會針對要求傳回下列其中一個狀態代碼:

NDIS_STATUS_SUCCESS
已成功新增要求的通訊協定卸除。 ProtocolOffloadIdNDIS_PM_PROTOCOL_OFFLOAD 結構的成員包含通訊協定卸除標識符。

NDIS_STATUS_PENDING
要求擱置完成。 NDIS 會在要求完成之後,將最終狀態代碼和結果傳遞至呼叫端的 OID 要求完成處理程式。

NDIS_STATUS_PM_PROTOCOL_OFFLOAD_LIST_FULL
要求失敗,因為通訊協定卸除清單已滿,而且網路適配器無法新增另一個通訊協定卸除。

NDIS_STATUS_RESOURCES
由於缺少資源,NDIS 或基礎網路適配器無法新增通訊協定卸除。

NDIS_STATUS_INVALID_PARAMETER
NDIS_PM_PROTOCOL_OFFLOAD 結構中的一或多個參數無效。

NDIS_STATUS_BUFFER_TOO_SHORT
信息緩衝區太短。 NDIS 會設定 數據。SET_INFORMATION。BytesNeeded NDIS_OID_REQUEST 結構中的成員,以達到所需的最小緩衝區大小。

NDIS_STATUS_NOT_SUPPORTED
網路適配器不支援要求的通訊協定卸除。

NDIS_STATUS_FAILURE
要求因上述原因以外的原因而失敗。

要求

版本

NDIS 6.20 和更新版本支援。 迷你埠驅動程式的必要專案。

頁眉

Ntddndis.h (包括 Ndis.h)

另請參閱

NDIS_OID_REQUEST

NDIS_PM_PROTOCOL_OFFLOAD

NDIS_STATUS_INDICATION

NDIS_STATUS_PM_OFFLOAD_REJECTED

OID_PM_REMOVE_PROTOCOL_OFFLOAD

新增和刪除低功率通訊協定卸除