Freigeben über


Veraltete Portklassenfunktionen

Die Headerdatei portcls.hdefines Makros, die die Namen veralteter PortCls-Funktionen enthalten, die durch neue PortCls-Funktionen ersetzt wurden. Mit diesen Makros kann alter Quellcode, der Verweise auf veraltete PortCls-Funktionsnamen enthält, neu kompiliert werden, um die neuen PortCls-Funktionen zu verwenden, ohne dass änderungen an den Quelldateien erforderlich sind.

Wenn Sie Quellcode kompilieren, der die veralteten Namen verwendet, definieren Sie den Parameternamen PC_OLD_NAMES. Dieser Parameter kann durch das Compilerbefehlszeilenargument "-DPC_OLD_NAMES" definiert werden, wenn dies bequemer ist, als die -Anweisung #define PC_OLD_NAMES in die Quelldateien selbst einzufügen.

In der folgenden Tabelle sind die Namen der veralteten PortCls-Funktion in der linken Spalte aufgeführt. Für jeden veralteten Namen enthält die mittlere Spalte den Namen der neuen PortCls-Funktion, die sie ersetzt.

Veralteter Funktionsname Neuer Funktionsname Haben sich die Argumente geändert?

AddAdapterDevice

PcAddAdapterDevice

YES

CompletePendingPropertyRequest

PcCompletePendingPropertyRequest

Nein

GetTimeInterval

PcGetTimeInterval

Nein

InitializeAdapterDriver

PcInitializeAdapterDriver

YES

NewDmaChannel

PcNewDmaChannel

Nein

NewMiniport

PcNewMiniport

Nein

Newport

PcNewPort

Nein

NewResourceList

PcNewResourceList

Nein

NewResourceSublist

PcNewResourceSublist

Nein

NewServiceGroup

PcNewServiceGroup

Nein

RegisterPhysicalConnection

PcRegisterPhysicalConnection

YES

RegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionFromExternal

YES

RegisterPhysicalConnectionToExternal

PcRegisterPhysicalConnectionToExternal

YES

RegisterSubdevice

PcRegisterSubdevice

YES

In einigen Fällen entspricht die Änderung nicht mehr als einer einfachen Namensänderung: Der Qualifizierer Pc wird am Anfang des Namens eingefügt, um anzugeben, dass die Funktion in PortCls implementiert ist. In anderen Fällen hat sich die Argumentliste jedoch zusätzlich zum Namen der Funktion geändert. Die rechte Spalte in der vorherigen Tabelle gibt an, ob sich die Argumente geändert haben.

In Fällen, in denen sich die Argumente geändert haben, stellen die Makros in portcls.hconvertieren die Argumentlisten für die veralteten PortCls-Funktionen auf die entsprechenden Argumente für die neuen PortCls-Funktionen. Die folgenden Makros enthalten Argumentkonvertierungen:

#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)