Komut Dizeleri

[MCI bu sayfayla ilişkilendirilmiş özellik eski bir özelliktir. MediaPlayer tarafından yerini almıştır. MediaPlayer, Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, yeni kodun mümkün olduğunda MCIyerine MediaPlayer kullanılmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

MCI cihazına dize komutu göndermek için, dize komutu için parametreler ve döndürülen bilgiler için bir arabellek içeren mciSendString işlevini kullanın.

mciSendString işlevi başarılı olursa sıfır döndürür. İşlev başarısız olursa, dönüş değerinin düşük sıralı sözcüğü bir hata kodu içerir. Hatanın metin açıklamasını almak için bu hata kodunu mciGetErrorString işlevine geçirebilirsiniz.

Komut Dizelerinin Söz Dizimi

MCI komut dizeleri tutarlı bir fiil-nesne değiştirici söz dizimi kullanır. Her komut dizesi bir komut, cihaz tanımlayıcısı ve komut bağımsız değişkenleri içerir. Bağımsız değişkenler bazı komutlar için isteğe bağlıdır ve diğerleri için gereklidir.

Komut dizesi aşağıdaki biçimdedir:

komut device_id bağımsız değişkenleri

Bu bileşenler aşağıdaki bilgileri içerir:

  • komutuaçma, kapatma veya yürütme gibi bir MCI komutu belirtir.

  • device_id bir MCI sürücüsünün örneğini tanımlar. device_id, cihaz açıldığında oluşturulur.

  • bağımsız değişkenleri komutu tarafından kullanılan bayrakları ve değişkenleri belirtir. Bayraklar, MCI komutuyla tanınan anahtar sözcüklerdir. Değişkenler, MCI komutuna veya bayrağına uygulanan sayılar veya dizelerdir.

    Örneğin play komutu, yürütmenin başlatılıp sonlandırıldığı konumları belirtmek için "konumundan" ve "konum" bağımsız değişkenlerini kullanır. Bir komutla kullanılan bayrakları istediğiniz sırada listeleyebilirsiniz. Kendisiyle ilişkilendirilmiş bir değişkeni olan bir bayrak kullandığınızda, değişken için bir değer sağlamanız gerekir.

    Belirtilmemiş (ve isteğe bağlı) komut bağımsız değişkenleri varsayılan bir değer olduğunu varsayar.

Aşağıdaki örnek işlev play komutunu "from" ve "to" bayraklarıyla gönderir.

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;
} 

Komut Değişkenleri için Veri Türleri

Bir komut dizesindeki değişkenler için aşağıdaki veri türlerini kullanabilirsiniz.

Veri türü Açıklama
Dize Dize veri türleri baştaki ve sondaki boşluklar ve tırnak işaretleri ile sınırlandırılır. MCI, bir dizeden tek tırnak işaretlerini kaldırır. Bir dizeye tırnak işareti koymak için, tırnak işaretinizi eklemek istediğiniz iki tırnak işareti kümesini kullanın. Boş bir dize kullanmak için, baştaki ve sondaki boşluklarla sınırlandırılmış iki tırnak işareti kullanın.
İmzalı uzun tamsayılar İmzalı uzun tamsayı veri türleri, baştaki ve sondaki boşluklarla sınırlandırılır. Aksi belirtilmedikçe, tamsayılar pozitif veya negatif olabilir. Negatif tamsayılar kullanıyorsanız, eksi işaretini ve ilk basamakları boşlukla ayırmamalısınız.
Dikdörtgen Dikdörtgen veri türleri, dört imzalı kısa değerin sıralı bir listesidir. Boşluk, bu veri türünü sınırlandırarak listedeki her tamsayıyı ayırır.