預期大部分的遠端 NDIS 裝置在不需要在主機上設定參數的情況下運作良好。 不過,在某些情況下,適當的網路作業需要主機上的一些設定。 如果裝置支援可設定的參數,則它應該在支援的 OID 清單中包含下列選擇性 OID,以回應 OID_GEN_SUPPORTED_LIST的查詢:
#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
如果裝置支援 OID_GEN_RNDIS_CONFIG_PARAMETER OID,則主機會在裝置從未初始化的狀態進入遠端 NDIS 初始化的狀態後不久,使用它來設定裝置特定的參數。 主機會將零個或多個REMOTE_NDIS_SET_MSGs傳送至裝置,並將OID_GEN_RNDIS_CONFIG_PARAMETER作為要設定的 OID 值。 每個 REMOTE_NDIS_SET_MSG 都對應於在主機上配置的一個裝置特定參數。
與每個這類 REMOTE_NDIS_SET_MSG 相關聯的 InformationBuffer 具有以下格式。 請注意,Offset 值相對於資訊緩衝區的開頭。
抵消 | 大小 | 欄位 | 描述 |
---|---|---|---|
0 |
4 |
參數名稱偏移量 |
指定從 ParameterNameOffset 欄位開頭開始的位元偏移量,在該位置具有表示參數名稱的 Unicode 字串。 字串不包含 NULL 終止符。 |
4 |
4 |
參數名稱長度 |
指定參數名稱字串的位元組長度。 |
8 |
4 |
參數類型 |
指定參數值的數據類型。 這是下列其中一項:0 - 數值;2 - 字串值。 |
12 |
4 |
參數值偏移 |
指定參數值位於 ParameterNameOffset 欄位開頭的位元組偏移量。 |
16 |
4 |
參數值長度 |
指定參數值的位元組長度。 |
裝置會在套用參數值之後,傳送 REMOTE_NDIS_SET_CMPLT,以回應每個 REMOTE_NDIS_SET_MSG。 如果參數設定是可接受的,它會傳回回應中RNDIS_STATUS_SUCCESS的狀態。 如果無法接受參數設定,且裝置無法套用此參數的實用預設值,則裝置會傳回適當的錯誤狀態值(請參閱狀態值一節)。 如果傳回錯誤狀態,則主機會啟動裝置的停止程序。
裝置特定參數應該在 Windows 登錄中設定。 定義參數值的機碼通常會在裝置安裝過程中在登錄中建立。 裝置的 INF 檔案中會指定金鑰、類型資訊、預設值和選擇性的有效值範圍清單。 如需使用 INF 在網路裝置登錄中設定組態參數的詳細資訊,請參閱 Windows 2000 驅動程式開發工具套件 (DDK)。