管理自定義交換器功能狀態資訊
Hyper-V 可延伸交換器介面會使用下列物件標識碼 (OID) 來查詢可延伸交換器的自定義狀態資訊。 此狀態資訊稱為 切換功能狀態 資訊:
OID_SWITCH_FEATURE_STATUS_QUERY
這個 OID 方法要求是由可延伸交換器的通訊協定邊緣所發出,以取得指定參數屬性的自定義功能狀態資訊。
從這個 OID 方法要求成功返回之後,NDIS_OID_REQUEST 結構中的 InformationBuffer 成員包含了一個指向緩衝區的指標。 此緩衝區包含下列資料:
NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 結構,指定要傳回的自定義功能狀態資訊。
注意 針對自定義功能狀態, FeatureStatusType 成員會設定為 NdisSwitchPropertyTypeCustom。
NDIS_SWITCH_FEATURE_STATUS_CUSTOM 結構,其中包含指派給可延伸交換器埠之自定義屬性的狀態資訊。
當可延伸交換器的通訊協定邊緣發出 OID_SWITCH_FEATURE_STATUS_QUERY 要求時,它會將 FeatureStatusCustomBufferLength 和 FeatureStatusCustomBufferOffset 成員設定為 InformationBuffer 成員中可用來傳回功能狀態資訊的位置。
當可擴充交換器擴充收到 OID_SWITCH_FEATURE_STATUS_QUERY 的 OID 方法要求時,必須遵循下列指導方針:
如果擴充功能管理符合 NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 結構之 FeatureStatusId 成員的自定義可延伸交換器功能狀態,則此延伸模組必須處理 OID 要求。
如果延伸模組處理 OID 方法要求,它必須傳回符合 NDIS_SWITCH_FEATURE_STATUS_PARAMETERS 結構所指定參數的功能狀態資訊。
如果功能狀態緩衝區太小,擴充功能必須使 OID 要求失敗,並回報 NDIS_STATUS_INVALID_LENGTH。 擴充程式必須在 NDIS_OID_REQUEST 結構中設定 DATA.SET_INFORMATION.BytesNeeded 成員至所需的最小緩衝區大小。
否則,擴充功能必須傳回功能狀態資訊,並使用 NDIS_STATUS_SUCCESS完成 OID 要求。
如果擴充功能未管理自定義可延伸交換器功能狀態,則必須呼叫 NdisFOidRequest ,將 OID 要求轉送至可延伸交換器驅動程式堆疊。
如需如何轉送 OID 要求的詳細資訊,請參閱 NDIS 篩選驅動程式中的 OID 要求。
如需如何定義和註冊交換器功能狀態信息的詳細資訊,請參閱 自定義交換器功能狀態。