NdisCoAssignInstanceName 函式 (ndis.h)
NdisCoAssignInstanceName 會將實例名稱指派給 VC,並讓 NDIS 向 Windows Management Instrumentation (WMI) 註冊指派名稱的 GUID (全域唯一標識符) 。
語法
NDIS_STATUS NdisCoAssignInstanceName(
[in] NDIS_HANDLE NdisVcHandle,
[in] PNDIS_STRING BaseInstanceName,
[out, optional] PNDIS_STRING VcInstanceName
);
參數
[in] NdisVcHandle
指定要命名之 VC 的句柄。 當 VC 最初使用 NdisCoCreateVc 建立時,NDIS 會提供此句柄,無論是由客戶端準備進行撥出呼叫,還是由呼叫管理員準備將傳入呼叫分派給用戶端。
[in] BaseInstanceName
描述呼叫端提供的 Unicode 字串,指定 VC 基底名稱的NDIS_STRING型別指標。 基底名稱可以是任何可本地化的 Unicode 字串,可唯一識別迷你埠驅動程式範圍內其他具名 VM 的 VC。 針對 Windows Vista 和更新版本,NDIS 會將NDIS_STRING類型定義為 UNICODE_STRING 類型。
[out, optional] VcInstanceName
呼叫端配置的NDIS_STRING型別指標,此例程會傳回 Unicode 字串,指定為 VC 指派的 NDIS 指派實例名稱。
傳回值
NdisCoAssignInstanceName 可以傳回下列任一項:
傳回碼 | Description |
---|---|
|
NDIS 已將實例名稱指派給指定的 VC,並使用 WMI 註冊實例名稱的 GUID。 |
|
嘗試將實例名稱指派給 VC 失敗。 |
|
NDIS 無法為實例名稱配置緩衝區。 |
備註
使用 NdisCoCreateVc 起始 VC 的設定之後,呼叫管理員或連接導向用戶端可以使用 NdisCoAssignInstanceName 來命名 VC。 呼叫 NdisCoAssignInstanceName 會導致 NDIS 指派實例名稱,並使用 WMI 註冊實例名稱。 然後,WMI 用戶端可以列舉 VC 和查詢或設定相對於 VC 的 OID。
整合式迷你埠呼叫管理員 (MCM) 驅動程式無法使用 NdisCoAssignInstanceName 為其 VM 命名。 相反地,MCM 驅動程式應該為 VC 建立自定義 GUID 和 OID,並使用 NDIS 註冊 GUID 對 OID 對應。
NDIS 藉由將索引附加至呼叫端所指向的基底名稱,為指定的 VC 建立實例名稱。 NDIS 會將完整的實例名稱 (基底名稱 + 索引) 傳回給呼叫端,然後使用WMI 註冊實例名稱的 GUID。 WMI 用戶端只能列舉和查詢具名 VM。 WMI 用戶端看不到未命名的 VM。
如果指定的 VC 已經有實例名稱 (先前呼叫 NdisCoAssignInstanceName) 指派,NDIS 會傳回NDIS_STATUS_SUCCESS,以及指派給 VC 的原始 實例名稱。 實例名稱會保留指派給 VC,直到刪除該 VC 為止。
呼叫端可以將傳回的實例名稱與先前從 NdisCoCreateVc 傳回給呼叫端之具名 VC 的句柄產生關聯。 不過,NDIS 會繼續使用 VC 句柄,而不是實例名稱,以在後續呼叫中參考 VC。 NdisCoAssignInstanceName 的呼叫端可能會發現需要將實例名稱傳回給其他管理實體。
呼叫端負責釋放包含傳回實例名稱的緩衝區。 使用 NdisCoDeleteVc 刪除具名 VC 之後,呼叫端必須使用 NdisFreeString 釋放緩衝區。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisCoAssignInstanceName (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisCoAssignInstanceName (NDIS 5.1) ) 。 |
目標平台 | 桌面 |
標頭 | ndis.h (包括 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | DISPATCH_LEVEL |
DDI 合規性規則 | Irql_Connection_Function (ndis) |