Bagikan melalui


HW_PROCESS_SERVICE_REQUEST fungsi panggilan balik (storport.h)

Rutinitas panggilan balik HwStorProcessServiceRequest menerima IRP kontrol perangkat yang berisi permintaan IOCTL_MINIPORT_PROCESS_SERVICE_IRP saat pemanggil, seperti aplikasi mode pengguna atau driver mode kernel, memerlukan operasi "panggilan balik". I/O diselesaikan oleh driver miniport ketika perlu memberi tahu pemanggil sesuatu atau membutuhkan pemanggil untuk melakukan sesuatu.

Sintaks

HW_PROCESS_SERVICE_REQUEST HwProcessServiceRequest;

void HwProcessServiceRequest(
  PVOID DeviceExtension,
  PVOID Irp
)
{...}

Parameter

DeviceExtension

Penunjuk ke area penyimpanan per adaptor driver miniport virtual.

Irp

Penunjuk ke permintaan I/O.

Nilai kembali

Tidak ada

Keterangan

Nama HwStorProcessServiceRequest adalah teks tempat penampung untuk nama rutin aktual. Prototipe aktual dari rutinitas ini didefinisikan dalam Storport.h sebagai berikut:

typedef
VOID
HW_PROCESS_SERVICE_REQUEST (
  _In_ PVOID  DeviceExtension,
  _In_ PVOID  Irp
  );

Driver port memanggil rutinitas HwStorProcessServiceRequest driver miniport virtual Storport pada PASSIVE_LEVEL. Driver miniport virtual menyelesaikan IRP dengan memanggil rutinitas StorPortCompleteServiceIrp .

Contoh

Untuk menentukan fungsi panggilan balik HwStorProcessServiceRequest , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi panggilan balik yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi panggilan balik untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi panggilan balik membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.

Misalnya, untuk menentukan rutinitas panggilan balik HwStorProcessServiceRequest yang diberi nama MyHwProcessServiceRequest, gunakan jenis HW_PROCESS_SERVICE_REQUEST seperti yang ditunjukkan dalam contoh kode ini:

HW_PROCESS_SERVICE_REQUEST MyHwProcessServiceRequest;

Kemudian, terapkan rutinitas panggilan balik Anda sebagai berikut:

_Use_decl_annotations_
VOID
MyHwProcessServiceRequest (
  _In_ PVOID  DeviceExtension,
  _In_ PVOID  Irp
  );
  {
      ...
  }

Jenis fungsi HW_PROCESS_SERVICE_REQUEST ditentukan dalam file header Storport.h. Untuk mengidentifikasi kesalahan secara lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi HW_PROCESS_SERVICE_REQUEST dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi Menggunakan Jenis Peran Fungsi untuk Driver Storport. Untuk informasi tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header storport.h (termasuk Storport.h)

Lihat juga

IOCTL_MINIPORT_PROCESS_SERVICE_IRP

StorPortCompleteServiceIrp