実行時エラーが出るのですが、原因はudtNewState.Privilegesが
Nothingであるためのようです。
どう直せばいいのでしょうか?

' ユニークな認証標識と属性を定義する構造体
Structure LUID_AND_ATTRIBUTES
Dim Luid As tagLUID
Dim Attributes As Integer
End Structure

' アクセストークンの特権セット情報を定義する構造体
Structure TOKEN_PRIVILEGES
Dim PrivilegeCount As Integer
<VBFixedArray(0)> Public Privileges() As LUID_AND_ATTRIBUTES
End Structure

Private Sub PowerOff()
Dim udtNewState As TOKEN_PRIVILEGES
' 新しいアクセストークンを指定
With udtNewState
.PrivilegeCount = UBound(.Privileges) + 1'ここでエラー
.Privileges(0).Luid = udtLuid
.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
End With
以下略