---
name: "SystemFunction004"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/SystemFunction004"
---

# SystemFunction004(3w)

## NAME

**SystemFunction004** (ADVAPI32.@)

## SYNOPSIS

NTSTATUS SystemFunction004\
  (\
   const struct ustring\* *in*,\
   const struct ustring\* *key*,\
   struct ustring\*       *out*\
  )

## DESCRIPTION

Encrypts a block of data with **DES** *in* **ECB** mode, preserving the length.

## PARAMS

data **\[In\]**  data to encrypt.

*key* **\[In\]**  *key* data (up to **7** bytes).

output **\[Out\]**  buffer to receive encrypted data.

## RETURNS

**Success:** **STATUS\_SUCCESS**

**Failure:** **STATUS\_BUFFER\_TOO\_SMALL** if the output buffer is too small

**Failure:** **STATUS\_INVALID\_PARAMETER\_2** if the *key* is zero length.

## NOTES

Encrypt buffer size should be input size rounded up to **8** bytes plus an extra **8** bytes.

## IMPLEMENTATION

Not declared *in* a Wine header. The function is either undocumented, or missing from Wine.

Implemented *in* **"dlls/advapi32/crypt\_lmhash.c"**.
