NdisMCmOidRequest, fonction (ndis.h)

La fonction NdisMCmOidRequest envoie une requête OID d’un pilote mcm (miniport call manager) à un client CoNDIS.

Syntaxe

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Paramètres

[in] NdisAfHandle

Handle qui identifie la famille d’adresses (AF) et implicitement le client vers lequel la demande OID est dirigée. À l’origine, le pilote MCM a obtenu ce handle en tant que paramètre d’entrée de sa fonction ProtocolCmOpenAf .

[in, optional] NdisVcHandle

Handle qui identifie la connexion virtuelle (VC) pour laquelle l’appelant demande ou pour laquelle il définit des informations, si la demande est spécifique à VC. Sinon, si cette requête n’est pas spécifique à VC, ce paramètre est NULL. Pour toute demande spécifique à vc, l’appelant a obtenu à l’origine ce handle soit lorsqu’il a créé le vc avec la fonction NdisMCmCreateVc , soit en tant que paramètre d’entrée de sa fonction ProtocolCoCreateVc .

[in, optional] NdisPartyHandle

Handle qui identifie la partie sur un VC multipoint que l’appelant demande ou pour laquelle il définit des informations, si la demande est spécifique à une partie. Sinon, si cette demande n’est pas spécifique à une partie, ce paramètre a la valeur NULL. Pour toute requête spécifique à une partie, le pilote MCM a initialement obtenu ce handle en tant que paramètre d’entrée pour sa fonction ProtocolCmAddParty .

NdisOidRequest

Pointeur vers une mémoire tampon allouée à l’appelant qui contient une structure NDIS_OID_REQUEST .

Valeur retournée

NdisMCmOidRequest retourne l’une des valeurs suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS
L’opération de demande s’est terminée avec succès.
NDIS_STATUS_PENDING
La demande est gérée de manière asynchrone, et NDIS appellera le service de l’appelant Fonction ProtocolCoOidRequestComplete lorsque la demande est terminée.
NDIS_STATUS_INVALID_OID
Le code OID_XXX spécifié dans le membre Oid de la structure NDIS_OID_REQUEST au niveau du paramètre OidRequest n’est pas valide ou n’est pas 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 membre InformationBufferLength de la structure NDIS_OID_REQUEST sur OidRequest ne correspond pas aux exigences du code OID_XXX donné. Si la mémoire tampon d’informations est trop petite, le membre BytesNeededed de NDIS_OID_REQUEST contient la valeur correcte pour InformationBufferLength, lorsque NdisMCmOidRequest retourne.
NDIS_STATUS_INVALID_DATA
Les données fournies dans InformationBuffer dans la structure de NDIS_OID_REQUEST donnée n’étaient pas valides pour le code OID_XXX donné.
NDIS_STATUS_NOT_SUPPORTED ou NDIS_STATUS_NOT_RECOGNIZED
Le pilote client 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 elle n’indique pas nécessairement que la même demande, si elle est envoyée ultérieurement, échouera pour la même raison.
NDIS_STATUS_FAILURE
Cette valeur est généralement une valeur par défaut non spécifique qui est retournée quand aucun des codes de status NDIS_STATUS_XXX les plus spécifiques ne s’applique.
NDIS_STATUS_REQUEST_ABORTED
Le pilote cible a cessé de traiter la requête.

Remarques

Pour lancer des demandes OID aux clients CoNDIS, les pilotes MCM appellent la fonction NdisMCmOidRequest . Avant qu’un pilote MCM n’appelle NdisMCmOidRequest, le pilote alloue de la mémoire pour sa requête et initialise une structure NDIS_OID_REQUEST . Le MCM définit le membre Oid de la structure NDIS_OID_REQUEST avec un code OID CoNDIS.

Un pilote MCM peut appeler NdisMCmOidRequest pour communiquer des informations orientées connexion, telles qu’une modification des adresses du client que le paramètre NdisAfHandle identifie.

Une fois que le MCM a appelé NdisMCmOidRequest, NDIS appelle la fonction ProtocolCoOidRequest du client.

Si la requête du pilote MCM est spécifique à VC ou à une partie, le pilote MCM transmet également une valeur non NULL au paramètre NdisVcHandle ou NdisPartyHandle , respectivement.

Si NdisMCmOidRequest retourne NDIS_STATUS_PENDING, la demande est gérée de manière asynchrone et NDIS appelle le MCM Fonction ProtocolCoOidRequestComplete lorsque la demande est terminée. Si NdisMCmOidRequest retourne un autre status, la demande est terminée lorsque NdisMCmOidRequest retourne et que NDIS n’appelle pas ProtocolCoOidRequestComplete.

Pour plus d’informations sur les OID définis pour être utilisés avec NdisMCmOidRequest, consultez Les OID NDIS.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI Irql_MCM_Function(ndis)

Voir aussi

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete