Name
VixVM_GetSharedFolderState
Description
VixHandle
VixVM_GetSharedFolderState(VixHandle vmHandle,
int index,
VixEventProc *callbackProc,
void *clientData);
This function returns the state of a shared folder mounted in the virtual machine.
Parameters
- vmHandle
-
Identifies a virtual machine. Call VixVM_Open() to create a virtual machine handle.
- index
-
Identifies the shared folder.
- callbackProc
-
A callback function that will be invoked when the
operation is complete.
- clientData
-
A parameter that will be passed to the callbackProc function.
Return Value
VixHandle. A job handle that describes the state of this asynchronous
operation.
Remarks
- Shared folders are indexed from 0 to n-1, where n is the number of shared
folders. Use the function
VixVM_GetNumSharedFolders()
to get the
value of n.
- When the job is signaled, the following properties will be available on
the returned job handle:
- VIX_PROPERTY_JOB_RESULT_ITEM_NAME the name of the folder
- VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_HOST the host path its mounted from
- VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_FLAGS flags describing the folder
options VIX_SHAREDFOLDER_WRITE_ACCESS
- It is not necessary to call
VixVM_LoginInGuest()
before calling this function.
- Shared folders are not supported for the following guest operating systems:
Windows ME, Windows 98, Windows 95, Windows 3.x, and DOS.
- In this release, this function requires the virtual machine to be powered on
with VMware Tools installed.
Side Effects
None.
Requirements
vix.h, since VMware Workstation 6.0
Example
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);
if (VIX_OK != err) {
// handle error
}
Vix_ReleaseHandle(jobHandle);
printf("Folder #%d: %s:%s, flags %d\n",
i, folderHostPath, folderName, folderFlags);
Vix_FreeBuffer(folderName);
Vix_FreeBuffer(folderHostPath);
}