VixHandle
VixVM_SetSharedFolderState(VixHandle vmHandle,
const char *shareName,
const char *hostPathName,
VixMsgSharedFolderOptions flags,
VixEventProc *callbackProc,
void *clientData);
This function modifies the state of a shared folder mounted in the virtual machine.
VixHandle jobHandle;
VixError err;
int numSharedFolders;
char *folderName;
char *folderHostPath;
int folderFlags;
int i;
jobHandle = VixVM_GetNumSharedFolders(vmHandle, NULL, NULL);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_COUNT,
&numSharedFolders, VIX_PROPERTY_NONE);
Vix_ReleaseHandle(jobHandle);
if (VIX_OK != err) {
// handle error
}
for (i = 0; i < numSharedFolders; i++) {
jobHandle = VixVM_GetSharedFolderState(vmHandle, i, NULL, NULL);
err = VixJob_Wait(jobHandle,
VIX_PROPERTY_JOB_RESULT_ITEM_NAME, &folderName,
VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_HOST,
&folderHostPath,
VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_FLAGS, &folderFlags,
VIX_PROPERTY_NONE);
Vix_ReleaseHandle(jobHandle);
if (VIX_OK != err) {
// handle error
}
/*
* make all folders writable
*/
jobHandle = VixVM_SetSharedFolderState(vmHandle, folderName, folderHostPath,
VIX_SHAREDFOLDER_WRITE_ACCESS,
NULL, NULL);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_NONE);
Vix_ReleaseHandle(jobHandle);
if (VIX_OK != err) {
// handle error
}
Vix_FreeBuffer(folderName);
Vix_FreeBuffer(folderHostPath);
}