Compartilhar via


Método IPortableDeviceConnector::GetProperty (portabledeviceconnectapi.h)

O método GetProperty recupera uma propriedade para o dispositivo Enumerador de Barramento MTP/Bluetooth fornecido.

Sintaxe

HRESULT GetProperty(
  [in]  const DEVPROPKEY *pPropertyKey,
  [out] DEVPROPTYPE      *pPropertyType,
  [out] BYTE             **ppData,
  [out] UINT32           *pcbData
);

Parâmetros

[in] pPropertyKey

Um ponteiro para uma chave de propriedade para a propriedade solicitada.

[out] pPropertyType

Um ponteiro para um tipo de propriedade.

[out] ppData

O endereço de um ponteiro para os dados da propriedade.

[out] pcbData

Um ponteiro para o tamanho (em bytes) dos dados da propriedade.

Valor retornado

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
Não há suporte para a chave de propriedade especificada.

Comentários

As propriedades recuperadas por esse método são definidas no nó do dispositivo. Um exemplo de chave de propriedade é DEVPKEY_MTPBTH_IsConnected, que indica se o dispositivo está conectado no momento.

Os valores válidos para o parâmetro pPropertyType são tipos de dados base definidos pelo sistema do modelo de propriedade do dispositivo unificado. Os nomes de tipo de dados começam com o prefixo DEVPROP_TYPE_.

Depois que o aplicativo não precisar mais dos dados de propriedade especificados pelo parâmetro ppData , ele deverá chamar CoTaskMemAlloc para liberar esses dados.

Exemplos

O exemplo a seguir mostra como ler a propriedade DEVPKEY_MTPBTH_IsConnected para um dispositivo MTP/Bluetooth emparelhado.

#include <devpkey.h>
#include <PortableDeviceConnectAPI.h>
HRESULT IsDeviceConnected(
__in  IPortableDeviceConnector* pDevice, 
__out BOOL* pIsConnected)
{
    DEVPROPTYPE     typeGet;
    BYTE*           pDataGet;
    UINT32          cbDataGet;
    *pbIsConnected = FALSE; 
    HRESULT hr = pDevice ->GetProperty(&DEVPKEY_MTPBTH_IsConnected,
                                       &typeGet,
                                       &pDataGet,
                                       &cbDataGet);
    if (SUCCEEDED(hr))
    {
        DEVPROP_BOOLEAN bIsConnected = *((DEVPROP_BOOLEAN*)pDataGet);
        if (bIsConnected == DEVPROP_TRUE)
        {
            * pIsConnected = TRUE;
        }
        // Release memory allocated by GetProperty
        CoTaskMemFree(pDataGet);
    }  
    return hr;
}

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho portabledeviceconnectapi.h
Biblioteca PortableDeviceGuids.lib

Confira também

IPortableDeviceConnector