IWDFDevice ::SetPnpState, méthode (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]
La méthode SetPnpState active ou désactive (ou définit l’état par défaut) la propriété Plug-and-Play (PnP) spécifiée d’un appareil.
Syntaxe
void SetPnpState(
[in] WDF_PNP_STATE State,
[in] WDF_TRI_STATE Value
);
Paramètres
[in] State
Valeur WDF_PNP_STATE typée qui identifie la propriété PnP à définir.
[in] Value
Valeur de type WDF_TRI_STATE qui identifie comment définir la propriété PnP spécifiée par State . Le tableau suivant présente les valeurs possibles pour Value.
Valeur | Signification |
---|---|
WdfUseDefault (0) | Définissez la propriété PnP sur l’état par défaut. |
WdfFalse (1) | Désactivez la propriété PnP. |
WdfTrue (2) | Activez la propriété PnP. |
Valeur de retour
None
Remarques
Avant que l’état de la propriété PnP définie par SetPnpState puisse prendre effet, le pilote doit appeler la méthode IWDFDevice ::CommitPnpState .
Exemples
L’exemple de code suivant montre comment indiquer qu’un appareil a échoué à la suite d’une demande.
VOID
CUmdfHidDevice::OnCompletion(
__in IWDFIoRequest* WdfRequest,
__in IWDFIoTarget* /* WdfTarget */,
__in IWDFRequestCompletionParams* WdfCompletionParams,
__in PVOID /* Context */
)
{
ULONG_PTR bytesRead;
if (!SUCCEEDED(WdfCompletionParams->GetCompletionStatus()))
{
m_WdfDevice->SetPnpState(WdfPnpStateFailed, WdfTrue);
m_WdfDevice->CommitPnpState();
return;
}
// Lock the device to prevent files from closing.
m_WdfDevice->AcquireLock();
// Retrieve the number of bytes that were read.
bytesRead = WdfCompletionParams->GetInformation();
// Process the reports.
ProcessInputReports((PBYTE) m_ReadMemory->GetDataBuffer(NULL), bytesRead);
m_WdfDevice->ReleaseLock();
// Release the request.
m_InterruptReadRequest = NULL;
WdfRequest->DeleteWdfObject();
// Send a new request.
SendInterruptPipeRead();
}
Configuration requise
Condition requise | Valeur |
---|---|
Fin de la prise en charge | Non disponible dans UMDF 2.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
Version UMDF minimale | 1.5 |
En-tête | wudfddi.h (inclure Wudfddi.h) |
DLL | WUDFx.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour