Método IPortableDeviceContent::CreateObjectWithPropertiesAndData (portabledeviceapi.h)
O método CreateObjectWithPropertiesAndData cria um objeto com propriedades e dados no dispositivo.
Sintaxe
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
Parâmetros
pValues
Um IPortableDeviceValues coleção de propriedades a serem atribuídas ao objeto. Para obter uma lista de propriedades obrigatórias e opcionais para um objeto, consulte Requirements for Objects.
[out] ppData
Endereço de uma variável que recebe um ponteiro para um IStream interface que o aplicativo usa para enviar os dados do objeto para o dispositivo. O objeto não será criado no dispositivo até que o aplicativo envie os dados chamando ppData->Commit. Para abandonar uma transferência de dados em andamento, você pode chamar ppData –>Reverter. O chamador deve liberar essa interface quando terminar com ela. O objeto subjacente estende IStream e IPortableDeviceDataStream .
[in, out] pdwOptimalWriteBufferSize
Um ponteiro DWORD
[in, out] ppszCookie
Uma ID de cadeia de caracteres exclusiva e terminada em nulo opcional que é usada para identificar essa solicitação de criação na implementação do aplicativo de IPortableDeviceEventCallback (se implementada). Quando o dispositivo terminar de criar o objeto, ele enviará esse identificador para a função de retorno de chamada. Esse identificador permite que um aplicativo monitore a criação de objeto em um thread diferente daquele que chamou CreateObjectWithPropertiesOnly. O SDK aloca essa memória e o chamador deve liberá-la usando CoTaskMemFree.
Valor de retorno
O método retorna umHRESULT
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
Pelo menos um dos argumentos necessários era um ponteiro de NULL |
Observações
Alguns objetos são apenas uma coleção de propriedades, como uma pasta, que é apenas uma coleção de ponteiros para outros objetos, enquanto outros objetos são propriedades e dados, como um arquivo de áudio, que contém todas as propriedades e os bits de música reais. Esse método é usado para criar um objeto que requer propriedades e dados. Para criar um objeto somente propriedades, chame CreateObjectWithPropertiesOnly.
Como o objeto não é criado até que o aplicativo chame Commit no IStream recuperadoppData, o objeto não terá uma ID até que Commit seja chamado nele. Commit é síncrono, portanto, quando esse método retorna com êxito, o objeto existirá no dispositivo.
Depois de chamar Commit para criar o objeto, chame QueryInterface em ppData para IPortableDeviceDataStream e chame IPortableDeviceDataStream::GetObjectID para obter a ID do objeto recém-criado.
Exemplos
Para obter um exemplo de como usar esse método, consulte Transferindo uma imagem ou arquivo de música para o dispositivo.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino |
Windows |
cabeçalho | portabledeviceapi.h |
biblioteca | PortableDeviceGUIDs.lib |
Consulte também
interface IPortableDeviceContent
interface IPortableDeviceDataStream
transferir um arquivo de imagem ou música para o dispositivo