Fonction PcNewPort (portcls.h)
La fonction PcNewPort crée un objet de pilote de port fourni par le système, dont l’interface (dérivée de la classe de base IPort) est spécifiée par un ID de classe.
Syntaxe
PORTCLASSAPI NTSTATUS PcNewPort(
[out] PPORT *OutPort,
[in] REFCLSID ClassID
);
Paramètres
[out] OutPort
Pointeur de sortie pour l’objet port-driver créé par cette fonction. Ce paramètre pointe vers une variable de pointeur allouée par l’appelant dans laquelle la fonction génère le pointeur vers l’objet IPort nouvellement créé. Cet objet a l’interface de port spécifiée par le paramètre ClassId. Spécifiez une valeur de pointeur non NULL valide pour ce paramètre.
[in] ClassID
Spécifie le type d’interface de port demandé. Pour plus d’informations, consultez la section Remarques suivante.
Valeur de retour
PcNewPort retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.
Remarques
Le paramètre ClassId peut être défini sur l’un des GUID du tableau suivant.
GUID de classe | Nom de l’interface de port |
---|---|
CLSID_PortDMus | |
CLSID_PortMidi | |
CLSID_PortTopology | |
CLSID_PortWaveCyclic | |
CLSID_PortWavePci | |
CLSID_PortWaveRT |
CLSID_PortDMus est défini dans le fichier dmusicks.h. Les quatre autres GUID du tableau précédent sont définis dans portcls.h.
Dans Microsoft Windows XP et versions ultérieures, les pilotes de port MIDI et DirectMusic partagent la même implémentation logicielle interne. Cela signifie que le GUID CLSID_PortMidi équivaut à CLSID_PortDMus.
Pour plus d’informations sur la création de pilotes de port et de miniport pour les sous-éléments, consultez Création de sous-éléments.
Le paramètre OutPort suit les conventions de comptage de référence pour les objets COM.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Le pilote système PortCls implémente la fonction PcNewPort dans Microsoft Windows 98/Me et dans les systèmes d’exploitation Windows 2000 et ultérieurs. |
plateforme cible | Universel |
d’en-tête | portcls.h (include Portcls.h) |
bibliothèque | Portcls.lib |
IRQL | PASSIVE_LEVEL |