Partager via


Fonctions de classe de port obsolètes

Le fichier d’en-tête portcls.hdefine les macros qui contiennent les noms des fonctions PortCls obsolètes qui ont été remplacées par de nouvelles fonctions PortCls. Ces macros permettent de recompiler l’ancien code source qui contient des références à des noms de fonctions PortCls obsolètes pour utiliser les nouvelles fonctions PortCls sans nécessiter de modification des fichiers sources.

Lors de la compilation du code source qui utilise les noms obsolètes, définissez le nom du paramètre PC_OLD_NAMES. Ce paramètre peut être défini par l’argument de ligne de commande du compilateur « -DPC_OLD_NAMES » si cela est plus pratique que d’introduire l’instruction #define PC_OLD_NAMES dans les fichiers sources eux-mêmes.

Le tableau suivant répertorie les noms de fonction PortCls obsolètes dans la colonne de gauche. Pour chaque nom obsolète, la colonne centrale contient le nom de la nouvelle fonction PortCls qui la remplace.

Nom de la fonction obsolète Nom de la nouvelle fonction Les arguments ont-ils changé ?

AddAdapterDevice

PcAddAdapterDevice

YES

CompletePendingPropertyRequest

PcCompletePendingPropertyRequest

non

GetTimeInterval

PcGetTimeInterval

non

InitializeAdapterDriver

PcInitializeAdapterDriver

YES

NewDmaChannel

PcNewDmaChannel

non

NewMiniport

PcNewMiniport

non

Newport

PcNewPort

non

NewResourceList

PcNewResourceList

non

NewResourceSublist

PcNewResourceSublist

non

NewServiceGroup

PcNewServiceGroup

non

RegisterPhysicalConnection

PcRegisterPhysicalConnection

YES

RegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionFromExternal

YES

RegisterPhysicalConnectionToExternal

PcRegisterPhysicalConnectionToExternal

YES

RegisterSubdevice

PcRegisterSubdevice

YES

Dans certains cas, la modification ne se résume pas à un simple changement de nom : le qualificateur Pc est inséré au début du nom pour indiquer que la fonction est implémentée dans PortCls. Dans d’autres cas, toutefois, la liste d’arguments a changé en plus du nom de la fonction. La colonne de droite du tableau précédent indique si les arguments ont changé.

Dans les cas où les arguments ont changé, les macros dans portcls.hconvertis les listes d’arguments pour les fonctions PortCls obsolètes en arguments équivalents pour les nouvelles fonctions PortCls. Les macros suivantes contiennent des conversions d’arguments :

#define InitializeAdapterDriver(c1,c2,a) \
    PcInitializeAdapterDriver(PDRIVER_OBJECT(c1),PUNICODE_STRING(c2),PDRIVER_ADD_DEVICE(a))
#define AddAdapterDevice(c1,c2,s,m) \
    PcAddAdapterDevice(PDRIVER_OBJECT(c1),PDEVICE_OBJECT(c2),s,m,0)
#define RegisterSubdevice(c1,c2,n,u) \
    PcRegisterSubdevice(PDEVICE_OBJECT(c1),n,u)
#define RegisterPhysicalConnection(c1,c2,fs,fp,ts,tp) \
    PcRegisterPhysicalConnection(PDEVICE_OBJECT(c1),fs,fp,ts,tp)
#define RegisterPhysicalConnectionToExternal(c1,c2,fs,fp,ts,tp) \
    PcRegisterPhysicalConnectionToExternal(PDEVICE_OBJECT(c1),fs,fp,ts,tp)
#define RegisterPhysicalConnectionFromExternal(c1,c2,fs,fp,ts,tp) \
    PcRegisterPhysicalConnectionFromExternal(PDEVICE_OBJECT(c1),fs,fp,ts,tp)