Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
cihaz yükleme uygulamanız yüklemelerini gerçekleştirmeden önce diğer cihaz yükleme etkinliklerinin devam edip etmediğini belirlemelidir. Bu belirlemeyi yapmak için cihaz yükleme uygulamasının genellikle sıfır zaman aşımı değeriyle CMP_WaitNoPendingInstallEventsçağrısı yapması gerekir. Bu işlevden döndürülen değer diğer yükleme etkinliklerinin beklemede olduğunu gösteriyorsa (örneğin, Yeni Donanım Bulundu Sihirbazı etkin olabilir), cihaz yükleme uygulamasından çıkılmalıdır.
cihaz yükleme uygulamanızıCMP_WaitNoPendingInstallEventsdesteklemeyen platformlarla uyumlu hale getirmek için uygulama aşağıdaki kodu içermelidir:
BOOL
IsDeviceInstallInProgress (VOID)
{
HMODULE hModule;
CMP_WAITNOPENDINGINSTALLEVENTS_PROC pCMP_WaitNoPendingInstallEvents;
hModule = GetModuleHandle(TEXT("setupapi.dll"));
if(!hModule)
{
// Should never happen since we're linked to SetupAPI, but...
return FALSE;
}
pCMP_WaitNoPendingInstallEvents =
(CMP_WAITNOPENDINGINSTALLEVENTS_PROC)GetProcAddress(hModule,
"CMP_WaitNoPendingInstallEvents");
if(!pCMP_WaitNoPendingInstallEvents)
{
// We're running on a release of the operating system that doesn't supply this function.
// Trust the operating system to suppress AutoRun when appropriate.
return FALSE;
}
return (pCMP_WaitNoPendingInstallEvents(0) == WAIT_TIMEOUT);
}
int
__cdecl
_tmain(IN int argc, IN PTCHAR argv[])
{
if(IsDeviceInstallInProgress()) {
//
// We don't want to start right now. Instead, our
// device co-installer will invoke this application
// (if necessary) during finish-install processing.
//
return -1;
}
.
.
}
Bu kodun kullanımı, bir platform CMP_WaitNoPendingInstallEventsdesteklemiyorsa, yükleme etkinliklerinin devam ettiği sürece platformun Otomatik Çalıştır'ı başlatmayacağı varsayımına dayanır.
Bu kodun örnek kullanımı için Windows Sürücü Seti'nin (WDK) src\general\toaster alt dizininin altındaki tost makinesi yükleme paketine bakın.