Fungsi NdisCoAssignInstanceName (ndis.h)

NdisCoAssignInstanceName menetapkan nama instans ke VC dan menyebabkan NDIS mendaftarkan GUID (pengidentifikasi unik global) untuk nama yang ditetapkan dengan Instrumentasi Manajemen Windows (WMI).

Sintaks

NDIS_STATUS NdisCoAssignInstanceName(
  [in]            NDIS_HANDLE  NdisVcHandle,
  [in]            PNDIS_STRING BaseInstanceName,
  [out, optional] PNDIS_STRING VcInstanceName
);

Parameter

[in] NdisVcHandle

Menentukan handel ke VC yang dinamai. Handel ini disediakan oleh NDIS ketika VC awalnya dibuat dengan NdisCoCreateVc, baik oleh klien dalam persiapan untuk melakukan panggilan keluar atau oleh manajer panggilan sebagai persiapan untuk mengirimkan panggilan masuk ke klien.

[in] BaseInstanceName

Penunjuk ke jenis NDIS_STRING yang menjelaskan string Unicode yang disediakan penelepon yang menentukan nama dasar VC. Nama dasar dapat menjadi string Unicode yang dapat dilokalkan yang secara unik mengidentifikasi VC sehubungan dengan VC bernama lainnya dalam cakupan driver miniport. Untuk Windows Vista dan yang lebih baru, NDIS menentukan jenis NDIS_STRING sebagai jenis UNICODE_STRING .

[out, optional] VcInstanceName

Penunjuk ke jenis NDIS_STRING yang dialokasikan penelepon di mana rutinitas ini mengembalikan string Unicode yang menentukan nama instans yang ditetapkan NDIS yang ditetapkan untuk VC.

Nilai kembali

NdisCoAssignInstanceName dapat mengembalikan salah satu hal berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NDIS menetapkan nama instans ke VC yang ditentukan dan mendaftarkan GUID untuk nama instans dengan WMI.
NDIS_STATUS_FAILURE
Upaya untuk menetapkan nama instans ke VC gagal.
NDIS_STATUS_RESOURCES
NDIS tidak dapat mengalokasikan buffer untuk nama instans.

Keterangan

Setelah memulai penyiapan VC dengan NdisCoCreateVc, manajer panggilan atau klien berorientasi koneksi dapat memberi nama VC dengan NdisCoAssignInstanceName. Memanggil NdisCoAssignInstanceName, menyebabkan NDIS menetapkan nama instans VC dan mendaftarkan nama instans dengan WMI. Klien WMI kemudian dapat menghitung VC dan mengkueri atau mengatur OID relatif terhadap VC.

Driver manajer panggilan miniport terintegrasi (MCM) tidak dapat menggunakan NdisCoAssignInstanceName untuk menamai VC-nya. Sebagai gantinya, driver MCM harus membuat GUID dan OID kustom untuk VC dan mendaftarkan pemetaan GUID-ke-OID dengan NDIS.

NDIS membuat nama instans untuk VC yang ditentukan dengan menambahkan indeks ke nama dasar yang ditunjukkan oleh pemanggil. NDIS mengembalikan nama instans lengkap (nama dasar + indeks) ke pemanggil lalu mendaftarkan GUID untuk nama instans dengan WMI. Hanya VC bernama yang dapat dijumlahkan dan dikueri oleh klien WMI. VC yang tidak disebutkan namanya tidak terlihat oleh klien WMI.

Jika VC yang ditentukan sudah memiliki nama instans (ditetapkan dalam panggilan sebelumnya ke NdisCoAssignInstanceName), NDIS mengembalikan NDIS_STATUS_SUCCESS dan nama instans asli yang ditetapkan ke VC. Nama instans tetap ditetapkan ke VC hingga VC dihapus.

Pemanggil dapat mengaitkan nama instans yang dikembalikan dengan handel untuk VC bernama yang sebelumnya dikembalikan NDIS ke pemanggil dari NdisCoCreateVc. Namun, NDIS akan terus menggunakan handel VC--bukan nama instans--untuk merujuk ke VC dalam panggilan berikutnya. Pemanggil NdisCoAssignInstanceName mungkin menemukan kebutuhan untuk mengembalikan nama instans ke beberapa entitas manajemen lainnya.

Pemanggil bertanggung jawab untuk membebaskan buffer yang berisi nama instans yang dikembalikan. Setelah menghapus VC bernama dengan NdisCoDeleteVc, pemanggil harus membebaskan buffer dengan NdisFreeString.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisCoAssignInstanceName (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisCoAssignInstanceName (NDIS 5.1)) di Windows XP.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_Connection_Function(ndis)

Lihat juga

MiniportCoOidRequest

MiniportOidRequest

NdisCoCreateVc

NdisCoDeleteVC

NdisFreeString

UNICODE_STRING