Bagikan melalui


PGET_LOCATION_STRING fungsi panggilan balik (ntddk.h)

Rutinitas PnpGetLocationString menyediakan bagian khusus perangkat dari properti SPDRP_LOCATION_PATHS perangkat.

Sintaksis

PGET_LOCATION_STRING PgetLocationString;

NTSTATUS PgetLocationString(
  [in, out] PVOID Context,
  [out]     PZZWSTR *LocationStrings
)
{...}

Parameter

[in, out] Context

Penunjuk ke informasi konteks khusus antarmuka. Pemanggil meneruskan nilai yang diteruskan sebagai Context anggota struktur PNP_LOCATION_INTERFACE.

[out] LocationStrings

Penunjuk ke urutan string Unicode yang dihentikan null, yang dihentikan oleh nol lain. Setiap string berfungsi sebagai string lokasi untuk perangkat. Driver biasanya mengembalikan satu string.

Mengembalikan nilai

Rutinitas mengembalikan nilai NTSTATUS untuk menunjukkan status operasi.

Komentar

Struktur PNP_LOCATION_INTERFACE memasok pointer ke rutinitas PnpGetLocationString.

Rutinitas PnpGetLocationString menyediakan bagian khusus perangkat dari string lokasi untuk perangkat. Manajer Plug and Play (PnP) menyusun string lokasi untuk perangkat dengan mengkueri driver untuk perangkat, untuk bus perangkat, dan bus induk apa pun, dan menggabungkan string yang disediakan bersama-sama.

Rutinitas harus mengembalikan string yang unik untuk perangkat relatif terhadap busnya. String harus sama untuk perangkat di semua versi sistem operasi. Setelah Memilih string untuk tujuan ini, Anda tidak boleh mengubahnya.

Menurut konvensi, string lokasi mengambil formulir ServiceName (BusSpecificLocation). Misalnya, perangkat PCI menggunakan PCI(XXYY), di mana XX adalah nomor perangkat, dan YY adalah nomor fungsi.

Rutinitas PnpGetLocationString memanggil rutinitas seperti ExAllocatePoolWithTag untuk mengalokasikan memori untuk string lokasi. Pemanggil bertanggung jawab untuk memanggil rutinitas ExFreePool untuk membebaskan memori yang ditunjukkan oleh LocationStrings ketika string lokasi tidak lagi diperlukan.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia dimulai dengan Windows Server 2003.
Platform Target Desktop
Header ntddk.h (termasuk Ntddk.h, Ntifs.h)
IRQL <= PASSIVE_LEVEL

Lihat juga

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE