Partager via


NdisSynchronousOidRequest, fonction (ndis.h)

Les pilotes de protocole appellent la fonction NdisSynchronousOidRequest pour provenir d’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 OID, un jeu ou une requête de méthode.

Valeur de retour

Le pilote sous-jacent détermine quel code NDIS_STATUS_XXXNdisSynchronousOidRequest retourne, mais il s’agit généralement de l’une des valeurs suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
L’opération de demande s’est terminée avec succès.
NDIS_STATUS_INVALID_OID
Le codexxx OID_ qui a été spécifié dans le membre Oid de la mémoire tampon NDIS_OID_REQUEST-structured à OidRequest n’était pas valide ou non pris en charge par le pilote sous-jacent.
NDIS_STATUS_INVALID_LENGTH ou NDIS_STATUS_BUFFER_TOO_SHORT
La valeur spécifiée dans le InformationBufferLength membre de la mémoire tampon structurée NDIS_OID_REQUEST à OidRequest ne correspond pas aux exigences du codexxx OID_ donné. Si la mémoire tampon d’informations était trop petite, le membre BytesNeededed contient la valeur correcte pour InformationBufferLength à retour de NdisSynchronousOidRequest.
NDIS_STATUS_INVALID_DATA
Les données fournies à InformationBuffer dans la structure de NDIS_OID_REQUEST donnée n’étaient pas valides pour le codexxx OID_ donné.
NDIS_STATUS_NOT_SUPPORTED ou NDIS_STATUS_NOT_RECOGNIZED
Le pilote sous-jacent ne prend pas en charge l’opération demandée.
NDIS_STATUS_RESOURCES
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 qu’elle n’indique pas nécessairement que la même demande, envoyée ultérieurement, échoue pour la même raison.
NDIS_STATUS_NOT_ACCEPTED
Le pilote sous-jacent a tenté l’opération demandée, généralement un ensemble sur une carte réseau, mais il 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.
NDIS_STATUS_CLOSING ou NDIS_STATUS_CLOSING_INDICATING
Le pilote sous-jacent a échoué l’opération demandée, car une opération de fermeture est en cours.
NDIS_STATUS_RESET_IN_PROGRESS
Le pilote miniport sous-jacent ne peut pas satisfaire la requête pour l’instant, 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, échoue pour la même raison.
NDIS_STATUS_FAILURE
Cette valeur est généralement une valeur par défaut non spécifique, retournée lorsqu’aucune des valeurs NDIS_STATUS_xxx plus spécifiques a provoqué l’échec du pilote sous-jacent à la requête.

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 ne peut être utilisé que 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 d’adaptateur tant que toutes les requêtes OID synchrones proviennent du pilote de protocole.

Les pilotes de protocole ne sont pas requis pour implémenter protocolOidRequestComplete ou ProtocolDirectOidRequestComplete afin d’appeler NdisSynchronousOidRequest. Comme son nom l’indique, une requête OID synchrone se termine toujours de façon synchrone, de sorte qu’il n’existe aucun rappel asynchrone.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1709
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx