acmDriverPriority-Funktion (msacm.h)
Die Funktion acmDriverPriority ändert die Priorität und den Status eines ACM-Treibers.
Syntax
MMRESULT ACMAPI acmDriverPriority(
HACMDRIVERID hadid,
DWORD dwPriority,
DWORD fdwPriority
);
Parameter
hadid
Behandeln Sie den Treiberbezeichner eines installierten ACM-Treibers. Wenn die flags ACM_DRIVERPRIORITYF_BEGIN und ACM_DRIVERPRIORITYF_END angegeben werden, muss dieser Parameter NULL sein.
dwPriority
Neue Priorität für einen globalen ACM-Treiberbezeichner. Ein Nullwert gibt an, dass die Priorität des Treiberbezeichners unverändert bleiben soll. Der Wert 1 gibt an, dass der Treiber als Treiber mit der höchsten Suchpriorität platziert werden soll. Der Wert –1 gibt an, dass der Treiber als Treiber mit der niedrigsten Suchpriorität platziert werden soll. Prioritäten werden nur für globale Treiber verwendet.
fdwPriority
Flags zum Festlegen von Prioritäten von ACM-Treibern. Die folgenden Werte werden definiert.
Wert | Bedeutung |
---|---|
ACM_DRIVERPRIORITYF_BEGIN | Änderungsbenachrichtigungsübertragungen sollten zurückgestellt werden. Eine Anwendung muss Benachrichtigungsübertragungen so schnell wie möglich mit dem flag ACM_DRIVERPRIORITYF_END wieder aktivieren. Beachten Sie, dass hadidNULL sein muss, dwPriority 0 sein muss und nur das flag ACM_DRIVERPRIORITYF_BEGIN festgelegt werden kann. |
ACM_DRIVERPRIORITYF_DISABLE | Der ACM-Treiber sollte deaktiviert werden, wenn er derzeit aktiviert ist. Das Deaktivieren eines deaktivierten Treibers bringt nichts. |
ACM_DRIVERPRIORITYF_ENABLE | Der ACM-Treiber sollte aktiviert sein, wenn er derzeit deaktiviert ist. Das Aktivieren eines aktivierten Treibers bringt nichts. |
ACM_DRIVERPRIORITYF_END | Der aufrufende Task möchte Änderungsbenachrichtigungsübertragungen erneut aktivieren. Eine Anwendung muss acmDriverPriority mit ACM_DRIVERPRIORITYF_END für jeden erfolgreichen Aufruf mit dem flag ACM_DRIVERPRIORITYF_BEGIN aufrufen. Beachten Sie, dass hadidNULL sein muss, dwPriority 0 sein muss und nur das ACM_DRIVERPRIORITYF_END-Flag festgelegt werden kann. |
Rückgabewert
Gibt null zurück, wenn der Vorgang erfolgreich war oder andernfalls ein Fehler. Mögliche Fehlerwerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Die verzögerte Broadcastsperre gehört einer anderen Aufgabe. |
|
Mindestens ein Flag ist ungültig. |
|
Das angegebene Handle ist ungültig. |
|
Mindestens ein Parameter ist ungültig. |
|
Der angeforderte Vorgang wird für den angegebenen Treiber nicht unterstützt. Beispielsweise unterstützen lokale Und Benachrichtigungstreiberbezeichner keine Prioritäten (können aber aktiviert und deaktiviert werden). Wenn eine Anwendung einen nonzero-Wert für dwPriority für local angibt und Treiberbezeichner benachrichtigt, wird dieser Fehler zurückgegeben. |
Hinweise
Alle Treiberbezeichner können aktiviert und deaktiviert werden, einschließlich globaler, lokaler und Benachrichtigungstreiberbezeichner.
Wenn mehr als ein globaler Treiberbezeichner aktiviert, deaktiviert oder in der Priorität verschoben werden muss, sollte eine Anwendung Änderungsbenachrichtigungsübertragungen mithilfe des flags ACM_DRIVERPRIORITYF_BEGIN zurückstellen. Eine einzelne Änderungsbenachrichtigung wird gesendet, wenn das flag ACM_DRIVERPRIORITYF_END angegeben wird.
Eine Anwendung kann die Funktion mit dem acmMetrics-ACM_METRIC_DRIVER_PRIORITY Metrikindex verwenden, um die aktuelle Priorität eines globalen Treibers abzurufen. Treiber werden von der acmDriverEnum-Funktion immer von der höchsten bis zur niedrigsten Priorität aufgelistet.
Alle aktivierten Treiberbezeichner erhalten Änderungsbenachrichtigungen. Eine Anwendung kann eine Benachrichtigung registrieren, indem sie die Funktion acmDriverAdd in Verbindung mit dem flag ACM_DRIVERADDF_NOTIFYHWND verwendet. Änderungen an nicht globalen Treiberbezeichnern werden nicht übertragen.
Prioritäten werden einfach für die Suchreihenfolge verwendet, wenn eine Anwendung keinen Treiber angibt. Die Erhöhung der Priorität eines Treibers hat keine Auswirkungen auf die Leistung eines Treibers.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | msacm.h |
Bibliothek | Msacm32.lib |
DLL | Msacm32.dll |