LsaOpenPolicy
構造体を取るを呼び出したいと思いLSA_OBJECT_ATTRIBUTES
ます。pinvoke.net の構造体定義を使用しています。この構造体にはフィールドがありますpublic LSA_UNICODE_STRING ObjectName;
。
LSA_OBJECT_ATTRIBUTES
MSDNの記事には次のように書かれています。
を呼び出すときは、関数が情報を使用しないため、
LsaOpenPolicy
この構造体のメンバーをNULLまたはゼロに初期化します。
具体的には:
オブジェクト名
NULL にする必要があります。
LSA_OBJECT_ATTRIBUTES
構造体の他のフィールドを(または値の型に対してIntPtr.Zero
単純に)割り当てることはできますが、 . 具体的には、0
ObjectName
タイプ 'System.IntPtr' を 'LSA_UNICODE_STRING' に暗黙的に変換することはできません
この場合、どうすればよいですか?LSA_UNICODE_STRING
長さゼロ (長さ 0、最大長 0、空/ヌル バッファ) を初期化する必要がありますか? LSA_OBJECT_ATTRIBUTES
フィールドが になるように定義を変更する必要がありIntPtr
ますか? null 可能にnull
してそのフィールドに割り当てる必要がありますか?
私はメモリ管理の経験がほとんどないため、メモリ リークを引き起こす可能性のあるものには警戒しています。