Fungsi WdfUsbInterfaceGetConfiguredPipe (wdfusb.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfUsbInterfaceGetConfiguredPipe mengembalikan handel ke objek pipa kerangka kerja yang terkait dengan antarmuka perangkat USB dan indeks pipa tertentu. Secara opsional, metode ini juga mengembalikan informasi tentang pipa.
Sintaks
WDFUSBPIPE WdfUsbInterfaceGetConfiguredPipe(
[in] WDFUSBINTERFACE UsbInterface,
[in] UCHAR PipeIndex,
[in, out, optional] PWDF_USB_PIPE_INFORMATION PipeInfo
);
Parameter
[in] UsbInterface
Handel ke objek antarmuka USB yang diperoleh dengan memanggil WdfUsbTargetDeviceGetInterface.
[in] PipeIndex
Indeks berbasis nol ke dalam kumpulan objek pipa kerangka kerja yang terkait dengan objek antarmuka yang ditentukan.
[in, out, optional] PipeInfo
Penunjuk ke struktur WDF_USB_PIPE_INFORMATION yang dialokasikan pemanggil yang diisi kerangka kerja. Parameter ini bersifat opsional dan dapat berupa NULL.
Nilai kembali
Jika operasi berhasil, WdfUsbInterfaceGetConfiguredPipe mengembalikan handel ke objek pipa kerangka kerja yang terkait dengan objek antarmuka dan indeks pipa yang ditentukan. Metode mengembalikan NULL jika ukuran struktur WDF_USB_PIPE_INFORMATION salah atau jika nilai indeks pipa terlalu besar.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Driver Anda dapat memanggil WdfUsbInterfaceGetConfiguredPipe setelah disebut WdfUsbTargetDeviceSelectConfig.
Untuk informasi selengkapnya tentang metode WdfUsbInterfaceGetConfiguredPipe dan target I/O USB, lihat Target I/O USB.
Contoh
Contoh kode berikut mengirimkan permintaan pembatalan USB ke setiap pipa yang dikonfigurasi dari antarmuka USB tertentu.
BYTE count, i;
NTSTATUS status;
count = WdfUsbInterfaceGetNumConfiguredPipes(UsbInterface);
for (i = 0; i < count; i++) {
WDFUSBPIPE pipe;
pipe = WdfUsbInterfaceGetConfiguredPipe(
UsbInterface,
i,
NULL
);
status = WdfUsbTargetPipeAbortSynchronously(
pipe,
WDF_NO_HANDLE,
NULL
);
if (!NT_SUCCESS(status)) {
break;
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfusb.h (termasuk Wdfusb.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |
Lihat juga
WdfUsbInterfaceGetNumConfiguredPipes