Metode IDirectInputEffectDriver::D ownloadEffect (dinputd.h)

Metode IDirectInputEffectDriver::D ownloadEffect mengirimkan efek ke perangkat.

Sintaks

HRESULT DownloadEffect(
  DWORD       unnamedParam1,
  DWORD       unnamedParam2,
  LPDWORD     unnamedParam3,
  LPCDIEFFECT unnamedParam4,
  DWORD       unnamedParam5
);

Parameter

unnamedParam1

Menentukan nomor joystick eksternal yang sedang ditangani.

unnamedParam2

Menentukan anggota dwEffectId dari struktur DIEFFECTATTRIBUTES yang terkait dengan efek yang coba dibuat aplikasi. Struktur DIEFFECTATTRIBUTES disimpan dalam registri di bawah kunci registri efek yang sesuai dan dapat menjadi nilai 32-bit apa pun. DirectInput meneruskan nilai 32-bit ke driver tanpa interpretasi.

unnamedParam3

Pada entri, parameter ini adalah penunjuk ke handel efek yang diunduh. Jika parameter ini menunjuk ke nol, maka efek baru diunduh. Saat keluar, parameter ini adalah penunjuk ke DWORD yang berisi handel efek baru. Jika gagal, DWORD yang ditujukan oleh parameter ini diatur ke nol jika efeknya hilang, atau dibiarkan saja jika efeknya masih valid dengan parameter lamanya. Perhatikan bahwa nol tidak pernah merupakan handel efek yang valid.

unnamedParam4

Menunjuk ke struktur DIEFFECT yang menjelaskan efek baru. Nilai sumbu dan tombol telah dikonversi ke pengidentifikasi objek, yang terdiri dari berikut ini:

Satu penentu jenis:

DIDFT_RELAXIS
DIDFT_ABSAXIS
DIDFT_PSHBUTTON
DIDFT_TGLBUTTON
DIDFT_POV

Satu pengidentifikasi instans:

DIDFT_MAKEINSTANCE(n)

Bit lain dalam pengidentifikasi objek dicadangkan dan harus diabaikan.

Misalnya, 0x02000104 = DIDFT_PSHBUTTON | DIDFT_MAKEINSTANCE(1) | hal-hal lain

Nilai ini menunjukkan bahwa efek menggunakan tombol 1.

unnamedParam5

Menentukan bagian mana dari informasi efek yang telah berubah dari efek yang sudah diterapkan ke perangkat. Informasi ini diteruskan ke driver untuk memungkinkan pengoptimalan modifikasi efek. Jika efek sedang dimodifikasi, driver mungkin dapat memperbarui efek dalam posisi aslinya dan mengirimkan ke perangkat hanya informasi yang telah berubah. Namun, driver tidak diperlukan untuk menerapkan pengoptimalan ini. Semua anggota dalam struktur DIEFFECT yang diacu oleh parameter peff valid, dan driver dapat memilih hanya untuk memperbarui semua parameter efek di setiap unduhan. (Untuk informasi tentang struktur DIEFFECT, lihat bagian DirectInput dari DirectX SDK yang berdiri sendiri.)

Parameter ini bisa nol, satu, atau beberapa hal berikut:

DIEP_DURATION

Menunjukkan anggota dwDuration dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya.

DIEP_SAMPLEPERIOD

Menunjukkan anggota dwSamplePeriod dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya.

DIEP_GAIN

Menunjukkan anggota dwGain dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya.

DIEP_TRIGGERBUTTON

Menunjukkan anggota dwTriggerButton dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya.

DIEP_TRIGGERREPEATINTERVAL

Menunjukkan anggota dwTriggerRepeatInterval dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya.

DIEP_AXES

Menunjukkan anggota cAxes dan rgdwAxes dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhir mereka.

DIEP_DIRECTION

Menunjukkan cAx dan anggota rglDirection dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhir mereka. (Anggota dwFlags dari struktur DIEFFECT menentukan, melalui DIEFF_CARTESIAN atau DIEFF_POLAR, sistem koordinat tempat nilai harus ditafsirkan.)

DIEP_ENVELOPE

Menunjukkan anggota lpEnvelope dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhirnya. Jika bendera ini diatur dan anggota lpEnvelope adalah penunjuk NULL , maka efek sedang dibuat tanpa amplop, atau amplop yang ada sedang dihapus.

DIEP_TYPESPECIFICPARAMS

Menunjukkan anggota cbTypeSpecificParams dan lpTypeSpecificParams dari struktur DIEFFECT sedang diunduh untuk pertama kalinya atau telah berubah sejak unduhan terakhir mereka.

DIEP_START

Menunjukkan bahwa efeknya akan dimulai ulang dari awal setelah parameter efek diperbarui. Perhatikan bahwa bendera DIEP_NODOWNLOAD mengambil alih bendera DIEP_START.

DIEP_NORESTART

Jika bendera ini tidak ditentukan, driver perangkat efek diizinkan untuk memulai ulang efek jika melakukannya diperlukan untuk mengubah parameter yang ditentukan. Perhatikan bahwa bendera DIEP_NODOWNLOAD dan DIEP_START mengambil alih bendera ini.

DIEP_NODOWNLOAD

Menekan unduhan otomatis yang biasanya dilakukan setelah parameter diperbarui. Jika bendera ini diatur, driver harus memvalidasi parameter tanpa melakukan unduhan aktual.

Menampilkan nilai

Mengembalikan S_OK jika berhasil, atau nilai kesalahan sebaliknya.

Persyaratan

   
Target Platform Desktop
Header dinputd.h (termasuk Dinputd.h)