String Perintah

[Fitur yang terkait dengan halaman ini, MCI, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer. MediaPlayer telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer alih-alih MCI, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Untuk mengirim perintah string ke perangkat MCI, gunakan fungsi mciSendString , yang mencakup parameter untuk perintah string dan buffer untuk informasi yang dikembalikan.

Fungsi mciSendString mengembalikan nol jika berhasil. Jika fungsi gagal, kata urutan rendah dari nilai yang dikembalikan berisi kode kesalahan. Anda dapat meneruskan kode kesalahan ini ke fungsi mciGetErrorString untuk mendapatkan deskripsi teks kesalahan.

Sintaks String Perintah

String perintah MCI menggunakan sintaks verb-object-modifier yang konsisten. Setiap string perintah menyertakan perintah, pengidentifikasi perangkat, dan argumen perintah. Argumen bersifat opsional untuk beberapa perintah dan diperlukan untuk yang lain.

String perintah memiliki formulir berikut:

argumen device_id perintah

Komponen-komponen ini berisi informasi berikut:

  • Perintah menentukan perintah MCI, seperti buka, tutup, atau putar.

  • device_id mengidentifikasi instans driver MCI. device_id dibuat saat perangkat dibuka.

  • Argumen menentukan bendera dan variabel yang digunakan oleh perintah . Bendera adalah kata kunci yang dikenali dengan perintah MCI. Variabel adalah angka atau string yang berlaku untuk perintah atau bendera MCI.

    Misalnya, perintah putar menggunakan argumen "dari posisi " dan "ke posisi " untuk menunjukkan posisi untuk memulai dan mengakhiri pemutaran. Anda dapat mencantumkan bendera yang digunakan dengan perintah dalam urutan apa pun. Saat Anda menggunakan bendera yang memiliki variabel yang terkait dengannya, Anda harus menyediakan nilai untuk variabel .

    Argumen perintah (dan opsional) yang tidak ditentukan mengasumsikan nilai default.

Contoh fungsi berikut mengirimkan perintah putar dengan bendera "dari" dan "ke".

BOOL PlayFromTo(LPTSTR lpstrAlias, DWORD dwFrom, DWORD dwTo) 
{ 
    TCHAR achCommandBuff[128]; 
    int result;
    MCIERROR err;

    // Form the command string.
    result = _stprintf_s(
        achCommandBuff, 
        TEXT("play %s from %u to %u"), 
        lpstrAlias, dwFrom, dwTo); 

    if (result == -1)
    {
        return FALSE;
    }

    // Send the command string.
    err = mciSendString(achCommandBuff, NULL, 0, NULL); 
    if (err != 0)
    {
        return FALSE;
    }

    return TRUE;
} 

Jenis Data untuk Variabel Perintah

Anda dapat menggunakan jenis data berikut untuk variabel dalam string perintah.

Jenis data Deskripsi
String Jenis data string dibatasi oleh spasi putih dan tanda kutip di awal dan akhir. MCI menghapus tanda kutip tunggal dari string. Untuk meletakkan tanda kutip dalam string, gunakan sekumpulan dua tanda kutip tempat Anda ingin menyematkan tanda kutip Anda. Untuk menggunakan string kosong, gunakan dua tanda kutip yang dibatasi dengan spasi putih di awal dan akhir.
Bilangan bulat panjang yang ditandatangani Jenis data bilangan bulat panjang yang ditandatangani dibatasi oleh spasi kosong di awal dan akhir. Kecuali ditentukan lain, bilangan bulat bisa positif atau negatif. Jika Anda menggunakan bilangan bulat negatif, Anda tidak boleh memisahkan tanda minus dan digit pertama dengan spasi.
Persegi panjang Jenis data persegi panjang adalah daftar berurutan dari empat nilai pendek yang ditandatangani. Spasi kosong memisahkan jenis data ini dan memisahkan setiap bilangan bulat dalam daftar.