共用方式為


過時的埠類別函式

標頭檔 portcls.hdefines 宏,其中包含已由新 PortCls 函式取代的過時 PortCls 函式名稱。 這些宏允許包含已淘汰 PortCls 函式名稱參考的舊原始程式碼,以重新編譯以使用新的 PortCls 函式,而不需要對原始程式檔進行任何編輯。

編譯使用過時名稱的原始程式碼時,請定義參數名稱PC_OLD_NAMES。 如果這個參數比將 語句 #define PC_OLD_NAMES 引入原始程式檔本身更方便,編譯器命令列引數 「-DPC_OLD_NAMES」 可以定義此參數。

下表列出左側資料行中過時的 PortCls 函式名稱。 針對每個過時的名稱,中央資料行包含取代它的新 PortCls 函式名稱。

過時的函式名稱 新增函式名稱 引數是否變更?

AddAdapterDevice

PcAddAdapterDevice

YES

CompletePendingPropertyRequest

PcCompletePendingPropertyRequest

GetTimeInterval

PcGetTimeInterval

InitializeAdapterDriver

PcInitializeAdapterDriver

YES

NewDmaChannel

PcNewDmaChannel

NewMiniport

PcNewMiniport

紐波特

PcNewPort

NewResourceList

PcNewResourceList

NewResourceSublist

PcNewResourceSublist

NewServiceGroup

PcNewServiceGroup

RegisterPhysicalConnection

PcRegisterPhysicalConnection

YES

RegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionFromExternal

YES

RegisterPhysicalConnectionToExternal

PcRegisterPhysicalConnectionToExternal

YES

RegisterSubdevice

PcRegisterSubdevice

YES

在某些情況下,變更數量不超過簡單名稱變更:限定詞 Pc 會插入名稱開頭,以指出函式是在 PortCls 中實作。 不過,在其他情況下,除了函式的名稱之外,引數清單也會變更。 上表中的右欄指出引數是否已變更。

在引數變更的情況下,portcls.h 中的宏會將過時 PortCls 函式的引數清單轉換為新 PortCls 函式的對等引數。 下列宏包含引數轉換:

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