IPortableDeviceContent::CreateObjectWithPropertiesAndData 메서드(portabledeviceapi.h)
CreateObjectWithPropertiesAndData 메서드는 디바이스에서 속성과 데이터를 모두 사용하여 개체를 만듭니다.
통사론
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
매개 변수
pValues
개체에 할당할 IPortableDeviceValues 속성 컬렉션입니다. 개체에 대한 필수 및 선택적 속성 목록은 개체대한 요구 사항을 참조하세요.
[out] ppData
애플리케이션이 개체 데이터를 디바이스로 보내는 데 사용하는 IStream 인터페이스에 대한 포인터를 수신하는 변수의 주소입니다. 애플리케이션이 ppData호출하여 데이터를 보낼 때까지 디바이스에서 개체가 만들어지지 않습니다.>커밋. 진행 중인 데이터 전송을 중단하려면 ppData ->되돌리기를 호출할 수 있습니다. 호출자는 이 인터페이스가 완료되면 이 인터페이스를 해제해야 합니다. 기본 개체는 IStream 및 IPortableDeviceDataStream모두 확장합니다.
[in, out] pdwOptimalWriteBufferSize
ppData데이터를 쓸 때 사용할 애플리케이션의 최적 버퍼 크기를 지정하는 선택적 DWORD 포인터입니다. 애플리케이션은 이를 무시하도록 TRUE 지정할 수 있습니다.
[in, out] ppszCookie
애플리케이션의 IPortableDeviceEventCallback 구현에서 이 생성 요청을 식별하는 데 사용되는 null로 끝나는 문자열 ID(구현된 경우)입니다. 디바이스가 개체 만들기를 마치면 이 식별자를 콜백 함수로 보냅니다. 이 식별자를 사용하면 애플리케이션이 CreateObjectWithPropertiesOnly호출한 스레드와 다른 스레드에서 개체 생성을 모니터링할 수 있습니다. SDK는 이 메모리를 할당하고 호출자는 CoTaskMemFree사용하여 해제해야 합니다.
반환 값
이 메서드는 HRESULT반환합니다. 가능한 값은 다음 표에 있는 값을 포함하지만 제한되지는 않습니다.
반환 코드 | 묘사 |
---|---|
|
메서드가 성공했습니다. |
|
필요한 인수 중 하나 이상이 NULL 포인터였습니다. |
발언
일부 개체는 다른 개체에 대한 포인터 컬렉션인 폴더와 같은 속성의 컬렉션일 뿐이며, 다른 개체는 모든 속성과 실제 음악 비트를 포함하는 오디오 파일과 같은 속성과 데이터입니다. 이 메서드는 속성과 데이터가 모두 필요한 개체를 만드는 데 사용됩니다. 속성 전용 개체를 만들려면 CreateObjectWithPropertiesOnly호출합니다.
애플리케이션이 검색된 IStreamppDataCommit 호출할 때까지 개체가 만들어지지 않으므로 Commit 호출될 때까지 개체에 ID가 없습니다. 커밋 동기식이므로 해당 메서드가 성공적으로 반환되면 개체가 디바이스에 존재합니다.
Commit 호출하여 개체를 만든 후 IPortableDeviceDataStream대한 ppDataQueryInterface 호출한 다음, IPortableDeviceDataStream::GetObjectID 호출하여 새로 만든 개체의 ID를 가져옵니다.
예제
이 메서드를 사용하는 방법에 대한 예제는 디바이스이미지 또는 음악 파일을 전송하는 방법을 참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | portabledeviceapi.h |
라이브러리 | PortableDeviceGUIDs.lib |
참고 항목
IPortableDeviceContent 인터페이스
IPortableDeviceDataStream 인터페이스