Module | Process
In: | lib/chef/shell_out/windows.rb

Override Win32::Process.create to take a proper environment hash so that variables can contain semicolons (submitted patch to owner)

### Methods

create raise_last_error

### Constants

ERROR_CODE_MAP | = | { ERROR_INVALID_FUNCTION => Errno::EINVAL, ERROR_FILE_NOT_FOUND => Errno::ENOENT, ERROR_PATH_NOT_FOUND => Errno::ENOENT, ERROR_TOO_MANY_OPEN_FILES => Errno::EMFILE, ERROR_ACCESS_DENIED => Errno::EACCES, ERROR_INVALID_HANDLE => Errno::EBADF, ERROR_ARENA_TRASHED => Errno::ENOMEM, ERROR_NOT_ENOUGH_MEMORY => Errno::ENOMEM, ERROR_INVALID_BLOCK => Errno::ENOMEM, ERROR_BAD_ENVIRONMENT => Errno::E2BIG, ERROR_BAD_FORMAT => Errno::ENOEXEC, ERROR_INVALID_ACCESS => Errno::EINVAL, ERROR_INVALID_DATA => Errno::EINVAL, ERROR_INVALID_DRIVE => Errno::ENOENT, ERROR_CURRENT_DIRECTORY => Errno::EACCES, ERROR_NOT_SAME_DEVICE => Errno::EXDEV, ERROR_NO_MORE_FILES => Errno::ENOENT, ERROR_WRITE_PROTECT => Errno::EROFS, ERROR_BAD_UNIT => Errno::ENODEV, ERROR_NOT_READY => Errno::ENXIO, ERROR_BAD_COMMAND => Errno::EACCES, ERROR_CRC => Errno::EACCES, ERROR_BAD_LENGTH => Errno::EACCES, ERROR_SEEK => Errno::EIO, ERROR_NOT_DOS_DISK => Errno::EACCES, ERROR_SECTOR_NOT_FOUND => Errno::EACCES, ERROR_OUT_OF_PAPER => Errno::EACCES, ERROR_WRITE_FAULT => Errno::EIO, ERROR_READ_FAULT => Errno::EIO, ERROR_GEN_FAILURE => Errno::EACCES, ERROR_LOCK_VIOLATION => Errno::EACCES, ERROR_SHARING_VIOLATION => Errno::EACCES, ERROR_WRONG_DISK => Errno::EACCES, ERROR_SHARING_BUFFER_EXCEEDED => Errno::EACCES, # ERROR_BAD_NETPATH => Errno::ENOENT, # ERROR_NETWORK_ACCESS_DENIED => Errno::EACCES, # ERROR_BAD_NET_NAME => Errno::ENOENT, ERROR_FILE_EXISTS => Errno::EEXIST, ERROR_CANNOT_MAKE => Errno::EACCES, ERROR_FAIL_I24 => Errno::EACCES, ERROR_INVALID_PARAMETER => Errno::EINVAL, ERROR_NO_PROC_SLOTS => Errno::EAGAIN, ERROR_DRIVE_LOCKED => Errno::EACCES, ERROR_BROKEN_PIPE => Errno::EPIPE, ERROR_DISK_FULL => Errno::ENOSPC, ERROR_INVALID_TARGET_HANDLE => Errno::EBADF, ERROR_INVALID_HANDLE => Errno::EINVAL, ERROR_WAIT_NO_CHILDREN => Errno::ECHILD, ERROR_CHILD_NOT_COMPLETE => Errno::ECHILD, ERROR_DIRECT_ACCESS_HANDLE => Errno::EBADF, ERROR_NEGATIVE_SEEK => Errno::EINVAL, ERROR_SEEK_ON_DEVICE => Errno::EACCES, ERROR_DIR_NOT_EMPTY => Errno::ENOTEMPTY, # ERROR_DIRECTORY => Errno::ENOTDIR, ERROR_NOT_LOCKED => Errno::EACCES, ERROR_BAD_PATHNAME => Errno::ENOENT, ERROR_MAX_THRDS_REACHED => Errno::EAGAIN, # ERROR_LOCK_FAILED => Errno::EACCES, ERROR_ALREADY_EXISTS => Errno::EEXIST, ERROR_INVALID_STARTING_CODESEG => Errno::ENOEXEC, ERROR_INVALID_STACKSEG => Errno::ENOEXEC, ERROR_INVALID_MODULETYPE => Errno::ENOEXEC, ERROR_INVALID_EXE_SIGNATURE => Errno::ENOEXEC, ERROR_EXE_MARKED_INVALID => Errno::ENOEXEC, ERROR_BAD_EXE_FORMAT => Errno::ENOEXEC, ERROR_ITERATED_DATA_EXCEEDS_64k => Errno::ENOEXEC, ERROR_INVALID_MINALLOCSIZE => Errno::ENOEXEC, ERROR_DYNLINK_FROM_INVALID_RING => Errno::ENOEXEC, ERROR_IOPL_NOT_ENABLED => Errno::ENOEXEC, ERROR_INVALID_SEGDPL => Errno::ENOEXEC, ERROR_AUTODATASEG_EXCEEDS_64k => Errno::ENOEXEC, ERROR_RING2SEG_MUST_BE_MOVABLE => Errno::ENOEXEC, ERROR_RELOC_CHAIN_XEEDS_SEGLIM => Errno::ENOEXEC, ERROR_INFLOOP_IN_RELOC_CHAIN => Errno::ENOEXEC, ERROR_FILENAME_EXCED_RANGE => Errno::ENOENT, ERROR_NESTING_NOT_ALLOWED => Errno::EAGAIN, # ERROR_PIPE_LOCAL => Errno::EPIPE, ERROR_BAD_PIPE => Errno::EPIPE, ERROR_PIPE_BUSY => Errno::EAGAIN, ERROR_NO_DATA => Errno::EPIPE, ERROR_PIPE_NOT_CONNECTED => Errno::EPIPE, ERROR_OPERATION_ABORTED => Errno::EINTR, # ERROR_NOT_ENOUGH_QUOTA => Errno::ENOMEM, ERROR_MOD_NOT_FOUND => Errno::ENOENT, WSAEINTR => Errno::EINTR, WSAEBADF => Errno::EBADF, # WSAEACCES => Errno::EACCES, WSAEFAULT => Errno::EFAULT, WSAEINVAL => Errno::EINVAL, WSAEMFILE => Errno::EMFILE, WSAEWOULDBLOCK => Errno::EWOULDBLOCK, WSAEINPROGRESS => Errno::EINPROGRESS, WSAEALREADY => Errno::EALREADY, WSAENOTSOCK => Errno::ENOTSOCK, WSAEDESTADDRREQ => Errno::EDESTADDRREQ, WSAEMSGSIZE => Errno::EMSGSIZE, WSAEPROTOTYPE => Errno::EPROTOTYPE, WSAENOPROTOOPT => Errno::ENOPROTOOPT, WSAEPROTONOSUPPORT => Errno::EPROTONOSUPPORT, WSAESOCKTNOSUPPORT => Errno::ESOCKTNOSUPPORT, WSAEOPNOTSUPP => Errno::EOPNOTSUPP, WSAEPFNOSUPPORT => Errno::EPFNOSUPPORT, WSAEAFNOSUPPORT => Errno::EAFNOSUPPORT, WSAEADDRINUSE => Errno::EADDRINUSE, WSAEADDRNOTAVAIL => Errno::EADDRNOTAVAIL, WSAENETDOWN => Errno::ENETDOWN, WSAENETUNREACH => Errno::ENETUNREACH, WSAENETRESET => Errno::ENETRESET, WSAECONNABORTED => Errno::ECONNABORTED, WSAECONNRESET => Errno::ECONNRESET, WSAENOBUFS => Errno::ENOBUFS, WSAEISCONN => Errno::EISCONN, WSAENOTCONN => Errno::ENOTCONN, WSAESHUTDOWN => Errno::ESHUTDOWN, WSAETOOMANYREFS => Errno::ETOOMANYREFS, # WSAETIMEDOUT => Errno::ETIMEDOUT, WSAECONNREFUSED => Errno::ECONNREFUSED, WSAELOOP => Errno::ELOOP, WSAENAMETOOLONG => Errno::ENAMETOOLONG, WSAEHOSTDOWN => Errno::EHOSTDOWN, WSAEHOSTUNREACH => Errno::EHOSTUNREACH, # WSAEPROCLIM => Errno::EPROCLIM, # WSAENOTEMPTY => Errno::ENOTEMPTY, WSAEUSERS => Errno::EUSERS, WSAEDQUOT => Errno::EDQUOT, WSAESTALE => Errno::ESTALE, WSAEREMOTE => Errno::EREMOTE |  | List from ruby/win32/win32.c

### Public Class methods

raise_last_error(operation)

### Public Instance methods

create(args)

[Validate]