Partager via


IPacket::ReadDataType

Mise à jour : novembre 2007

Retourne le type de données de l'objet actuel dans le paquet en tant que une valeur d'énumération.

HRESULT ReadDataType([retval][out] DataTypeEnum *out_enumDataType)

Paramètres

  • out_enumDataType
    Un DataTypeEnum qui contient le type de données de l'objet actuel dans le paquet.

Valeur de retour

Valeur HRESULT qui indique le résultat de l'appel de méthode.

Exemple

Dans cet exemple, le flux de données de paquet lit les données de l'objet RemoteAgent sur l'ordinateur lors de la connexion. Pour accéder à l'intégralité de l'exemple, consultez la rubrique IDeviceAgentTransport.

// Check for a packet while communication stream is connected.
f2(&pPacket);
VARIANT_BOOL connected;
pStream->IsConnected(&connected);
while(connected)
{
    pStream->IsConnected(&connected);
    VARIANT_BOOL available;

    // If a packet is found, display the string.
    pStream->IsPacketAvailable(&available);
    if(available)
    {
        pStream->Read(&pPacket);
        VARIANT_BOOL endofpacket;
        pPacket->IsEndOfPacket(&endofpacket);
        while (!endofpacket) 

        {
            pPacket->IsEndOfPacket(&endofpacket);
            DataTypeEnum datatype;
            pPacket->ReadDataType(&datatype);
            switch (datatype)
            {
                case DT_BYTE:
                    BYTE byteValue;
                    pPacket->ReadByte(&byteValue);
                    break;
                case DT_INT32:
                    INT32 intValue;
                    pPacket->ReadInt32(&intValue);
                    break;
                case DT_WIDECHAR:
                    wchar_t charValue;
                    pPacket->ReadChar(&charValue);
                    break;
                case DT_BOOL:
                    VARIANT_BOOL boolValue;
                    pPacket->ReadBool(&boolValue);
                    break;
                case DT_BYTEARRAY:
                    BYTE * buffer[100];
                    ULONG length;
                    pPacket->ReadBytes(buffer,&length);
                    break;
                case DT_STRING:
                    LPWSTR string;
                    pPacket->ReadString(&string);
                    MessageBox(NULL, string,string,0);
                    break;
                default:
                    break;
            }
        };
    }
};

Équivalent managé

IPacket.ReadDataType

Configuration requise

DeviceAgentTransport.h

Voir aussi

Référence

IPacket