廃止されたポート クラス関数
新しい PortCls 関数に置き換えられた古い PortCls 関数の名前を含むヘッダー ファイル portcls.hdefines マクロ。 これらのマクロを使用すると、古い PortCls 関数名への参照を含む古いソース コードを再コンパイルして、ソース ファイルを編集することなく新しい PortCls 関数を使用できます。
古い名前を使用するソース コードをコンパイルする場合は、パラメーター名PC_OLD_NAMESを定義します。 このパラメーターは、ソース ファイル自体にステートメント #define PC_OLD_NAMES
を導入するよりも便利な場合は、コンパイラのコマンド ライン引数 "-DPC_OLD_NAMES" で定義できます。
次の表は、左側の列の古い PortCls 関数名の一覧です。 古い名前ごとに、中央の列には、それを置き換える新しい PortCls 関数の名前が含まれています。
廃止された関数名 | 新しい関数名 | 引数は変更されたのですか? |
---|---|---|
AddAdapterDevice |
YES |
|
CompletePendingPropertyRequest |
いいえ |
|
GetTimeInterval |
いいえ |
|
InitializeAdapterDriver |
YES |
|
NewDmaChannel |
いいえ |
|
NewMiniport |
いいえ |
|
NewPort |
いいえ |
|
NewResourceList |
いいえ |
|
NewResourceSublist |
いいえ |
|
NewServiceGroup |
いいえ |
|
RegisterPhysicalConnection |
YES |
|
RegisterPhysicalConnectionFromExternal |
YES |
|
RegisterPhysicalConnectionToExternal |
YES |
|
RegisterSubdevice |
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)