次の方法で共有


廃止されたポート クラス関数

新しい PortCls 関数に置き換えられた古い PortCls 関数の名前を含むヘッダー ファイル portcls.hdefines マクロ。 これらのマクロを使用すると、古い 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

いいえ

NewPort

PcNewPort

いいえ

NewResourceList

PcNewResourceList

いいえ

NewResourceSublist

PcNewResourceSublist

いいえ

NewServiceGroup

PcNewServiceGroup

いいえ

RegisterPhysicalConnection

PcRegisterPhysicalConnection

YES

RegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionFromExternal

YES

RegisterPhysicalConnectionToExternal

PcRegisterPhysicalConnectionToExternal

YES

RegisterSubdevice

PcRegisterSubdevice

YES

場合によっては、変更は単純な名前の変更に過ぎません。修飾子 Pc は、関数が PortCls に実装されていることを示すために名前の先頭に挿入されます。 ただし、関数の名前に加えて、引数リストが変更されている場合もあります。 前の表の右側の列は、引数が変更されたかどうかを示します。

引数が変更された場合、portcls.hconvert 内のマクロは、古い 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)