Partager via


IPacket::ReadBytes

Mise à jour : novembre 2007

Lit un octet à partir de l'objet et pointe l'itérateur interne vers l'objet de données suivant dans le paquet.

HRESULT ReadBytes([out] BYTE **out_pBuffer, [out] ULONG *out_pArraySize)

Paramètres

  • out_pBuffer
    [out] Le tableau d'octets est lu dans buffer.

  • out_pArraySize
    [out] Spécifie le nombre d'octets lus dans buffer.

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.ReadBytes

Configuration requise

DeviceAgentTransport.h

Voir aussi

Référence

IPacket