IOCTL_PWM_CONTROLLER_GET_INFO IOCTL (pwm.h)

Mengambil informasi tentang pengontrol Pulse Width Modulation (PWM). Informasi ini tidak berubah setelah pengontrol diinisialisasi.

Buffer input

Tidak digunakan dengan operasi ini; atur ke NULL.

Panjang buffer input

Tidak digunakan dengan operasi ini; atur ke nol.

Buffer output

Penunjuk ke buffer yang berisi struct PWM_CONTROLLER_INFO . Ini mewakili informasi statis yang mencirikan pengontrol Pulse Width Modulation (PWM).

Panjang buffer output

Ukuran buffer output harus sama persis dengan ukuran struct PWM_CONTROLLER_INFO yang diminta. Setiap versi PWM_CONTROLLER_INFO yang lebih baru memiliki ukuran byte yang lebih besar dari versi sebelumnya.

Keterangan

Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        IOCTL_PWM_CONTROLLER_GET_INFO, // dwIoControlCode(LPDWORD)      NULL,      // input buffer
                    (DWORD)        0,   // size of input buffer
                    (LPDWORD)      lpOutBuffer,     // output buffer
                    (DWORD)        nOutBufferSize,  // size of output buffer
                    (LPDWORD)      lpBytesReturned, // number of bytes returned
                    (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure
Parameter Deskripsi
hDevice [in] Handel ke perangkat. Untuk mendapatkan handel perangkat, panggil fungsi CreateFile .
dwIoControlCode [in] Kode kontrol untuk operasi. Gunakan IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD untuk operasi ini.
lpInBuffer Tidak digunakan dengan operasi ini; atur ke NULL.
nInBufferSize [in] Tidak digunakan dengan operasi ini; atur ke nol.
lpOutBuffer [out] Penunjuk ke buffer yang berisi struct PWM_CONTROLLER_INFO . Ini mewakili informasi statis yang mencirikan pengontrol Pulse Width Modulation (PWM).
nOutBufferSize [in] Ukuran buffer output harus sama persis dengan ukuran struct PWM_CONTROLLER_INFO yang diminta. Setiap versi PWM_CONTROLLER_INFO yang lebih baru memiliki ukuran byte yang lebih besar dari versi sebelumnya.
lpBytesReturned [out] Penunjuk ke variabel yang menerima ukuran data yang disimpan dalam buffer output, dalam byte.

Jika buffer output terlalu kecil, panggilan gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan lpBytesReturned adalah nol.

Jika lpOverlappedNULL, lpBytesReturned tidak boleh NULL. Bahkan ketika operasi tidak mengembalikan data output dan lpOutBuffer adalah NULL, DeviceIoControl menggunakan lpBytesReturned. Setelah operasi seperti itu, nilai lpBytesReturned tidak ada artinya.

Jika lpOverlapped bukan NULL, lpBytesReturned bisa NULL. Jika parameter ini bukan NULL dan operasi mengembalikan data, lpBytesReturned tidak berarti sampai operasi yang tumpang tindih telah selesai. Untuk mengambil jumlah byte yang dikembalikan, panggil GetOverlappedResult. Jika parameter hDevice dikaitkan dengan port penyelesaian I/O, Anda dapat mengambil jumlah byte yang dikembalikan dengan memanggil GetQueuedCompletionStatus.

lpOverlapped [in] Penunjuk ke struktur YANG TUMPANG TINDIH .

Jika hDevice dibuka tanpa menentukan FILE_FLAG_OVERLAPPED, lpOverlapped diabaikan.

Jika hDevice dibuka dengan bendera FILE_FLAG_OVERLAPPED , operasi dilakukan sebagai operasi yang tumpang tindih (asinkron). Dalam hal ini, lpOverlapped harus menunjuk ke struktur TUMPANG TINDIH yang valid yang berisi handel ke objek peristiwa. Jika tidak, fungsi gagal dengan cara yang tidak dapat diprediksi.

Untuk operasi yang tumpang tindih, DeviceIoControl segera kembali, dan objek peristiwa disinyalir ketika operasi telah selesai. Jika tidak, fungsi tidak kembali sampai operasi selesai atau terjadi kesalahan.

 

Jika ukuran buffer kurang dari ukuran versi struktur terendah, permintaan diselesaikan dengan menggunakan status penyelesaian IOCTL STATUS_BUFFER_TOO_SMALL. Jika tidak, driver mengasumsikan versi struktur tertinggi yang dapat masuk ke dalam buffer output yang disediakan dan berhasil menyelesaikan permintaan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Header pwm.h (termasuk Pwm.h)

Lihat juga

DeviceIoControl