private void Dispose(bool fDisposing) { if (fDisposing) { GC.SuppressFinalize((object)this); } StoreTransactionOperation[] transactionOperationArray = this._storeOps; this._storeOps = (StoreTransactionOperation[])null; if (transactionOperationArray == null) { return; } for (int index = 0; index != transactionOperationArray.Length; ++index) { StoreTransactionOperation transactionOperation = transactionOperationArray[index]; if (transactionOperation.Data.DataPtr != IntPtr.Zero) { switch (transactionOperation.Operation) { case StoreTransactionOperationType.SetCanonicalizationContext: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationSetCanonicalizationContext)); break; case StoreTransactionOperationType.StageComponent: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationStageComponent)); break; case StoreTransactionOperationType.PinDeployment: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationPinDeployment)); break; case StoreTransactionOperationType.UnpinDeployment: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationUnpinDeployment)); break; case StoreTransactionOperationType.StageComponentFile: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationStageComponentFile)); break; case StoreTransactionOperationType.InstallDeployment: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationInstallDeployment)); break; case StoreTransactionOperationType.UninstallDeployment: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationUninstallDeployment)); break; case StoreTransactionOperationType.SetDeploymentMetadata: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationSetDeploymentMetadata)); break; case StoreTransactionOperationType.Scavenge: Marshal.DestroyStructure(transactionOperation.Data.DataPtr, typeof(StoreOperationScavenge)); break; } Marshal.FreeCoTaskMem(transactionOperation.Data.DataPtr); } } }
private void Dispose(bool fDisposing) { if (fDisposing) { GC.SuppressFinalize(this); } StoreTransactionOperation[] storeOps = this._storeOps; this._storeOps = null; if (storeOps != null) { for (int num = 0; num != storeOps.Length; num++) { StoreTransactionOperation storeTransactionOperation = storeOps[num]; if (storeTransactionOperation.Data.DataPtr != IntPtr.Zero) { switch (storeTransactionOperation.Operation) { case StoreTransactionOperationType.SetCanonicalizationContext: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationSetCanonicalizationContext)); break; case StoreTransactionOperationType.StageComponent: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationStageComponent)); break; case StoreTransactionOperationType.PinDeployment: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationPinDeployment)); break; case StoreTransactionOperationType.UnpinDeployment: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationUnpinDeployment)); break; case StoreTransactionOperationType.StageComponentFile: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationStageComponentFile)); break; case StoreTransactionOperationType.InstallDeployment: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationInstallDeployment)); break; case StoreTransactionOperationType.UninstallDeployment: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationUninstallDeployment)); break; case StoreTransactionOperationType.SetDeploymentMetadata: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationSetDeploymentMetadata)); break; case StoreTransactionOperationType.Scavenge: Marshal.DestroyStructure(storeTransactionOperation.Data.DataPtr, typeof(StoreOperationScavenge)); break; } Marshal.FreeCoTaskMem(storeTransactionOperation.Data.DataPtr); } } } }
private StoreTransactionOperation[] GenerateStoreOpsList() { StoreTransactionOperation[] operationArray = new StoreTransactionOperation[this._list.Count]; for (int i = 0; i != this._list.Count; i++) { object structure = this._list[i]; Type type = structure.GetType(); operationArray[i].Data.DataPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(structure)); Marshal.StructureToPtr(structure, operationArray[i].Data.DataPtr, false); if (type == typeof(StoreOperationSetCanonicalizationContext)) { operationArray[i].Operation = StoreTransactionOperationType.SetCanonicalizationContext; } else if (type == typeof(StoreOperationStageComponent)) { operationArray[i].Operation = StoreTransactionOperationType.StageComponent; } else if (type == typeof(StoreOperationPinDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.PinDeployment; } else if (type == typeof(StoreOperationUnpinDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.UnpinDeployment; } else if (type == typeof(StoreOperationStageComponentFile)) { operationArray[i].Operation = StoreTransactionOperationType.StageComponentFile; } else if (type == typeof(StoreOperationInstallDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.InstallDeployment; } else if (type == typeof(StoreOperationUninstallDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.UninstallDeployment; } else if (type == typeof(StoreOperationSetDeploymentMetadata)) { operationArray[i].Operation = StoreTransactionOperationType.SetDeploymentMetadata; } else { if (type != typeof(StoreOperationScavenge)) { throw new Exception("How did you get here?"); } operationArray[i].Operation = StoreTransactionOperationType.Scavenge; } } return(operationArray); }
private StoreTransactionOperation[] GenerateStoreOpsList() { StoreTransactionOperation[] array = new StoreTransactionOperation[this._list.Count]; for (int num = 0; num != this._list.Count; num++) { object obj = this._list[num]; Type type = obj.GetType(); array[num].Data.DataPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(obj)); Marshal.StructureToPtr(obj, array[num].Data.DataPtr, false); if (type == typeof(StoreOperationSetCanonicalizationContext)) { array[num].Operation = StoreTransactionOperationType.SetCanonicalizationContext; } else if (type == typeof(StoreOperationStageComponent)) { array[num].Operation = StoreTransactionOperationType.StageComponent; } else if (type == typeof(StoreOperationPinDeployment)) { array[num].Operation = StoreTransactionOperationType.PinDeployment; } else if (type == typeof(StoreOperationUnpinDeployment)) { array[num].Operation = StoreTransactionOperationType.UnpinDeployment; } else if (type == typeof(StoreOperationStageComponentFile)) { array[num].Operation = StoreTransactionOperationType.StageComponentFile; } else if (type == typeof(StoreOperationInstallDeployment)) { array[num].Operation = StoreTransactionOperationType.InstallDeployment; } else if (type == typeof(StoreOperationUninstallDeployment)) { array[num].Operation = StoreTransactionOperationType.UninstallDeployment; } else if (type == typeof(StoreOperationSetDeploymentMetadata)) { array[num].Operation = StoreTransactionOperationType.SetDeploymentMetadata; } else { if (!(type == typeof(StoreOperationScavenge))) { throw new Exception("How did you get here?"); } array[num].Operation = StoreTransactionOperationType.Scavenge; } } return(array); }
private StoreTransactionOperation[] GenerateStoreOpsList() { StoreTransactionOperation[] operationArray = new StoreTransactionOperation[this._list.Count]; for (int i = 0; i != this._list.Count; i++) { object structure = this._list[i]; Type type = structure.GetType(); operationArray[i].Data.DataPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(structure)); Marshal.StructureToPtr(structure, operationArray[i].Data.DataPtr, false); if (type == typeof(StoreOperationSetCanonicalizationContext)) { operationArray[i].Operation = StoreTransactionOperationType.SetCanonicalizationContext; } else if (type == typeof(StoreOperationStageComponent)) { operationArray[i].Operation = StoreTransactionOperationType.StageComponent; } else if (type == typeof(StoreOperationPinDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.PinDeployment; } else if (type == typeof(StoreOperationUnpinDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.UnpinDeployment; } else if (type == typeof(StoreOperationStageComponentFile)) { operationArray[i].Operation = StoreTransactionOperationType.StageComponentFile; } else if (type == typeof(StoreOperationInstallDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.InstallDeployment; } else if (type == typeof(StoreOperationUninstallDeployment)) { operationArray[i].Operation = StoreTransactionOperationType.UninstallDeployment; } else if (type == typeof(StoreOperationSetDeploymentMetadata)) { operationArray[i].Operation = StoreTransactionOperationType.SetDeploymentMetadata; } else { if (type != typeof(StoreOperationScavenge)) { throw new Exception("How did you get here?"); } operationArray[i].Operation = StoreTransactionOperationType.Scavenge; } } return operationArray; }
public uint[] Transact(StoreTransactionOperation[] operations) { if ((operations == null) || (operations.Length == 0)) { throw new ArgumentException("operations"); } uint[] rgDispositions = new uint[operations.Length]; int[] rgResults = new int[operations.Length]; this._pStore.Transact(new IntPtr(operations.Length), operations, rgDispositions, rgResults); return rgDispositions; }
[System.Security.SecuritySafeCritical] // auto-generated private StoreTransactionOperation[] GenerateStoreOpsList() { StoreTransactionOperation[] txnList = new StoreTransactionOperation[_list.Count]; for (int i = 0; i != _list.Count; i++) { object o = _list[i]; System.Type t = o.GetType(); txnList[i].Data.DataPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(o)); Marshal.StructureToPtr(o, txnList[i].Data.DataPtr, false); if (t == typeof(StoreOperationSetCanonicalizationContext)) { txnList[i].Operation = StoreTransactionOperationType.SetCanonicalizationContext; } else if (t == typeof(StoreOperationStageComponent)) { txnList[i].Operation = StoreTransactionOperationType.StageComponent; } else if (t == typeof(StoreOperationPinDeployment)) { txnList[i].Operation = StoreTransactionOperationType.PinDeployment; } else if (t == typeof(StoreOperationUnpinDeployment)) { txnList[i].Operation = StoreTransactionOperationType.UnpinDeployment; } else if (t == typeof(StoreOperationStageComponentFile)) { txnList[i].Operation = StoreTransactionOperationType.StageComponentFile; } else if (t == typeof(StoreOperationInstallDeployment)) { txnList[i].Operation = StoreTransactionOperationType.InstallDeployment; } else if (t == typeof(StoreOperationUninstallDeployment)) { txnList[i].Operation = StoreTransactionOperationType.UninstallDeployment; } else if (t == typeof(StoreOperationSetDeploymentMetadata)) { txnList[i].Operation = StoreTransactionOperationType.SetDeploymentMetadata; } else if (t == typeof(StoreOperationScavenge)) { txnList[i].Operation = StoreTransactionOperationType.Scavenge; } else { throw new Exception("How did you get here?"); } } return txnList; }
public void Transact(StoreTransactionOperation[] operations, uint[] rgDispositions, int[] rgResults) { if ((operations == null) || (operations.Length == 0)) throw new ArgumentException("operations"); _pStore.Transact(new IntPtr(operations.Length), operations, rgDispositions, rgResults); }