NdisSynchronousOidRequest, fonction (ndis.h)
Les pilotes de protocole appellent la fonction NdisSynchronousOidRequest pour créer une nouvelle requête OID synchrone et l’émettre aux pilotes sous-jacents.
Syntaxe
NDIS_STATUS NdisSynchronousOidRequest(
[in] NDIS_HANDLE NdisBindingHandle,
[in] NDIS_OID_REQUEST *OidRequest
);
Paramètres
[in] NdisBindingHandle
Handle retourné par la fonction NdisOpenAdapterEx qui identifie l’adaptateur miniport cible sur la liaison.
[in] OidRequest
Pointeur vers une structure NDIS_OID_REQUEST qui spécifie l’opération demandée avec un code OID_Xxx donné. La structure peut spécifier une requête, un jeu ou une requête de méthode OID.
Valeur retournée
Le pilote sous-jacent détermine le code NDIS_STATUS_XXXNdisSynchronousOidRequest retourné, mais il s’agit généralement de l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
L’opération de demande s’est terminée avec succès. |
|
Le code OID_Xxx spécifié dans le membre Oid de la mémoire tampon NDIS_OID_REQUEST structurée sur OidRequest n’était pas valide ou n’était pas pris en charge par le pilote sous-jacent. |
|
La valeur spécifiée dans le membre InformationBufferLength de la mémoire tampon NDIS_OID_REQUEST-structurée sur OidRequest ne correspondait pas aux exigences du code OID_Xxx donné. Si la mémoire tampon d’informations était trop petite, le membre BytesNeeded contient la valeur correcte pour InformationBufferLength au retour de NdisSynchronousOidRequest. |
|
Les données fournies dans InformationBuffer dans la structure NDIS_OID_REQUEST donnée n’étaient pas valides pour le code OID_Xxx donné. |
|
Le pilote sous-jacent ne prend pas en charge l’opération demandée. |
|
La demande n’a pas pu être satisfaite en raison d’une pénurie de ressources. En règle générale, cette valeur de retour indique qu’une tentative d’allocation de mémoire a échoué, mais elle n’indique pas nécessairement que la même demande, envoyée ultérieurement, échouera pour la même raison. |
|
Le pilote sous-jacent a tenté l’opération demandée, généralement définie sur une carte réseau, mais elle a échoué. Par exemple, une tentative de définition d’un trop grand nombre d’adresses de multidiffusion peut entraîner le retour de cette valeur. |
|
Le pilote sous-jacent a échoué l’opération demandée, car une opération de fermeture est en cours. |
|
Le pilote miniport sous-jacent ne peut pas satisfaire la demande pour le moment, car il réinitialise actuellement la carte réseau affectée. La fonction ProtocolStatusEx de l’appelant a été ou sera appelée avec NDIS_STATUS_RESET_START pour indiquer qu’une réinitialisation est en cours. Cette valeur de retour n’indique pas nécessairement que la même demande, envoyée ultérieurement, échouera pour la même raison. |
|
Cette valeur est généralement une valeur par défaut non spécifique, retournée quand aucune des valeurs NDIS_STATUS_Xxx plus spécifiques n’a provoqué l’échec de la demande du pilote sous-jacent. |
Remarques
La fonction NdisSynchronousOidRequest ne peut pas être utilisée pour les requêtes OID générales. Pour les requêtes OID générales, utilisez la fonction NdisOidRequest à la place. NdisSynchronousOidRequest peut être utilisé uniquement pour les OID pris en charge par NDIS pour une utilisation avec l’interface OID synchrone. La plupart des pilotes de protocole n’ont pas besoin d’appeler NdisSynchronousOidRequest
Les pilotes de protocole ne doivent pas fermer la liaison de l’adaptateur tant que toutes les requêtes OID synchrones provenant du pilote de protocole ne sont pas terminées.
Les pilotes de protocole ne sont pas nécessaires pour implémenter ProtocolOidRequestComplete ou ProtocolDirectOidRequestComplete afin d’appeler NdisSynchronousOidRequest. Comme son nom l’indique, une requête OID synchrone se termine toujours de manière synchrone, de sorte qu’il n’y a pas de rappel asynchrone.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1709 |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |