Index: hdaudbus.h =================================================================== --- drivers/wdm/audio/hdaudbus/hdaudbus.h (revision 75553) +++ drivers/wdm/audio/hdaudbus/hdaudbus.h (working copy) @@ -6,6 +6,7 @@ #include #include #include +#include #define TAG_HDA 'bADH' Index: pdo.cpp =================================================================== --- drivers/wdm/audio/hdaudbus/pdo.cpp (revision 75553) +++ drivers/wdm/audio/hdaudbus/pdo.cpp (working copy) @@ -56,18 +56,21 @@ if (IoStack->Parameters.QueryId.IdType == BusQueryInstanceID) { - UNIMPLEMENTED; + RtlStringCbPrintfW(DeviceName, + sizeof(DeviceName), + L"%08x", + DeviceExtension->Codec->Addr); + Length = wcslen(DeviceName) + 1; - // FIXME - swprintf(DeviceName, L"%08x", 1); - Length = wcslen(DeviceName) + 20; - /* allocate result buffer*/ Device = (LPWSTR)AllocateItem(PagedPool, Length * sizeof(WCHAR)); if (!Device) return STATUS_INSUFFICIENT_RESOURCES; - swprintf(Device, L"%08x", 1); + RtlStringCbPrintfW(Device, + Length * sizeof(WCHAR), + L"%08x", + DeviceExtension->Codec->Addr); DPRINT1("ID: %S\n", Device); /* store result */ @@ -183,7 +186,7 @@ RtlZeroMemory(Capabilities, sizeof(DEVICE_CAPABILITIES)); /* setup capabilities */ - Capabilities->UniqueID = TRUE; + Capabilities->UniqueID = FALSE; Capabilities->SilentInstall = TRUE; Capabilities->SurpriseRemovalOK = TRUE; Capabilities->Address = 0;