Metodo IPortableDeviceContent::CreateObjectWithPropertiesAndData (portabledeviceapi.h)
Il metodo CreateObjectWithPropertiesAndData crea un oggetto con proprietà e dati nel dispositivo.
Sintassi
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
Parametri
pValues
Un IPortableDeviceValues raccolta di proprietà da assegnare all'oggetto. Per un elenco delle proprietà obbligatorie e facoltative per un oggetto, vedere Requirements for Objects.
[out] ppData
Indirizzo di una variabile che riceve un puntatore a un'interfaccia IStream usata dall'applicazione per inviare i dati dell'oggetto al dispositivo. L'oggetto non verrà creato nel dispositivo finché l'applicazione non invia i dati chiamando ppData->Commit. Per abbandonare un trasferimento dei dati in corso, è possibile chiamare ppData ->Ripristinare. Il chiamante deve rilasciare questa interfaccia al termine dell'operazione. L'oggetto sottostante estende sia IStream che IPortableDeviceDataStream.
[in, out] pdwOptimalWriteBufferSize
Puntatore DWORD facoltativo
[in, out] ppszCookie
ID stringa univoco e con terminazione Null facoltativo usato per identificare questa richiesta di creazione nell'implementazione dell'applicazione di IPortableDeviceEventCallback (se implementato). Al termine della creazione dell'oggetto, il dispositivo invierà questo identificatore alla funzione di callback. Questo identificatore consente a un'applicazione di monitorare la creazione di oggetti in un thread diverso da quello chiamato CreateObjectWithPropertiesOnly. L'SDK alloca questa memoria e il chiamante deve rilasciarlo usando CoTaskMemFree.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non solo, quelli nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Almeno uno degli argomenti obbligatori è un puntatore NULL. |
Osservazioni
Alcuni oggetti sono solo una raccolta di proprietà, ad esempio una cartella, che è solo una raccolta di puntatori ad altri oggetti, mentre altri oggetti sono sia proprietà che dati, ad esempio un file audio, che contiene tutte le proprietà e i bit musicali effettivi. Questo metodo viene usato per creare un oggetto che richiede proprietà e dati. Per creare un oggetto solo proprietà, chiamare CreateObjectWithPropertiesOnly.
Poiché l'oggetto non viene creato fino a quando l'applicazione non chiama Commit nel IStreamppData, l'oggetto non avrà un ID finché non viene chiamato Commit. commit è sincrono, quindi quando il metodo viene restituito correttamente, l'oggetto esisterà nel dispositivo.
Dopo aver chiamato Commit per creare l'oggetto, chiamare QueryInterfaceppData per IPortableDeviceDataStreame quindi chiamare IPortableDeviceDataStream::GetObjectID per ottenere l'ID dell'oggetto appena creato.
Esempi
Per un esempio di come usare questo metodo, vedere Trasferimento di un'immagine o di un file musicale nel dispositivo.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione |
portabledeviceapi.h |
libreria |
PortableDeviceGUIDs.lib |
Vedere anche
interfaccia IPortableDeviceContent
interfaccia IPortableDeviceDataStream
trasferimento di un'immagine o di un file musicale al dispositivo