StorPortInvokeAcpiMethod, fonction (storport.h)
La routine StorPortInvokeAcpiMethod exécute une méthode ACPI pour un périphérique de stockage.
Syntaxe
ULONG StorPortInvokeAcpiMethod(
[in] PVOID HwDeviceExtension,
[in, optional] PSTOR_ADDRESS Address,
[in] ULONG MethodName,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[in, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[out, optional] PULONG BytesReturned
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).
[in, optional] Address
Adresse de l’appareil cible. Ce paramètre est facultatif. Si Address est défini sur NULL, l’adaptateur est la cible.
[in] MethodName
Nom de quatre octets pour la méthode ACPI. Par exemple, ((ULONG) « DDS_ ») nomme la méthode ACPI _SDD ou « Set Device Data » pour un contrôleur AHCI.
[in, optional] InputBuffer
Pointeur vers les données d’entrée de la méthode .
[in] InputBufferLength
Longueur, en octets, de la mémoire tampon dans InputBuffer.
[in, optional] OutputBuffer
Pointeur vers les données de sortie de la méthode .
[in] OutputBufferLength
Longueur, en octets, de la mémoire tampon dans OutputBuffer.
[out, optional] BytesReturned
Pointeur vers la longueur, en octets, des données retournées dans OutputBuffer.
Valeur retournée
La routine StorPortInvokeAcpiMethod retourne l’un des codes status suivants :
Code de retour | Description |
---|---|
|
Une condition d’erreur générale existe. |
|
HwDeviceExtension, InputBuffer ou OutputBuffer a la valeur NULL.
-ou- L’adresse fait référence à une cible qui n’existe pas. |
|
La méthode ACPI n’est pas implémentée. |
|
Les ressources disponibles sont insuffisantes pour exécuter la méthode, ou OutputBufferLength n’est pas suffisamment grand pour les données retournées. |
|
> PASSIVE_LEVEL IRQL actuel. |
|
La méthode a été exécutée avec succès. |
Remarques
StorPortInvokeAcpiMethod permet à un pilote miniport d’appeler des méthodes ACPI définies pour les contrôleurs de stockage et les LUN de stockage. Les noms de méthode sont des chaînes de caractères de quatre octets qui occupent une valeur ULONG dans MethodName.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 8 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | storport.h (inclure Storport.h) |
IRQL | PASSIVE_LEVEL |