Partilhar via


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

PcAddAdapterDevice

YES

CompletePendingPropertyRequest

PcCompletePendingPropertyRequest

não

GetTimeInterval

PcGetTimeInterval

não

InitializeAdapterDriver

PcInitializeAdapterDriver

YES

NewDmaChannel

PcNewDmaChannel

não

NewMiniport

PcNewMiniport

não

Newport

PcNewPort

não

NewResourceList

PcNewResourceList

não

NewResourceSublist

PcNewResourceSublist

não

NewServiceGroup

PcNewServiceGroup

não

RegisterPhysicalConnection

PcRegisterPhysicalConnection

YES

RegisterPhysicalConnectionFromExternal

PcRegisterPhysicalConnectionFromExternal

YES

RegisterPhysicalConnectionToExternal

PcRegisterPhysicalConnectionToExternal

YES

RegisterSubdevice

PcRegisterSubdevice

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)