structure FWPS_TRANSPORT_SEND_PARAMS1 (fwpsk.h)
La structure FWPS_TRANSPORT_SEND_PARAMS1 définit les propriétés d’un paquet de couche de transport sortant.
Syntaxe
typedef struct FWPS_TRANSPORT_SEND_PARAMS1_ {
UCHAR *remoteAddress;
SCOPE_ID remoteScopeId;
WSACMSGHDR *controlData;
ULONG controlDataLength;
UCHAR *headerIncludeHeader;
ULONG headerIncludeHeaderLength;
} FWPS_TRANSPORT_SEND_PARAMS1;
Membres
remoteAddress
Pointeur vers une mémoire tampon qui spécifie l’adresse IP distante à laquelle le socket doit être envoyé. L’adresse distante spécifiée par ce membre peut être différente de celle passée comme l’une des valeurs de données entrantes à la fonction de légende classifyFn du pilote de légende.
La mémoire tampon peut contenir une adresse IPv4 (4 octets) ou une adresse IPv6 (16 octets), et l’adresse doit être spécifiée dans l’ordre d’octet réseau. La version IP doit correspondre au paramètre AddressFamily spécifié dans le Fonction FwpsInjectTransportSendAsync1 .
La mémoire tampon doit rester valide jusqu’à ce que la fonction d’achèvement de l’injection soit appelée.
remoteScopeId
Une structure SCOPE_ID qui contient l’identificateur d’étendue de l’adresse IP distante. L’identificateur d’étendue est fourni à une légende via le membre remoteScopeId du FWPS_INCOMING_METADATA_VALUES0 structure passée à la fonction de légende classFn du pilote de légende. La structure SCOPE_ID est définie dans Ws2ipdef.h comme suit.
typedef struct {
union {
struct {
ULONG Zone : 28;
ULONG Level : 4;
};
ULONG Value;
};
} SCOPE_ID, *PSCOPE_ID;
controlData
Pointeur facultatif vers une mémoire tampon qui contient les données de contrôle de socket spécifiées par la fonction WSASendMsg . Pour plus d’informations sur le type WSACMSGHDR , consultez CMSGHDR.
Le cas échéant, les données de contrôle de socket sont fournies à une légende avec le membre controlData du FWPS_INCOMING_METADATA_VALUES0 structure passée à la fonction de légende classFn du pilote de légende.
Si les données de contrôle de socket n’ont pas la valeur NULL, elles doivent être copiées en profondeur dans l’implémentation de la fonction classFn par le pilote de légende, et la mémoire tampon controlData doit rester valide jusqu’à ce que la fonction d’achèvement de l’injection soit appelée.
controlDataLength
Longueur, en octets, du membre controlData .
headerIncludeHeader
En-tête de transport à inclure.
headerIncludeHeaderLength
Longueur, en octets, du membre headerIncludeHeader .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 7. |
En-tête | fwpsk.h (inclure Fwpsk.h) |