Funções de classe de porta obsoletas
O arquivo de cabeçalho portcls.hdefines macros que contêm os nomes de funções PortCls obsoletas que foram substituídas por novas funções PortCls. Essas macros permitem que o código-fonte antigo que contém referências a nomes de função PortCls obsoletos sejam recompilados para usar as novas funções PortCls sem a necessidade de edições nos arquivos de origem.
Ao compilar o código-fonte que usa os nomes obsoletos, defina o nome do parâmetro PC_OLD_NAMES. Esse parâmetro poderá ser definido pelo argumento de linha de comando do compilador "-DPC_OLD_NAMES" se isso for mais conveniente do que introduzir a instrução #define PC_OLD_NAMES
nos próprios arquivos de origem.
A tabela a seguir lista os nomes de função PortCls obsoletos na coluna à esquerda. Para cada nome obsoleto, a coluna central contém o nome da nova função PortCls que a substitui.
Nome da função obsoleta | Nome da nova função | Os argumentos mudaram? |
---|---|---|
AddAdapterDevice |
YES |
|
CompletePendingPropertyRequest |
não |
|
GetTimeInterval |
não |
|
InitializeAdapterDriver |
YES |
|
NewDmaChannel |
não |
|
NewMiniport |
não |
|
Newport |
não |
|
NewResourceList |
não |
|
NewResourceSublist |
não |
|
NewServiceGroup |
não |
|
RegisterPhysicalConnection |
YES |
|
RegisterPhysicalConnectionFromExternal |
YES |
|
RegisterPhysicalConnectionToExternal |
YES |
|
RegisterSubdevice |
YES |
Em alguns casos, a alteração não é mais do que uma alteração de nome simples: o qualificador Pc
é inserido no início do nome para indicar que a função é implementada em PortCls. Em outros casos, no entanto, a lista de argumentos foi alterada além do nome da função. A coluna à direita na tabela anterior indica se os argumentos foram alterados.
Nos casos em que os argumentos foram alterados, as macros em portcls.hconvert o argumento lista para as funções de PortCls obsoletas para os argumentos equivalentes para as novas funções PortCls. As macros a seguir contêm conversões de argumento:
#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)