Fungsi NdisReadConfiguration (ndis.h)

Fungsi NdisReadConfiguration mengembalikan nilai entri bernama dari jenis yang ditentukan dari registri, mengingat handel ke kunci registri terbuka. Fungsi ini harus dipanggil secara serial sehubungan dengan dirinya sendiri dan fungsi NdisWriteConfiguration .

Sintaks

void NdisReadConfiguration(
  [out] PNDIS_STATUS                  Status,
  [out] PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  NDIS_PARAMETER_TYPE           ParameterType
);

Parameter

[out] Status

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan status panggilan sebagai salah satu nilai berikut.

Nilai Makna
NDIS_STATUS_SUCCESS
Buffer di ParameterValue berisi informasi konfigurasi yang dikembalikan.
NDIS_STATUS_RESOURCES
NDIS tidak dapat mengalokasikan sumber daya, biasanya cukup memori, untuk mengembalikan informasi yang diminta.
NDIS_STATUS_FAILURE
Informasi yang diminta tidak dapat ditemukan di bawah kunci registri yang dibuka yang ditunjuk oleh ConfigurationHandle.

[out] ParameterValue

Penunjuk ke lokasi memori tempat NDIS memasok pointer ke NDIS_CONFIGURATION_PARAMETER struktur jika panggilan ke NdisReadConfiguration berhasil. NDIS mengalokasikan memori untuk NDIS_CONFIGURATION_PARAMETER struktur.

[in] ConfigurationHandle

Handel ke kunci registri yang dikembalikan oleh NdisOpenConfigurationEx, NdisOpenConfigurationKeyByIndex, atau Fungsi NdisOpenConfigurationKeyByName .

[in] Keyword

Penunjuk ke jenis NDIS_STRING yang disediakan penelepon yang menjelaskan string yang dihitung, dalam kumpulan karakter default sistem, menentukan nama entri di bawah kunci registri terbuka untuk mengembalikan nilai.

Atau, arahkan ke NDIS_STRING_CONSTANT yang disediakan penelepon yang menentukan salah satu nama entri yang telah ditentukan sebelumnya berikut bersama dengan nilai pengembalian yang telah ditentukan sebelumnya:

Nama Entri yang Telah Ditentukan Nilai Pengembalian yang Telah Ditentukan Sebelumnya
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
Berikut ini dimungkinkan hanya jika driver lama (pra-NDIS 6.0):
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm, di mana MMMM adalah versi utama dan mmmm adalah nomor versi minor. Misalnya, 0x00050000 menunjukkan bahwa versi NDIS tertinggi yang didukung oleh sistem adalah versi utama 5, versi minor 0.

[in] ParameterType

Jenis entri nilai yang ditentukan sebagai salah satu nilai enumerasi NDIS_PARAMETER_TYPE . Parameter ini diabaikan di Windows NT dan versi yang lebih baru.

Nilai kembali

Tidak ada

Keterangan

Dalam registri konfigurasi Windows 2000 dan versi yang lebih baru, kata kunci NDIS adalah sinonim untuk nama entri nilai. Nama seperti itu adalah urutan karakter Unicode yang dihitung, dihentikan dengan NULL.

Setiap driver NDIS dapat menyiapkan informasi konfigurasi di registri untuk dirinya sendiri menggunakan direktif AddReg dalam file INF-nya. Misalnya, driver protokol mungkin menyimpan namanya sendiri sebagai entri dengan nilai string yang telah diformat sebelumnya yang dapat diteruskan dalam panggilan ke Fungsi NdisRegisterProtocolDriver . Untuk informasi selengkapnya, lihat Add-registry-sections dalam File INF Jaringan.

Setiap driver miniport juga memiliki entri nilai terkait dalam registri. Entri nilai untuk driver miniport tertentu dapat bergantung pada perangkat secara alami. Misalnya, driver miniport mungkin memiliki kata kunci seperti *FlowControl, *SpeedDuplex, dan *InterruptModeration. Nilai yang terkait dengan kata kunci NDIS tersebut dapat berupa bilangan bulat (jenis ULONG) atau string (jenis NDIS_STRING). Misalnya, kumpulan nilai yang mungkin untuk entri *FlowControl yang sudah disebutkan mungkin adalah nilai NdisParameterInteger 0, 1, 2, atau 3, atau yang setara dalam heksadesimal sebagai nilai NdisParameterHexInteger .

Buffer NdisReadConfiguration dan menyalin string yang disediakan penelepon di Kata Kunci dan merilis penyimpanan yang dialokasikan untuk salinan ini sebelum mengembalikan kontrol ke pemanggil. Memori yang dialokasikan untuk NDIS_CONFIGURATION_PARAMETER struktur dibebaskan ketika driver merilis ConfigurationHandle dengan fungsi NdisCloseConfiguration . Pemanggil NdisReadConfiguration bertanggung jawab untuk merilis string yang di-buffer di Kata Kunci.

Perhatikan bahwa NDIS tidak memvalidasi nilai yang dibaca driver dari registri. Oleh karena itu, pemanggil NdisReadConfiguration tidak boleh membuat asumsi tentang nilai tersebut dan harus memvalidasi setiap nilai yang dibaca dari registri. Jika penelepon menentukan bahwa nilai berada di luar batas, pemanggil harus menggunakan nilai default sebagai gantinya.

Untuk informasi selengkapnya tentang penyiapan dan file penginstalan, lihat Gambaran Umum Penginstalan Perangkat.

Persyaratan

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

Lihat juga

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING