Uç Nokta Kimliği Dizeleri
Windows Vista'da sistem, sistemde ses uç noktası cihazlarını tanımlamak için uç nokta kimliği dizeleri oluşturur. Uç nokta kimliği dizesi, null olarak sonlandırılan geniş karakterli bir dizedir. Belirli bir ses uç noktası cihazı için uç nokta kimliği dizesi, cihazı sistemdeki tüm ses uç noktası cihazları arasında benzersiz olarak tanımlar.
Bir sistem iki veya daha fazla aynı ses adaptör cihazı içeriyorsa, ilgili ses uç noktası cihazları aynı kullanıcı dostu adlara sahip olur, ancak her uç nokta cihazının benzersiz bir uç noktası kimliği dizesi vardır. Uç nokta cihazının kolay adını alma hakkında daha fazla bilgi için bkz. Cihaz Özellikleri.
Bir ses uç noktası cihazı için IMMDevice arabirim örneğini aldıktan sonra istemci, cihazın uç nokta kimliği dizesini almak için IMMDevice::GetId yöntemini çağırabilir. İstemci, IMMDeviceEnumerator::GetDevice yöntemini çağırarak daha sonra veya farklı bir işlemde ses uç noktası cihazının bir örneğini oluşturmak için uç nokta kimliği dizesini kullanabilir.
bir istemci, herhangi bir ses uç noktası cihazının durumu değiştiğinde bildirim almayı düzenleyebilir. Bildirim almak için istemci bir IMMNotificationClient arabirimi uygular ve bu arabirimi MMDevice API'sine kaydeder. Bir uç nokta cihazının durumu değiştiğinde, MMDevice API'si istemcinin EDataFlow arabiriminde uygun yöntemi çağırır. yöntemine giriş parametrelerinden biri, durumu değiştirilen uç nokta cihazını tanımlayan uç nokta kimliği dizesidir. EDataFlowhakkında daha fazla bilgi için bkz. Cihaz Olayları.
DirectSound ve Windows multimedya işlevleri gibi eski ses API'leri, ses cihazlarını listelemek ve tanımlamak için kendi arabirimlerine sahiptir. Windows Vista'da bu arabirimler, API'ler tarafından sunulan cihaz soyutlamalarının altında yatan uç nokta cihazlarını tanımlayan uç nokta kimliği dizelerini sağlamak için genişletilmiştir.
DirectSound cihaz numaralandırması sırasında, DirectSound numaralandırmış olduğu her cihaz için uç nokta kimliği dizesini sağlar. Daha fazla bilgi için bkz. Eski Ses Uygulamaları için Ses Olayları.
Eski bir dalga biçimi cihazının uç nokta kimliği dizesini elde etmek için waveOutMessage veya waveInMessage işlevini kullanarak waveform cihaz sürücüsüne DRV_QUERYFUNCTIONINSTANCEID bir ileti gönderin. Bu iletinin kullanımını gösteren bir kod örneği için bkz. Eski Windows Multimedya Uygulamaları için Cihaz Rolleri.
Eski ses API'lerini kullanan uygulamaları geliştirmek için çekirdek ses API'lerinin özelliklerini kullanma hakkında daha fazla bilgi için bkz. Eski Ses API'leriyle Birlikte Çalışabilirlik.
İstemciler uç nokta kimliği dizesinin içeriğini opak olarak ele almalıdır. Diğer bir ifadeyle, istemciler cihaz hakkında bilgi almak için dizenin içeriğini ayrıştırmaya çalışmamalıdır. Bunun nedeni, dize biçiminin tanımsız olması ve MMDevice API sistem modülünün bir uygulamasından diğerine değişebileceğidir.
Uç nokta kimliği dizesinin ömrü cihaz yüklemesine bağlıdır. Bir cihazın uç nokta kimliği dizesi, kullanıcı cihaz sürücüsünü yükseltirse veya kullanıcı cihazı kaldırıp yeniden yüklerse değişir. Ancak, sistem yeniden başlatmalarında uç nokta kimliği dizesi değişmeden kalır ve kullanıcı cihazı çıkarıp yeniden taktığında USB ses cihazının uç nokta kimliği dizesi değişmeden kalır.
İlgili konular