RegCreateKeyTransacted function Null safety advapi32

int RegCreateKeyTransacted(
  1. int hKey,
  2. Pointer<Utf16> lpSubKey,
  3. int Reserved,
  4. Pointer<Utf16> lpClass,
  5. int dwOptions,
  6. int samDesired,
  7. Pointer<SECURITY_ATTRIBUTES> lpSecurityAttributes,
  8. Pointer<IntPtr> phkResult,
  9. Pointer<Uint32> lpdwDisposition,
  10. int hTransaction,
  11. Pointer<NativeType> pExtendedParemeter
)

Establishes a connection to a predefined registry key on another computer.

LSTATUS RegCreateKeyTransactedW(
  HKEY     hKey,
  LPCWSTR  lpSubKey,
  DWORD    Reserved,
  LPWSTR   lpClass,
  DWORD    dwOptions,
  REGSAM   samDesired,
  const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  PHKEY    phkResult,
  LPDWORD  lpdwDisposition,
  HANDLE   hTransaction,
  PVOID    pExtendedParemeter);

Implementation

int RegCreateKeyTransacted(
    int hKey,
    Pointer<Utf16> lpSubKey,
    int Reserved,
    Pointer<Utf16> lpClass,
    int dwOptions,
    int samDesired,
    Pointer<SECURITY_ATTRIBUTES> lpSecurityAttributes,
    Pointer<IntPtr> phkResult,
    Pointer<Uint32> lpdwDisposition,
    int hTransaction,
    Pointer pExtendedParemeter) {
  final _RegCreateKeyTransacted = _advapi32.lookupFunction<
      Int32 Function(
          IntPtr hKey,
          Pointer<Utf16> lpSubKey,
          Uint32 Reserved,
          Pointer<Utf16> lpClass,
          Uint32 dwOptions,
          Uint32 samDesired,
          Pointer<SECURITY_ATTRIBUTES> lpSecurityAttributes,
          Pointer<IntPtr> phkResult,
          Pointer<Uint32> lpdwDisposition,
          IntPtr hTransaction,
          Pointer pExtendedParemeter),
      int Function(
          int hKey,
          Pointer<Utf16> lpSubKey,
          int Reserved,
          Pointer<Utf16> lpClass,
          int dwOptions,
          int samDesired,
          Pointer<SECURITY_ATTRIBUTES> lpSecurityAttributes,
          Pointer<IntPtr> phkResult,
          Pointer<Uint32> lpdwDisposition,
          int hTransaction,
          Pointer pExtendedParemeter)>('RegCreateKeyTransactedW');
  return _RegCreateKeyTransacted(
      hKey,
      lpSubKey,
      Reserved,
      lpClass,
      dwOptions,
      samDesired,
      lpSecurityAttributes,
      phkResult,
      lpdwDisposition,
      hTransaction,
      pExtendedParemeter);
}