4.1 LnkSearchMachine
The following example shows an example LnkSearchMachine call, similar to the example in section 1.3 with the IDs set as follows:
On machine M1:
On machine M2:
VolumeID: 20aaf9f7e0f0154f7681dd8a7a8872f5
ObjectID: 73c7a25fbb1cdc1189ad00123f7ad5f3
In this example, the DLT Workstation client successfully contacts the named pipe "\\pipe\trkwks" with the following LnkSearchMachine call.
-
HRESULT LnkSearchMachine ( [in] unsigned long Restrictions = 0, [in] const CDomainRelativeObjId *pdroidBirthLast= { 8e7e9c15f59b4cf9952b03616aa51ebe 6479f083cfb245c29c713f586d6e038f }, [in] const CDomainRelativeObjId *pdroidLast = { 8e7e9c15f59b4cf9952b03616aa51ebe, 6479f083cfb245c29c713f586d6e038f }, [out] CDomainRelativeObjId *pdroidBirthNext= { irrelevant, filled in by server}, [out] CDomainRelativeObjId *pdroidNext= { irrelevant, filled in by server}, [out] CMachineId *pmcidNext = { irrelevant, filled in by server}, [out, max_is(261), string] WCHAR* ptszPath = { irrelevant, filled in by server} );
The server receives this call, verifies that the client is authorized to send it requests, consults its list of file objects, and finds that the file is indeed at that location, with a UNC of "\\M2\share2\F2.txt", and that the client is authorized to obtain its information.
The server responds with the following.
-
HRESULT = S_OK LnkSearchMachine ( [in] unsigned long Restrictions = {unmodified}, [in] const CDomainRelativeObjId *pdroidBirthLast = {unmodified}, [in] const CDomainRelativeObjId *pdroidLast= {unmodified], [out] CDomainRelativeObjId *pdroidBirthNext = { 8e7e9c15f59b4cf9952b03616aa51ebe, 6479f083cfb245c29c713f586d6e038f }, [out] CDomainRelativeObjId *pdroidNext = { 20aaf9f7e0f0154f7681dd8a7a8872f5, 73c7a25fbb1cdc1189ad00123f7ad5f3 }, [out] CMachineId *pmcidNext = "M2", [out, max_is(261), string] WCHAR* ptszPath = "\\M2\share2\F2.txt" );
The client sees the successful completion and updates its FileLinkInformation state with the new location.