Hi, I'm a happy owner of HD3 but there is some transfer limitation between HD and PC. I've try Marc Hi-Md render program but it doesn't work on my configuration (I don't known why). Sony release a new version of MP3 File Manager and a works perfectly on all HD players HD1, 3, 5. You can transfer MP3 to HD without Sonycstage !!! "MP3 File Manager Ver.2.0 program which can transfer MP3 files by dragging and dropping them to the Network Walkman." What's a beautiful software, however you can't transfer audio file from HD to PC. I try to call MP3 File Manager dll to use all function of it and it failed. Marc or other member could help me to discover if there is a solution to use this sofware for transfere from HD to PC. List of file : Some informations about FrankPACAPI.dll :
function Initialize(bDetect: I4; bstrLogPath: BSTR; bstrTempPath: BSTR): HResult; stdcall;
function GetLogPath(out pbstrLogPath: ^BSTR): HResult; stdcall;
function GetTempPath(out pbstrTempPath: ^BSTR): HResult; stdcall;
function GetDeviceList(out pulCount: ^UI4; out ppbstrDeviceList: ^^BSTR): HResult; stdcall;
function IsMediumPresent(bstrDeviceId: BSTR; out pbPresent: ^I4): HResult; stdcall;
function StartDetection: HResult; stdcall;
function StopDetection: HResult; stdcall;
function CheckDetectionStatus(out pbDetect: ^I4): HResult; stdcall;
function GetDeviceInfo(bstrDeviceId: BSTR; out ppstDeviceInfo: ^^SPacDeviceInfo_): HResult; stdcall;
function GetDeviceLeafId(bstrDeviceId: BSTR; out pulSize: ^UI4; out ppbyteDeviceLeafId: ^^UI1): HResult; stdcall;
=
function GetDeviceUserName(bstrDeviceId: BSTR; out pbstrDeviceUserName: ^BSTR; out peCharacterSet: ^EPacCharacterSet): HResult; stdcall;
function SetDeviceUserName(bstrDeviceId: BSTR; bstrDeviceUserName: BSTR; eCharacterSet: EPacCharacterSet): HResult; stdcall;
function GetDeviceTime(bstrDeviceId: BSTR; out pdateDeviceTime: ^Date): HResult; stdcall;
function SetDeviceTime(bstrDeviceId: BSTR; dateDeviceTime: Date): HResult; stdcall;
function TestDeviceReady(bstrDeviceId: BSTR; out pbReady: ^I4): HResult; stdcall;
function InsertMedium(bstrDeviceId: BSTR): HResult; stdcall;
function EjectMedium(bstrDeviceId: BSTR): HResult; stdcall;
function PowerOn(bstrDeviceId: BSTR): HResult; stdcall;
function PowerOff(bstrDeviceId: BSTR): HResult; stdcall;
function LockMediumRemoval(bstrDeviceId: BSTR): HResult; stdcall;
function UnlockMediumRemoval(bstrDeviceId: BSTR): HResult; stdcall;
function IsMediumRemovalLocked(bstrDeviceId: BSTR; out pbRemovalLocked: ^I4): HResult; stdcall;
function LockMediumAccess(bstrDeviceId: BSTR): HResult; stdcall;
function UnlockMediumAccess(bstrDeviceId: BSTR): HResult; stdcall;
function IsMediumAccessLocked(bstrDeviceId: BSTR; out pbAccessLocked: ^I4): HResult; stdcall;
function ExecCommand(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function ExecCommandIn(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; ulDataSizeFromDevice: UI4; out ppbyteDataFromDevice: ^^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function ExecCommandOut(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; ulDataSizeToDevice: UI4; pbyteDataSizeToDevice: ^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function GetDeviceStatus(bstrDeviceId: BSTR; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function GetMediumInfo(bstrDeviceId: BSTR; out ppstMediumInfo: ^^SPacMediumInfo_): HResult; stdcall;
function TestMediumReady(bstrDeviceId: BSTR; out pbReady: ^I4): HResult; stdcall;
function GetDeviceCaps(bstrDeviceId: BSTR; out ppstDeviceCaps: ^^SPacDeviceCaps_): HResult; stdcall;
function GetDeviceSupportedMediums(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeMediums: ^^EPacMedium): HResult; stdcall;
function GetDeviceSupportedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetDeviceExpectedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetDeviceSupportedFringes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetDeviceSupportedItemProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumCaps(bstrDeviceId: BSTR; out ppstMediumCaps: ^^SPacMediumCaps_): HResult; stdcall;
function GetMediumSupportedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetMediumExpectedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetMediumSupportedFringes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumSupportedItemProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumSupportedMediumProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacMediumProperty): HResult; stdcall;
function GetMediumProperty(bstrDeviceId: BSTR; ulCount: UI4; pePropertyIds: ^EPacMediumProperty; out ppstProperties: ^^SPacMediumPropertyInfo_): HResult; stdcall;
function SetMediumProperty(bstrDeviceId: BSTR; ulCount: UI4; out pstProperties: ^SPacMediumPropertyInfo_): HResult; stdcall;
function GetMediumCapacity(bstrDeviceId: BSTR; out phyUsedSize: ^I8; out phyFreeSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function GetSupportedInfo(out ppstSupportedInfo: ^^SPacSupportedInfo_): HResult; stdcall;
function GetSupportedCaps(out ppstSupportedCaps: ^^SPacSupportedCaps_): HResult; stdcall;
function GetSupportedAudioTypes(out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetExpectedAudioTypes(out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetSupportedFringes(out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetSupportedItemProperties(out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetSupportedMediumProperties(out pulCount: ^UI4; out ppePropertyIds: ^^EPacMediumProperty): HResult; stdcall;
function GetExpectedCharacterSet(out pulCount: ^UI4; out ppeArea: ^^EPacArea; out ppeCharacterSets: ^^EPacCharacterSet): HResult; stdcall;
function GetCharacterSet(out peCharacterSet: ^EPacCharacterSet): HResult; stdcall;
function SetCharacterSet(eCharacterSet: EPacCharacterSet): HResult; stdcall;
function EstimateIncreaseSize(bstrDeviceId: BSTR; ulCount: UI4; pstAudioFileInfo: ^SPacAudioFileInfo_; out phyIncreasedSize: ^I8): HResult; stdcall;
function StartTransaction(bstrDeviceId: BSTR): HResult; stdcall;
function EndTransaction(bstrDeviceId: BSTR): HResult; stdcall;
function CheckTransactionStatus(bstrDeviceId: BSTR; out pbInTransaction: ^I4): HResult; stdcall;
function StartExportOperation(bstrDeviceId: BSTR; out pstExportInfo: ^SPacExportInfo_; out plOperationHandle: ^I4): HResult; stdcall;
function SendDataBlock(bstrDeviceId: BSTR; lOperationHandle: I4; ulDataBlockSize: UI4; pbyteDataBlock: ^UI1): HResult; stdcall;
function EndExportOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartImportOperation(bstrDeviceId: BSTR; lItemId: I4; out phyReceiveDataSize: ^I8; out plOperationHandle: ^I4): HResult; stdcall;
function ReceiveDataBlock(bstrDeviceId: BSTR; lOperationHandle: I4; ulDataBlockSize: UI4; out pulReceivedSize: ^UI4; out ppbyteDataBlock: ^^UI1): HResult; stdcall;
function EndImportOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartDeleteOperation(bstrDeviceId: BSTR; lItemId: I4; out plOperationHandle: ^I4): HResult; stdcall;
function EndDeleteOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartUpstreamOperation(bstrDeviceId: BSTR; out plOperationHandle: ^I4): HResult; stdcall;
function SetReceiveDataPosition(bstrDeviceId: BSTR; lOperationHandle: I4; lItemId: I4; hyOffset: I8; eOrigin: EPacFileOrigin): HResult; stdcall;
function EndUpstreamOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function CommitAllOperations(bstrDeviceId: BSTR; out plOperationHandle: ^I4): HResult; stdcall;
function StartErasingMedium(bstrDeviceId: BSTR; eEraseMethod: EPacEraseMethod; out plOperationHandle: ^I4): HResult; stdcall;
function StopErasingMedium(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function EndErasingMedium(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function CancelOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function GetRunningStatus(bstrDeviceId: BSTR; lOperationHandle: I4; out phyCurrentSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function GetAvailableTreeTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeItemTreeTypes: ^^EPacItemTree; out pplMaxDepth: ^^I4): HResult; stdcall;
function GetSupportedItemDepth(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out pulCount: ^UI4; out pplDepth: ^^I4): HResult; stdcall;
function GetItemTreeCaps(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out plItemTreeCaps: ^I4): HResult; stdcall;
function GetAvailableItemTypes(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; out pulCount: ^UI4; out ppeItemTypes: ^^EPacItem): HResult; stdcall;
function GetRootItem(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; out plRootItemId: ^I4): HResult; stdcall;
function GetParentItem(bstrDeviceId: BSTR; lChildItemId: I4; out plParentItemId: ^I4): HResult; stdcall;
function GetChildItemCount(bstrDeviceId: BSTR; lParentItemId: I4; out pulChildCount: ^UI4): HResult; stdcall;
function GetChildItemMaxCount(bstrDeviceId: BSTR; lParentItemId: I4; out plChildMaxCount: ^I4): HResult; stdcall;
function GetChildItems(bstrDeviceId: BSTR; lParentItemId: I4; ulCount: UI4; pulChildItemIndexes: ^UI4; out pplChildItemIds: ^^I4): HResult; stdcall;
function GetOriginalItem(bstrDeviceId: BSTR; lReferenceItemId: I4; out plOriginalItemId: ^I4): HResult; stdcall;
function GetReferenceItems(bstrDeviceId: BSTR; lOriginalItemId: I4; out pulCount: ^UI4; out pplReferenceItemIds: ^^I4): HResult; stdcall;
function GetItemType(bstrDeviceId: BSTR; lItemId: I4; out peItemType: ^EPacItem): HResult; stdcall;
function GetItemTreeType(bstrDeviceId: BSTR; lItemId: I4; out peItemTreeType: ^EPacItemTree): HResult; stdcall;
function GetItemSupportedProperties(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetItemProperty(bstrDeviceId: BSTR; lItemId: I4; ulCount: UI4; pePropertyIds: ^EPacItemProperty; out ppstProperties: ^^SPacItemPropertyInfo_): HResult; stdcall;
function SetItemProperty(bstrDeviceId: BSTR; lItemId: I4; ulCount: UI4; out pstProperties: ^SPacItemPropertyInfo_): HResult; stdcall;
function CreateItem(bstrDeviceId: BSTR; eItemType: EPacItem; lDstItemId: I4; ePutPosition: EPacPutPosition; out plCreatedItemId: ^I4): HResult; stdcall;
function CreateReferenceItem(bstrDeviceId: BSTR; lSrcItemId: I4; eItemType: EPacItem; lDstItemId: I4; ePutPosition: EPacPutPosition; out plCreatedItemId: ^I4): HResult; stdcall;
function MoveItem(bstrDeviceId: BSTR; lDstItemId: I4; ePutPosition: EPacPutPosition; ulCount: UI4; plSrcItemIds: ^I4; out pphrResults: ^^HResult): HResult; stdcall;
function DeleteItem(bstrDeviceId: BSTR; ulCount: UI4; plItemIds: ^I4; out pphrResults: ^^HResult): HResult; stdcall;
function StartAccession(bstrDeviceId: BSTR): HResult; stdcall;
function CommitModification(bstrDeviceId: BSTR; out plModifyHandle: ^I4): HResult; stdcall;
function EndAccession(bstrDeviceId: BSTR): HResult; stdcall;
function GetModifyingStatus(bstrDeviceId: BSTR; lModifyHandle: I4; out phyCurrentSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function StopModifying(bstrDeviceId: BSTR; lModifyHandle: I4): HResult; stdcall;
function CreateDirectory(bstrDeviceId: BSTR; bstrPathName: BSTR; bNestedPath: I4; bFileExist: I4): HResult; stdcall;
function RemoveDirectory(bstrDeviceId: BSTR; bstrPathName: BSTR; bNestedPath: I4; bFileExist: I4): HResult; stdcall;
function CreateFile(bstrDeviceId: BSTR; bstrFilePath: BSTR; eDesiredAccess: EPacFileAccess; eOpenMethod: EPacFileOpen; out plFileHandle: ^I4): HResult; stdcall;
function CloseFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function ReadFile(bstrDeviceId: BSTR; lFileHandle: I4; ulSizeToRead: UI4; out pulReadSize: ^UI4; out ppbyteBuffer: ^^UI1): HResult; stdcall;
function StartAsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4; hyDataSize: I8; eConsecutiveLength: EPacConsecutiveLength; out plModifyHandle: ^I4): HResult; stdcall;
function AsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4; ulSizeToWrite: UI4; pbyteBuffer: ^UI1; out pulWrittenSize: ^UI4): HResult; stdcall;
function EndAsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function GetPosition(bstrDeviceId: BSTR; lFileHandle: I4; out phyPosition: ^I8): HResult; stdcall;
function SetPosition(bstrDeviceId: BSTR; lFileHandle: I4; hyOffset: I8; eOrigin: EPacFileOrigin): HResult; stdcall;
function SetEndOfFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function GetFileSize(bstrDeviceId: BSTR; bstrFilePath: BSTR; out phyFileSize: ^I8): HResult; stdcall;
function GetFileTime(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pdateCreationDate: ^Date; out pdateLastAccessDate: ^Date; out pdateLastWriteDate: ^Date): HResult; stdcall;
function GetFileAttribute(bstrDeviceId: BSTR; bstrFilePath: BSTR; out plAttributes: ^I4): HResult; stdcall;
function SetFileAttribute(bstrDeviceId: BSTR; bstrFilePath: BSTR; lAttributes: I4): HResult; stdcall;
function GetVolumeLabel(bstrDeviceId: BSTR; out pbstrVolumeLabel: ^BSTR): HResult; stdcall;
function SetVolumeLabel(bstrDeviceId: BSTR; bstrVolumeLabel: BSTR): HResult; stdcall;
function MoveFile(bstrDeviceId: BSTR; bstrSrcFilePath: BSTR; bstrDstFilePath: BSTR; bFileExist: I4): HResult; stdcall;
function CopyFile(bstrDeviceId: BSTR; bstrSrcFilePath: BSTR; bstrDstFilePath: BSTR; bFileExist: I4): HResult; stdcall;
function DeleteFile(bstrDeviceId: BSTR; bstrFilePath: BSTR): HResult; stdcall;
function FindFirstFile(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pbstrFoundFileName: ^BSTR; out plFindHandle: ^I4): HResult; stdcall;
function FindNextFile(bstrDeviceId: BSTR; lFindHandle: I4; out pbstrFoundFileName: ^BSTR): HResult; stdcall;
function FindClose(bstrDeviceId: BSTR; lFindHandle: I4): HResult; stdcall;
function IsFileExist(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pbFileExist: ^I4): HResult; stdcall;
Someone have email of Marc ?