blob: c5b8086493749201bb4b1d7984327e672b50fc33 [file] [log] [blame]
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAlternativeName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeFromString(&self, r#type: AlternativeNameType, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromRawData(&self, r#type: AlternativeNameType, encoding: EncodingType, strrawdata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromOtherName(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strrawdata: &::windows_core::BSTR, tobewrapped: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Type(&self) -> ::windows_core::Result<AlternativeNameType>;
fn StrValue(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAlternativeName {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAlternativeName_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>() -> IAlternativeName_Vtbl {
unsafe extern "system" fn InitializeFromString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: AlternativeNameType, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromString(::core::mem::transmute_copy(&r#type), ::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn InitializeFromRawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: AlternativeNameType, encoding: EncodingType, strrawdata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromRawData(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrawdata)).into()
}
unsafe extern "system" fn InitializeFromOtherName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strrawdata: ::std::mem::MaybeUninit<::windows_core::BSTR>, tobewrapped: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromOtherName(::windows_core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrawdata), ::core::mem::transmute_copy(&tobewrapped)).into()
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlternativeNameType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StrValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StrValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromString: InitializeFromString::<Identity, Impl, OFFSET>,
InitializeFromRawData: InitializeFromRawData::<Identity, Impl, OFFSET>,
InitializeFromOtherName: InitializeFromOtherName::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
StrValue: StrValue::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IAlternativeName as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAlternativeNames_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IAlternativeName>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IAlternativeName>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAlternativeNames {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAlternativeNames_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>() -> IAlternativeNames_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IAlternativeNames as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IBinaryConverter_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn StringToString(&self, strencodedin: &::windows_core::BSTR, encodingin: EncodingType, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn VariantByteArrayToString(&self, pvarbytearray: *const super::super::super::System::Variant::VARIANT, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn StringToVariantByteArray(&self, strencoded: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IBinaryConverter {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IBinaryConverter_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>() -> IBinaryConverter_Vtbl {
unsafe extern "system" fn StringToString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedin: ::std::mem::MaybeUninit<::windows_core::BSTR>, encodingin: EncodingType, encoding: EncodingType, pstrencoded: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StringToString(::core::mem::transmute(&strencodedin), ::core::mem::transmute_copy(&encodingin), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VariantByteArrayToString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarbytearray: *const super::super::super::System::Variant::VARIANT, encoding: EncodingType, pstrencoded: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VariantByteArrayToString(::core::mem::transmute_copy(&pvarbytearray), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StringToVariantByteArray<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencoded: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, pvarbytearray: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StringToVariantByteArray(::core::mem::transmute(&strencoded), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarbytearray, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
StringToString: StringToString::<Identity, Impl, OFFSET>,
VariantByteArrayToString: VariantByteArrayToString::<Identity, Impl, OFFSET>,
StringToVariantByteArray: StringToVariantByteArray::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IBinaryConverter as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IBinaryConverter2_Impl: Sized + IBinaryConverter_Impl {
fn StringArrayToVariantArray(&self, pvarstringarray: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn VariantArrayToStringArray(&self, pvarvariantarray: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IBinaryConverter2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IBinaryConverter2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>() -> IBinaryConverter2_Vtbl {
unsafe extern "system" fn StringArrayToVariantArray<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarstringarray: *const super::super::super::System::Variant::VARIANT, pvarvariantarray: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StringArrayToVariantArray(::core::mem::transmute_copy(&pvarstringarray)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarvariantarray, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VariantArrayToStringArray<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarvariantarray: *const super::super::super::System::Variant::VARIANT, pvarstringarray: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VariantArrayToStringArray(::core::mem::transmute_copy(&pvarvariantarray)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarstringarray, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IBinaryConverter_Vtbl::new::<Identity, Impl, OFFSET>(),
StringArrayToVariantArray: StringArrayToVariantArray::<Identity, Impl, OFFSET>,
VariantArrayToStringArray: VariantArrayToStringArray::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IBinaryConverter2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IBinaryConverter as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICEnroll_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn createFilePKCS10(&self, dnname: &::windows_core::BSTR, usage: &::windows_core::BSTR, wszpkcs10filename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn acceptFilePKCS7(&self, wszpkcs7filename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn createPKCS10(&self, dnname: &::windows_core::BSTR, usage: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn acceptPKCS7(&self, pkcs7: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn getCertFromPKCS7(&self, wszpkcs7: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn enumContainers(&self, dwindex: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn freeRequestInfo(&self, pkcs7orpkcs10: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn MyStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetMyStoreName(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn MyStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetMyStoreType(&self, bstrtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn MyStoreFlags(&self) -> ::windows_core::Result<i32>;
fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn CAStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCAStoreName(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CAStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCAStoreType(&self, bstrtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CAStoreFlags(&self) -> ::windows_core::Result<i32>;
fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn RootStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetRootStoreName(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RootStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetRootStoreType(&self, bstrtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RootStoreFlags(&self) -> ::windows_core::Result<i32>;
fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn RequestStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetRequestStoreName(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RequestStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetRequestStoreType(&self, bstrtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RequestStoreFlags(&self) -> ::windows_core::Result<i32>;
fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetContainerName(&self, bstrcontainer: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetProviderName(&self, bstrprovider: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ProviderType(&self) -> ::windows_core::Result<i32>;
fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()>;
fn KeySpec(&self) -> ::windows_core::Result<i32>;
fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()>;
fn ProviderFlags(&self) -> ::windows_core::Result<i32>;
fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn UseExistingKeySet(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetUseExistingKeySet(&self, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn GenKeyFlags(&self) -> ::windows_core::Result<i32>;
fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn DeleteRequestCert(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetDeleteRequestCert(&self, fdelete: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn WriteCertToCSP(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetWriteCertToCSP(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SPCFileName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetSPCFileName(&self, bstr: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn PVKFileName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetPVKFileName(&self, bstr: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetHashAlgorithm(&self, bstr: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICEnroll {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICEnroll_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>() -> ICEnroll_Vtbl {
unsafe extern "system" fn createFilePKCS10<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::std::mem::MaybeUninit<::windows_core::BSTR>, usage: ::std::mem::MaybeUninit<::windows_core::BSTR>, wszpkcs10filename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFilePKCS10(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute(&wszpkcs10filename)).into()
}
unsafe extern "system" fn acceptFilePKCS7<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7filename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptFilePKCS7(::core::mem::transmute(&wszpkcs7filename)).into()
}
unsafe extern "system" fn createPKCS10<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::std::mem::MaybeUninit<::windows_core::BSTR>, usage: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppkcs10: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.createPKCS10(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppkcs10, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn acceptPKCS7<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptPKCS7(::core::mem::transmute(&pkcs7)).into()
}
unsafe extern "system" fn getCertFromPKCS7<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7: ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrcert: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.getCertFromPKCS7(::core::mem::transmute(&wszpkcs7)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrcert, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn enumProviders<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.enumProviders(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrprovname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn enumContainers<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, pbstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.enumContainers(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn freeRequestInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7orpkcs10: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.freeRequestInfo(::core::mem::transmute(&pkcs7orpkcs10)).into()
}
unsafe extern "system" fn MyStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MyStoreName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMyStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreName(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn MyStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MyStoreType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMyStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreType(::core::mem::transmute(&bstrtype)).into()
}
unsafe extern "system" fn MyStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MyStoreFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMyStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn CAStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAStoreName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreName(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn CAStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAStoreType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreType(::core::mem::transmute(&bstrtype)).into()
}
unsafe extern "system" fn CAStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAStoreFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RootStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RootStoreName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRootStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreName(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn RootStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RootStoreType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRootStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreType(::core::mem::transmute(&bstrtype)).into()
}
unsafe extern "system" fn RootStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RootStoreFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRootStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RequestStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestStoreName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRequestStoreName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreName(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn RequestStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestStoreType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRequestStoreType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreType(::core::mem::transmute(&bstrtype)).into()
}
unsafe extern "system" fn RequestStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestStoreFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRequestStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn ContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcontainer: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ContainerName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrcontainer, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcontainer: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContainerName(::core::mem::transmute(&bstrcontainer)).into()
}
unsafe extern "system" fn ProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrprovider: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrprovider, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprovider: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderName(::core::mem::transmute(&bstrprovider)).into()
}
unsafe extern "system" fn ProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwtype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtype: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderType(::core::mem::transmute_copy(&dwtype)).into()
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdw: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdw, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dw: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeySpec(::core::mem::transmute_copy(&dw)).into()
}
unsafe extern "system" fn ProviderFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn UseExistingKeySet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UseExistingKeySet() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fuseexistingkeys, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUseExistingKeySet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
}
unsafe extern "system" fn GenKeyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GenKeyFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetGenKeyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetGenKeyFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn DeleteRequestCert<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DeleteRequestCert() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fdelete, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDeleteRequestCert<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
}
unsafe extern "system" fn WriteCertToCSP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.WriteCertToCSP() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWriteCertToCSP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn SPCFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SPCFileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSPCFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSPCFileName(::core::mem::transmute(&bstr)).into()
}
unsafe extern "system" fn PVKFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PVKFileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPVKFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPVKFileName(::core::mem::transmute(&bstr)).into()
}
unsafe extern "system" fn HashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithm(::core::mem::transmute(&bstr)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
createFilePKCS10: createFilePKCS10::<Identity, Impl, OFFSET>,
acceptFilePKCS7: acceptFilePKCS7::<Identity, Impl, OFFSET>,
createPKCS10: createPKCS10::<Identity, Impl, OFFSET>,
acceptPKCS7: acceptPKCS7::<Identity, Impl, OFFSET>,
getCertFromPKCS7: getCertFromPKCS7::<Identity, Impl, OFFSET>,
enumProviders: enumProviders::<Identity, Impl, OFFSET>,
enumContainers: enumContainers::<Identity, Impl, OFFSET>,
freeRequestInfo: freeRequestInfo::<Identity, Impl, OFFSET>,
MyStoreName: MyStoreName::<Identity, Impl, OFFSET>,
SetMyStoreName: SetMyStoreName::<Identity, Impl, OFFSET>,
MyStoreType: MyStoreType::<Identity, Impl, OFFSET>,
SetMyStoreType: SetMyStoreType::<Identity, Impl, OFFSET>,
MyStoreFlags: MyStoreFlags::<Identity, Impl, OFFSET>,
SetMyStoreFlags: SetMyStoreFlags::<Identity, Impl, OFFSET>,
CAStoreName: CAStoreName::<Identity, Impl, OFFSET>,
SetCAStoreName: SetCAStoreName::<Identity, Impl, OFFSET>,
CAStoreType: CAStoreType::<Identity, Impl, OFFSET>,
SetCAStoreType: SetCAStoreType::<Identity, Impl, OFFSET>,
CAStoreFlags: CAStoreFlags::<Identity, Impl, OFFSET>,
SetCAStoreFlags: SetCAStoreFlags::<Identity, Impl, OFFSET>,
RootStoreName: RootStoreName::<Identity, Impl, OFFSET>,
SetRootStoreName: SetRootStoreName::<Identity, Impl, OFFSET>,
RootStoreType: RootStoreType::<Identity, Impl, OFFSET>,
SetRootStoreType: SetRootStoreType::<Identity, Impl, OFFSET>,
RootStoreFlags: RootStoreFlags::<Identity, Impl, OFFSET>,
SetRootStoreFlags: SetRootStoreFlags::<Identity, Impl, OFFSET>,
RequestStoreName: RequestStoreName::<Identity, Impl, OFFSET>,
SetRequestStoreName: SetRequestStoreName::<Identity, Impl, OFFSET>,
RequestStoreType: RequestStoreType::<Identity, Impl, OFFSET>,
SetRequestStoreType: SetRequestStoreType::<Identity, Impl, OFFSET>,
RequestStoreFlags: RequestStoreFlags::<Identity, Impl, OFFSET>,
SetRequestStoreFlags: SetRequestStoreFlags::<Identity, Impl, OFFSET>,
ContainerName: ContainerName::<Identity, Impl, OFFSET>,
SetContainerName: SetContainerName::<Identity, Impl, OFFSET>,
ProviderName: ProviderName::<Identity, Impl, OFFSET>,
SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
ProviderType: ProviderType::<Identity, Impl, OFFSET>,
SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
ProviderFlags: ProviderFlags::<Identity, Impl, OFFSET>,
SetProviderFlags: SetProviderFlags::<Identity, Impl, OFFSET>,
UseExistingKeySet: UseExistingKeySet::<Identity, Impl, OFFSET>,
SetUseExistingKeySet: SetUseExistingKeySet::<Identity, Impl, OFFSET>,
GenKeyFlags: GenKeyFlags::<Identity, Impl, OFFSET>,
SetGenKeyFlags: SetGenKeyFlags::<Identity, Impl, OFFSET>,
DeleteRequestCert: DeleteRequestCert::<Identity, Impl, OFFSET>,
SetDeleteRequestCert: SetDeleteRequestCert::<Identity, Impl, OFFSET>,
WriteCertToCSP: WriteCertToCSP::<Identity, Impl, OFFSET>,
SetWriteCertToCSP: SetWriteCertToCSP::<Identity, Impl, OFFSET>,
SPCFileName: SPCFileName::<Identity, Impl, OFFSET>,
SetSPCFileName: SetSPCFileName::<Identity, Impl, OFFSET>,
PVKFileName: PVKFileName::<Identity, Impl, OFFSET>,
SetPVKFileName: SetPVKFileName::<Identity, Impl, OFFSET>,
HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICEnroll as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICEnroll2_Impl: Sized + ICEnroll_Impl {
fn addCertTypeToRequest(&self, certtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn addNameValuePairToSignature(&self, name: &::windows_core::BSTR, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn WriteCertToUserDS(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetWriteCertToUserDS(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn EnableT61DNEncoding(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetEnableT61DNEncoding(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICEnroll2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICEnroll2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>() -> ICEnroll2_Vtbl {
unsafe extern "system" fn addCertTypeToRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, certtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addCertTypeToRequest(::core::mem::transmute(&certtype)).into()
}
unsafe extern "system" fn addNameValuePairToSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows_core::BSTR>, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addNameValuePairToSignature(::core::mem::transmute(&name), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn WriteCertToUserDS<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.WriteCertToUserDS() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWriteCertToUserDS<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn EnableT61DNEncoding<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnableT61DNEncoding() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnableT61DNEncoding<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
}
Self {
base__: ICEnroll_Vtbl::new::<Identity, Impl, OFFSET>(),
addCertTypeToRequest: addCertTypeToRequest::<Identity, Impl, OFFSET>,
addNameValuePairToSignature: addNameValuePairToSignature::<Identity, Impl, OFFSET>,
WriteCertToUserDS: WriteCertToUserDS::<Identity, Impl, OFFSET>,
SetWriteCertToUserDS: SetWriteCertToUserDS::<Identity, Impl, OFFSET>,
EnableT61DNEncoding: EnableT61DNEncoding::<Identity, Impl, OFFSET>,
SetEnableT61DNEncoding: SetEnableT61DNEncoding::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICEnroll2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICEnroll as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICEnroll3_Impl: Sized + ICEnroll2_Impl {
fn InstallPKCS7(&self, pkcs7: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn GetSupportedKeySpec(&self) -> ::windows_core::Result<i32>;
fn GetKeyLen(&self, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL) -> ::windows_core::Result<i32>;
fn EnumAlgs(&self, dwindex: i32, algclass: i32) -> ::windows_core::Result<i32>;
fn GetAlgName(&self, algid: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn ReuseHardwareKeyIfUnableToGenNew(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetHashAlgID(&self, hashalgid: i32) -> ::windows_core::Result<()>;
fn HashAlgID(&self) -> ::windows_core::Result<i32>;
fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn LimitExchangeKeyToEncipherment(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn EnableSMIMECapabilities(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICEnroll3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICEnroll3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>() -> ICEnroll3_Vtbl {
unsafe extern "system" fn InstallPKCS7<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InstallPKCS7(::core::mem::transmute(&pkcs7)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetSupportedKeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwkeyspec: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSupportedKeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwkeyspec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKeyLen<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetKeyLen(::core::mem::transmute_copy(&fmin), ::core::mem::transmute_copy(&fexchange)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwkeysize, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumAlgs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumAlgs(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&algclass)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwalgid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAlgName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algid: i32, pbstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAlgName(::core::mem::transmute_copy(&algid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetReuseHardwareKeyIfUnableToGenNew<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
}
unsafe extern "system" fn ReuseHardwareKeyIfUnableToGenNew<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReuseHardwareKeyIfUnableToGenNew() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(freusehardwarekeyifunabletogennew, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
}
unsafe extern "system" fn HashAlgID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hashalgid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLimitExchangeKeyToEncipherment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
}
unsafe extern "system" fn LimitExchangeKeyToEncipherment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LimitExchangeKeyToEncipherment() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flimitexchangekeytoencipherment, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnableSMIMECapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
}
unsafe extern "system" fn EnableSMIMECapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnableSMIMECapabilities() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fenablesmimecapabilities, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICEnroll2_Vtbl::new::<Identity, Impl, OFFSET>(),
InstallPKCS7: InstallPKCS7::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
GetSupportedKeySpec: GetSupportedKeySpec::<Identity, Impl, OFFSET>,
GetKeyLen: GetKeyLen::<Identity, Impl, OFFSET>,
EnumAlgs: EnumAlgs::<Identity, Impl, OFFSET>,
GetAlgName: GetAlgName::<Identity, Impl, OFFSET>,
SetReuseHardwareKeyIfUnableToGenNew: SetReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
ReuseHardwareKeyIfUnableToGenNew: ReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
SetHashAlgID: SetHashAlgID::<Identity, Impl, OFFSET>,
HashAlgID: HashAlgID::<Identity, Impl, OFFSET>,
SetLimitExchangeKeyToEncipherment: SetLimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
LimitExchangeKeyToEncipherment: LimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
SetEnableSMIMECapabilities: SetEnableSMIMECapabilities::<Identity, Impl, OFFSET>,
EnableSMIMECapabilities: EnableSMIMECapabilities::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICEnroll3 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICEnroll as ::windows_core::ComInterface>::IID || iid == &<ICEnroll2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICEnroll4_Impl: Sized + ICEnroll3_Impl {
fn SetPrivateKeyArchiveCertificate(&self, bstrcert: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn PrivateKeyArchiveCertificate(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetThumbPrint(&self, bstrthumbprint: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ThumbPrint(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn binaryToString(&self, flags: i32, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn stringToBinary(&self, flags: i32, strencoded: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn addExtensionToRequest(&self, flags: i32, strname: &::windows_core::BSTR, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn addAttributeToRequest(&self, flags: i32, strname: &::windows_core::BSTR, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn addNameValuePairToRequest(&self, flags: i32, strname: &::windows_core::BSTR, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn resetExtensions(&self) -> ::windows_core::Result<()>;
fn resetAttributes(&self) -> ::windows_core::Result<()>;
fn createRequest(&self, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: &::windows_core::BSTR, usage: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn createFileRequest(&self, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: &::windows_core::BSTR, strusage: &::windows_core::BSTR, strrequestfilename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn acceptResponse(&self, strresponse: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn acceptFileResponse(&self, strresponsefilename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn getCertFromResponse(&self, strresponse: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn getCertFromFileResponse(&self, strresponsefilename: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn createPFX(&self, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn createFilePFX(&self, strpassword: &::windows_core::BSTR, strpfxfilename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn setPendingRequestInfo(&self, lrequestid: i32, strcadns: &::windows_core::BSTR, strcaname: &::windows_core::BSTR, strfriendlyname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn enumPendingRequest(&self, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn removePendingRequest(&self, strthumbprint: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetKeyLenEx(&self, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC) -> ::windows_core::Result<i32>;
fn InstallPKCS7Ex(&self, pkcs7: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn addCertTypeToRequestEx(&self, ltype: ADDED_CERT_TYPE, bstroidorname: &::windows_core::BSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows_core::Result<()>;
fn getProviderType(&self, strprovname: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn SetSignerCertificate(&self, bstrcert: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetClientId(&self, lclientid: i32) -> ::windows_core::Result<()>;
fn ClientId(&self) -> ::windows_core::Result<i32>;
fn addBlobPropertyToCertificate(&self, lpropertyid: i32, lreserved: i32, bstrproperty: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn resetBlobProperties(&self) -> ::windows_core::Result<()>;
fn SetIncludeSubjectKeyID(&self, finclude: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn IncludeSubjectKeyID(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICEnroll4 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICEnroll4_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>() -> ICEnroll4_Vtbl {
unsafe extern "system" fn SetPrivateKeyArchiveCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcert: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPrivateKeyArchiveCertificate(::core::mem::transmute(&bstrcert)).into()
}
unsafe extern "system" fn PrivateKeyArchiveCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcert: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PrivateKeyArchiveCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrcert, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetThumbPrint<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrthumbprint: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThumbPrint(::core::mem::transmute(&bstrthumbprint)).into()
}
unsafe extern "system" fn ThumbPrint<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrthumbprint: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ThumbPrint() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrthumbprint, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn binaryToString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrencoded: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.binaryToString(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strbinary)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn stringToBinary<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strencoded: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.stringToBinary(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strencoded)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn addExtensionToRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addExtensionToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn addAttributeToRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addAttributeToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn addNameValuePairToRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addNameValuePairToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn resetExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.resetExtensions().into()
}
unsafe extern "system" fn resetAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.resetAttributes().into()
}
unsafe extern "system" fn createRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: ::std::mem::MaybeUninit<::windows_core::BSTR>, usage: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrrequest: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.createRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strdnname), ::core::mem::transmute(&usage)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrrequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn createFileRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strusage: ::std::mem::MaybeUninit<::windows_core::BSTR>, strrequestfilename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFileRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strdnname), ::core::mem::transmute(&strusage), ::core::mem::transmute(&strrequestfilename)).into()
}
unsafe extern "system" fn acceptResponse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptResponse(::core::mem::transmute(&strresponse)).into()
}
unsafe extern "system" fn acceptFileResponse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponsefilename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptFileResponse(::core::mem::transmute(&strresponsefilename)).into()
}
unsafe extern "system" fn getCertFromResponse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrcert: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.getCertFromResponse(::core::mem::transmute(&strresponse)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcert, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn getCertFromFileResponse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponsefilename: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrcert: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.getCertFromFileResponse(::core::mem::transmute(&strresponsefilename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcert, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn createPFX<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrpfx: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.createPFX(::core::mem::transmute(&strpassword)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrpfx, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn createFilePFX<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpfxfilename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFilePFX(::core::mem::transmute(&strpassword), ::core::mem::transmute(&strpfxfilename)).into()
}
unsafe extern "system" fn setPendingRequestInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lrequestid: i32, strcadns: ::std::mem::MaybeUninit<::windows_core::BSTR>, strcaname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strfriendlyname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.setPendingRequestInfo(::core::mem::transmute_copy(&lrequestid), ::core::mem::transmute(&strcadns), ::core::mem::transmute(&strcaname), ::core::mem::transmute(&strfriendlyname)).into()
}
unsafe extern "system" fn enumPendingRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, pvarproperty: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.enumPendingRequest(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&ldesiredproperty)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarproperty, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn removePendingRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strthumbprint: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.removePendingRequest(::core::mem::transmute(&strthumbprint)).into()
}
unsafe extern "system" fn GetKeyLenEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetKeyLenEx(::core::mem::transmute_copy(&lsizespec), ::core::mem::transmute_copy(&lkeyspec)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwkeysize, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InstallPKCS7Ex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows_core::BSTR>, plcertinstalled: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InstallPKCS7Ex(::core::mem::transmute(&pkcs7)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plcertinstalled, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn addCertTypeToRequestEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltype: ADDED_CERT_TYPE, bstroidorname: ::std::mem::MaybeUninit<::windows_core::BSTR>, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addCertTypeToRequestEx(::core::mem::transmute_copy(&ltype), ::core::mem::transmute(&bstroidorname), ::core::mem::transmute_copy(&lmajorversion), ::core::mem::transmute_copy(&fminorversion), ::core::mem::transmute_copy(&lminorversion)).into()
}
unsafe extern "system" fn getProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprovname: ::std::mem::MaybeUninit<::windows_core::BSTR>, plprovtype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.getProviderType(::core::mem::transmute(&strprovname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plprovtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcert: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::core::mem::transmute(&bstrcert)).into()
}
unsafe extern "system" fn SetClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lclientid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClientId(::core::mem::transmute_copy(&lclientid)).into()
}
unsafe extern "system" fn ClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plclientid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClientId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plclientid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn addBlobPropertyToCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpropertyid: i32, lreserved: i32, bstrproperty: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addBlobPropertyToCertificate(::core::mem::transmute_copy(&lpropertyid), ::core::mem::transmute_copy(&lreserved), ::core::mem::transmute(&bstrproperty)).into()
}
unsafe extern "system" fn resetBlobProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.resetBlobProperties().into()
}
unsafe extern "system" fn SetIncludeSubjectKeyID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finclude: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetIncludeSubjectKeyID(::core::mem::transmute_copy(&finclude)).into()
}
unsafe extern "system" fn IncludeSubjectKeyID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IncludeSubjectKeyID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfinclude, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICEnroll3_Vtbl::new::<Identity, Impl, OFFSET>(),
SetPrivateKeyArchiveCertificate: SetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
PrivateKeyArchiveCertificate: PrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
SetThumbPrint: SetThumbPrint::<Identity, Impl, OFFSET>,
ThumbPrint: ThumbPrint::<Identity, Impl, OFFSET>,
binaryToString: binaryToString::<Identity, Impl, OFFSET>,
stringToBinary: stringToBinary::<Identity, Impl, OFFSET>,
addExtensionToRequest: addExtensionToRequest::<Identity, Impl, OFFSET>,
addAttributeToRequest: addAttributeToRequest::<Identity, Impl, OFFSET>,
addNameValuePairToRequest: addNameValuePairToRequest::<Identity, Impl, OFFSET>,
resetExtensions: resetExtensions::<Identity, Impl, OFFSET>,
resetAttributes: resetAttributes::<Identity, Impl, OFFSET>,
createRequest: createRequest::<Identity, Impl, OFFSET>,
createFileRequest: createFileRequest::<Identity, Impl, OFFSET>,
acceptResponse: acceptResponse::<Identity, Impl, OFFSET>,
acceptFileResponse: acceptFileResponse::<Identity, Impl, OFFSET>,
getCertFromResponse: getCertFromResponse::<Identity, Impl, OFFSET>,
getCertFromFileResponse: getCertFromFileResponse::<Identity, Impl, OFFSET>,
createPFX: createPFX::<Identity, Impl, OFFSET>,
createFilePFX: createFilePFX::<Identity, Impl, OFFSET>,
setPendingRequestInfo: setPendingRequestInfo::<Identity, Impl, OFFSET>,
enumPendingRequest: enumPendingRequest::<Identity, Impl, OFFSET>,
removePendingRequest: removePendingRequest::<Identity, Impl, OFFSET>,
GetKeyLenEx: GetKeyLenEx::<Identity, Impl, OFFSET>,
InstallPKCS7Ex: InstallPKCS7Ex::<Identity, Impl, OFFSET>,
addCertTypeToRequestEx: addCertTypeToRequestEx::<Identity, Impl, OFFSET>,
getProviderType: getProviderType::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
SetClientId: SetClientId::<Identity, Impl, OFFSET>,
ClientId: ClientId::<Identity, Impl, OFFSET>,
addBlobPropertyToCertificate: addBlobPropertyToCertificate::<Identity, Impl, OFFSET>,
resetBlobProperties: resetBlobProperties::<Identity, Impl, OFFSET>,
SetIncludeSubjectKeyID: SetIncludeSubjectKeyID::<Identity, Impl, OFFSET>,
IncludeSubjectKeyID: IncludeSubjectKeyID::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICEnroll4 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICEnroll as ::windows_core::ComInterface>::IID || iid == &<ICEnroll2 as ::windows_core::ComInterface>::IID || iid == &<ICEnroll3 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertAdmin_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn IsValidCertificate(&self, strconfig: &::windows_core::BSTR, strserialnumber: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn GetRevocationReason(&self) -> ::windows_core::Result<i32>;
fn RevokeCertificate(&self, strconfig: &::windows_core::BSTR, strserialnumber: &::windows_core::BSTR, reason: i32, date: f64) -> ::windows_core::Result<()>;
fn SetRequestAttributes(&self, strconfig: &::windows_core::BSTR, requestid: i32, strattributes: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetCertificateExtension(&self, strconfig: &::windows_core::BSTR, requestid: i32, strextensionname: &::windows_core::BSTR, r#type: CERT_PROPERTY_TYPE, flags: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn DenyRequest(&self, strconfig: &::windows_core::BSTR, requestid: i32) -> ::windows_core::Result<()>;
fn ResubmitRequest(&self, strconfig: &::windows_core::BSTR, requestid: i32) -> ::windows_core::Result<i32>;
fn PublishCRL(&self, strconfig: &::windows_core::BSTR, date: f64) -> ::windows_core::Result<()>;
fn GetCRL(&self, strconfig: &::windows_core::BSTR, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn ImportCertificate(&self, strconfig: &::windows_core::BSTR, strcertificate: &::windows_core::BSTR, flags: CERT_IMPORT_FLAGS) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertAdmin {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertAdmin_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>() -> ICertAdmin_Vtbl {
unsafe extern "system" fn IsValidCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, pdisposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsValidCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strserialnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRevocationReason<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, preason: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRevocationReason() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(preason, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RevokeCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, reason: i32, date: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RevokeCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strserialnumber), ::core::mem::transmute_copy(&reason), ::core::mem::transmute_copy(&date)).into()
}
unsafe extern "system" fn SetRequestAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, strattributes: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestAttributes(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strattributes)).into()
}
unsafe extern "system" fn SetCertificateExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, strextensionname: ::std::mem::MaybeUninit<::windows_core::BSTR>, r#type: CERT_PROPERTY_TYPE, flags: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateExtension(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
}
unsafe extern "system" fn DenyRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DenyRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid)).into()
}
unsafe extern "system" fn ResubmitRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, pdisposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ResubmitRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PublishCRL<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, date: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PublishCRL(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&date)).into()
}
unsafe extern "system" fn GetCRL<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: i32, pstrcrl: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCRL(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcrl, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ImportCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: CERT_IMPORT_FLAGS, prequestid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ImportCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prequestid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
IsValidCertificate: IsValidCertificate::<Identity, Impl, OFFSET>,
GetRevocationReason: GetRevocationReason::<Identity, Impl, OFFSET>,
RevokeCertificate: RevokeCertificate::<Identity, Impl, OFFSET>,
SetRequestAttributes: SetRequestAttributes::<Identity, Impl, OFFSET>,
SetCertificateExtension: SetCertificateExtension::<Identity, Impl, OFFSET>,
DenyRequest: DenyRequest::<Identity, Impl, OFFSET>,
ResubmitRequest: ResubmitRequest::<Identity, Impl, OFFSET>,
PublishCRL: PublishCRL::<Identity, Impl, OFFSET>,
GetCRL: GetCRL::<Identity, Impl, OFFSET>,
ImportCertificate: ImportCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertAdmin as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertAdmin2_Impl: Sized + ICertAdmin_Impl {
fn PublishCRLs(&self, strconfig: &::windows_core::BSTR, date: f64, crlflags: i32) -> ::windows_core::Result<()>;
fn GetCAProperty(&self, strconfig: &::windows_core::BSTR, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetCAProperty(&self, strconfig: &::windows_core::BSTR, propid: i32, propindex: i32, proptype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn GetCAPropertyFlags(&self, strconfig: &::windows_core::BSTR, propid: i32) -> ::windows_core::Result<i32>;
fn GetCAPropertyDisplayName(&self, strconfig: &::windows_core::BSTR, propid: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetArchivedKey(&self, strconfig: &::windows_core::BSTR, requestid: i32, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetConfigEntry(&self, strconfig: &::windows_core::BSTR, strnodepath: &::windows_core::BSTR, strentryname: &::windows_core::BSTR) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetConfigEntry(&self, strconfig: &::windows_core::BSTR, strnodepath: &::windows_core::BSTR, strentryname: &::windows_core::BSTR, pvarentry: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ImportKey(&self, strconfig: &::windows_core::BSTR, requestid: i32, strcerthash: &::windows_core::BSTR, flags: CERT_IMPORT_FLAGS, strkey: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetMyRoles(&self, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<CERTADMIN_GET_ROLES_FLAGS>;
fn DeleteRow(&self, strconfig: &::windows_core::BSTR, flags: CERT_DELETE_ROW_FLAGS, date: f64, table: CVRC_TABLE, rowid: i32) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertAdmin2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertAdmin2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>() -> ICertAdmin2_Vtbl {
unsafe extern "system" fn PublishCRLs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, date: f64, crlflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PublishCRLs(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&date), ::core::mem::transmute_copy(&crlflags)).into()
}
unsafe extern "system" fn GetCAProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, propindex: i32, proptype: i32, flags: i32, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, propindex: i32, proptype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&pvarpropertyvalue)).into()
}
unsafe extern "system" fn GetCAPropertyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, ppropflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAPropertyFlags(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppropflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAPropertyDisplayName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, pstrdisplayname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAPropertyDisplayName(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrdisplayname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetArchivedKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, flags: i32, pstrarchivedkey: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetArchivedKey(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrarchivedkey, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConfigEntry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strnodepath: ::std::mem::MaybeUninit<::windows_core::BSTR>, strentryname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pvarentry: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConfigEntry(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strnodepath), ::core::mem::transmute(&strentryname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarentry, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetConfigEntry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strnodepath: ::std::mem::MaybeUninit<::windows_core::BSTR>, strentryname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pvarentry: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetConfigEntry(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strnodepath), ::core::mem::transmute(&strentryname), ::core::mem::transmute_copy(&pvarentry)).into()
}
unsafe extern "system" fn ImportKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, strcerthash: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: CERT_IMPORT_FLAGS, strkey: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ImportKey(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strcerthash), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strkey)).into()
}
unsafe extern "system" fn GetMyRoles<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, proles: *mut CERTADMIN_GET_ROLES_FLAGS) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMyRoles(::core::mem::transmute(&strconfig)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(proles, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteRow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: CERT_DELETE_ROW_FLAGS, date: f64, table: CVRC_TABLE, rowid: i32, pcdeleted: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DeleteRow(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&date), ::core::mem::transmute_copy(&table), ::core::mem::transmute_copy(&rowid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcdeleted, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertAdmin_Vtbl::new::<Identity, Impl, OFFSET>(),
PublishCRLs: PublishCRLs::<Identity, Impl, OFFSET>,
GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
SetCAProperty: SetCAProperty::<Identity, Impl, OFFSET>,
GetCAPropertyFlags: GetCAPropertyFlags::<Identity, Impl, OFFSET>,
GetCAPropertyDisplayName: GetCAPropertyDisplayName::<Identity, Impl, OFFSET>,
GetArchivedKey: GetArchivedKey::<Identity, Impl, OFFSET>,
GetConfigEntry: GetConfigEntry::<Identity, Impl, OFFSET>,
SetConfigEntry: SetConfigEntry::<Identity, Impl, OFFSET>,
ImportKey: ImportKey::<Identity, Impl, OFFSET>,
GetMyRoles: GetMyRoles::<Identity, Impl, OFFSET>,
DeleteRow: DeleteRow::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertAdmin2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertAdmin as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertConfig_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Reset(&self, index: i32) -> ::windows_core::Result<i32>;
fn Next(&self) -> ::windows_core::Result<i32>;
fn GetField(&self, strfieldname: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetConfig(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertConfig {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertConfig_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>() -> ICertConfig_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Reset(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Next() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetField<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strfieldname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetField(::core::mem::transmute(&strfieldname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConfig(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
Next: Next::<Identity, Impl, OFFSET>,
GetField: GetField::<Identity, Impl, OFFSET>,
GetConfig: GetConfig::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertConfig as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertConfig2_Impl: Sized + ICertConfig_Impl {
fn SetSharedFolder(&self, strsharedfolder: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertConfig2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertConfig2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig2_Impl, const OFFSET: isize>() -> ICertConfig2_Vtbl {
unsafe extern "system" fn SetSharedFolder<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strsharedfolder: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSharedFolder(::core::mem::transmute(&strsharedfolder)).into()
}
Self { base__: ICertConfig_Vtbl::new::<Identity, Impl, OFFSET>(), SetSharedFolder: SetSharedFolder::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertConfig2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertConfig as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeAltName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetNameCount(&self) -> ::windows_core::Result<i32>;
fn GetNameChoice(&self, nameindex: i32) -> ::windows_core::Result<i32>;
fn GetName(&self, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn Reset(&self, namecount: i32) -> ::windows_core::Result<()>;
fn SetNameEntry(&self, nameindex: i32, namechoice: CERT_ALT_NAME, strname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeAltName {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeAltName_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>() -> ICertEncodeAltName_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetNameCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnamecount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNameCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pnamecount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNameChoice<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, pnamechoice: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNameChoice(::core::mem::transmute_copy(&nameindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pnamechoice, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, pstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName(::core::mem::transmute_copy(&nameindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, namecount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset(::core::mem::transmute_copy(&namecount)).into()
}
unsafe extern "system" fn SetNameEntry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, namechoice: CERT_ALT_NAME, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNameEntry(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetNameCount: GetNameCount::<Identity, Impl, OFFSET>,
GetNameChoice: GetNameChoice::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
SetNameEntry: SetNameEntry::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeAltName as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeAltName2_Impl: Sized + ICertEncodeAltName_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetNameBlob(&self, nameindex: i32, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetNameEntryBlob(&self, nameindex: i32, namechoice: i32, strname: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeAltName2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeAltName2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>() -> ICertEncodeAltName2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNameBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, encoding: EncodingType, pstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNameBlob(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNameEntryBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, namechoice: i32, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNameEntryBlob(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname), ::core::mem::transmute_copy(&encoding)).into()
}
Self {
base__: ICertEncodeAltName_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
GetNameBlob: GetNameBlob::<Identity, Impl, OFFSET>,
SetNameEntryBlob: SetNameEntryBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeAltName2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeAltName as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeBitString_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetBitCount(&self) -> ::windows_core::Result<i32>;
fn GetBitString(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Encode(&self, bitcount: i32, strbitstring: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeBitString {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeBitString_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>() -> ICertEncodeBitString_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetBitCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbitcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBitCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbitcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBitString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbitstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBitString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbitstring, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bitcount: i32, strbitstring: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode(::core::mem::transmute_copy(&bitcount), ::core::mem::transmute(&strbitstring)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetBitCount: GetBitCount::<Identity, Impl, OFFSET>,
GetBitString: GetBitString::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeBitString as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeBitString2_Impl: Sized + ICertEncodeBitString_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, bitcount: i32, strbitstring: &::windows_core::BSTR, encodingin: EncodingType, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetBitStringBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeBitString2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeBitString2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>() -> ICertEncodeBitString2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bitcount: i32, strbitstring: ::std::mem::MaybeUninit<::windows_core::BSTR>, encodingin: EncodingType, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&bitcount), ::core::mem::transmute(&strbitstring), ::core::mem::transmute_copy(&encodingin), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBitStringBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrbitstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBitStringBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbitstring, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertEncodeBitString_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
GetBitStringBlob: GetBitStringBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeBitString2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeBitString as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeCRLDistInfo_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetDistPointCount(&self) -> ::windows_core::Result<i32>;
fn GetNameCount(&self, distpointindex: i32) -> ::windows_core::Result<i32>;
fn GetNameChoice(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result<i32>;
fn GetName(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn Reset(&self, distpointcount: i32) -> ::windows_core::Result<()>;
fn SetNameCount(&self, distpointindex: i32, namecount: i32) -> ::windows_core::Result<()>;
fn SetNameEntry(&self, distpointindex: i32, nameindex: i32, namechoice: CERT_ALT_NAME, strname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeCRLDistInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeCRLDistInfo_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>() -> ICertEncodeCRLDistInfo_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetDistPointCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdistpointcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDistPointCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdistpointcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNameCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, pnamecount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNameCount(::core::mem::transmute_copy(&distpointindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pnamecount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNameChoice<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, pnamechoice: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNameChoice(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pnamechoice, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, pstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointcount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset(::core::mem::transmute_copy(&distpointcount)).into()
}
unsafe extern "system" fn SetNameCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, namecount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNameCount(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&namecount)).into()
}
unsafe extern "system" fn SetNameEntry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, namechoice: CERT_ALT_NAME, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNameEntry(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetDistPointCount: GetDistPointCount::<Identity, Impl, OFFSET>,
GetNameCount: GetNameCount::<Identity, Impl, OFFSET>,
GetNameChoice: GetNameChoice::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
SetNameCount: SetNameCount::<Identity, Impl, OFFSET>,
SetNameEntry: SetNameEntry::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeCRLDistInfo as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeCRLDistInfo2_Impl: Sized + ICertEncodeCRLDistInfo_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeCRLDistInfo2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeCRLDistInfo2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>() -> ICertEncodeCRLDistInfo2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertEncodeCRLDistInfo_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeCRLDistInfo2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeCRLDistInfo as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeDateArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetCount(&self) -> ::windows_core::Result<i32>;
fn GetValue(&self, index: i32) -> ::windows_core::Result<f64>;
fn Reset(&self, count: i32) -> ::windows_core::Result<()>;
fn SetValue(&self, index: i32, value: f64) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeDateArray {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeDateArray_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>() -> ICertEncodeDateArray_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset(::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn SetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, value: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeDateArray as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeDateArray2_Impl: Sized + ICertEncodeDateArray_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeDateArray2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeDateArray2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>() -> ICertEncodeDateArray2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertEncodeDateArray_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeDateArray2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeDateArray as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeLongArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetCount(&self) -> ::windows_core::Result<i32>;
fn GetValue(&self, index: i32) -> ::windows_core::Result<i32>;
fn Reset(&self, count: i32) -> ::windows_core::Result<()>;
fn SetValue(&self, index: i32, value: i32) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeLongArray {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeLongArray_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>() -> ICertEncodeLongArray_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset(::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn SetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeLongArray as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeLongArray2_Impl: Sized + ICertEncodeLongArray_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeLongArray2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeLongArray2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>() -> ICertEncodeLongArray2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertEncodeLongArray_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeLongArray2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeLongArray as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeStringArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strbinary: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetStringType(&self) -> ::windows_core::Result<i32>;
fn GetCount(&self) -> ::windows_core::Result<i32>;
fn GetValue(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn Reset(&self, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows_core::Result<()>;
fn SetValue(&self, index: i32, str: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeStringArray {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeStringArray_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>() -> ICertEncodeStringArray_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strbinary)).into()
}
unsafe extern "system" fn GetStringType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstringtype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStringType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstringtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pstr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&stringtype)).into()
}
unsafe extern "system" fn SetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, str: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute(&str)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Encode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
GetStringType: GetStringType::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeStringArray as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertEncodeStringArray2_Impl: Sized + ICertEncodeStringArray_Impl {
fn DecodeBlob(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertEncodeStringArray2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertEncodeStringArray2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>() -> ICertEncodeStringArray2_Vtbl {
unsafe extern "system" fn DecodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn EncodeBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertEncodeStringArray_Vtbl::new::<Identity, Impl, OFFSET>(),
DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertEncodeStringArray2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertEncodeStringArray as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertExit_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<CERT_EXIT_EVENT_MASK>;
fn Notify(&self, exitevent: i32, context: i32) -> ::windows_core::Result<()>;
fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertExit {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertExit_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>() -> ICertExit_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, peventmask: *mut CERT_EXIT_EVENT_MASK) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Initialize(::core::mem::transmute(&strconfig)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(peventmask, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Notify<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitevent: i32, context: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Notify(::core::mem::transmute_copy(&exitevent), ::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn GetDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdescription: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescription() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrdescription, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Notify: Notify::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertExit as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertExit2_Impl: Sized + ICertExit_Impl {
fn GetManageModule(&self) -> ::windows_core::Result<ICertManageModule>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertExit2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertExit2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit2_Impl, const OFFSET: isize>() -> ICertExit2_Vtbl {
unsafe extern "system" fn GetManageModule<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertExit2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmanagemodule: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetManageModule() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmanagemodule, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ICertExit_Vtbl::new::<Identity, Impl, OFFSET>(), GetManageModule: GetManageModule::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertExit2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertExit as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertGetConfig_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn GetConfig(&self, flags: CERT_GET_CONFIG_FLAGS) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertGetConfig {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertGetConfig_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertGetConfig_Impl, const OFFSET: isize>() -> ICertGetConfig_Vtbl {
unsafe extern "system" fn GetConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertGetConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_GET_CONFIG_FLAGS, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConfig(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetConfig: GetConfig::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertGetConfig as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertManageModule_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn GetProperty(&self, strconfig: &::windows_core::BSTR, strstoragelocation: &::windows_core::BSTR, strpropertyname: &::windows_core::BSTR, flags: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetProperty(&self, strconfig: &::windows_core::BSTR, strstoragelocation: &::windows_core::BSTR, strpropertyname: &::windows_core::BSTR, flags: i32, pvarproperty: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Configure(&self, strconfig: &::windows_core::BSTR, strstoragelocation: &::windows_core::BSTR, flags: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertManageModule {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertManageModule_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>() -> ICertManageModule_Vtbl {
unsafe extern "system" fn GetProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: i32, pvarproperty: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarproperty, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: i32, pvarproperty: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarproperty)).into()
}
unsafe extern "system" fn Configure<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Configure(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute_copy(&flags)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
GetProperty: GetProperty::<Identity, Impl, OFFSET>,
SetProperty: SetProperty::<Identity, Impl, OFFSET>,
Configure: Configure::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertManageModule as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn VerifyRequest(&self, strconfig: &::windows_core::BSTR, context: i32, bnewrequest: i32, flags: i32) -> ::windows_core::Result<i32>;
fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn ShutDown(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPolicy {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPolicy_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>() -> ICertPolicy_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strconfig)).into()
}
unsafe extern "system" fn VerifyRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, context: i32, bnewrequest: i32, flags: i32, pdisposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VerifyRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&bnewrequest), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdescription: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescription() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrdescription, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ShutDown<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ShutDown().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
VerifyRequest: VerifyRequest::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
ShutDown: ShutDown::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPolicy as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPolicy2_Impl: Sized + ICertPolicy_Impl {
fn GetManageModule(&self) -> ::windows_core::Result<ICertManageModule>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPolicy2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPolicy2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy2_Impl, const OFFSET: isize>() -> ICertPolicy2_Vtbl {
unsafe extern "system" fn GetManageModule<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmanagemodule: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetManageModule() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmanagemodule, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ICertPolicy_Vtbl::new::<Identity, Impl, OFFSET>(), GetManageModule: GetManageModule::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPolicy2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertPolicy as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertProperties_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICertProperty>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICertProperty>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn InitializeFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertProperties {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertProperties_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>() -> ICertProperties_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertProperties as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertProperty_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn PropertyId(&self) -> ::windows_core::Result<CERTENROLL_PROPERTYID>;
fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn RemoveFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetValueOnCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertProperty_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>() -> ICertProperty_Vtbl {
unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn PropertyId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CERTENROLL_PROPERTYID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PropertyId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPropertyId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: CERTENROLL_PROPERTYID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPropertyId(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveFromCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn SetValueOnCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValueOnCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
PropertyId: PropertyId::<Identity, Impl, OFFSET>,
SetPropertyId: SetPropertyId::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
RemoveFromCertificate: RemoveFromCertificate::<Identity, Impl, OFFSET>,
SetValueOnCertificate: SetValueOnCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertProperty as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyArchived_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, archivedvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Archived(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyArchived {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyArchived_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>() -> ICertPropertyArchived_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, archivedvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&archivedvalue)).into()
}
unsafe extern "system" fn Archived<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Archived() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Archived: Archived::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyArchived as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyArchivedKeyHash_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, encoding: EncodingType, strarchivedkeyhashvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_ArchivedKeyHash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyArchivedKeyHash {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyArchivedKeyHash_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>() -> ICertPropertyArchivedKeyHash_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strarchivedkeyhashvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strarchivedkeyhashvalue)).into()
}
unsafe extern "system" fn get_ArchivedKeyHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ArchivedKeyHash(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
get_ArchivedKeyHash: get_ArchivedKeyHash::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyArchivedKeyHash as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyAutoEnroll_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn TemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyAutoEnroll {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyAutoEnroll_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>() -> ICertPropertyAutoEnroll_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn TemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TemplateName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
TemplateName: TemplateName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyAutoEnroll as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyBackedUp_Impl: Sized + ICertProperty_Impl {
fn InitializeFromCurrentTime(&self, backedupvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Initialize(&self, backedupvalue: super::super::super::Foundation::VARIANT_BOOL, date: f64) -> ::windows_core::Result<()>;
fn BackedUpValue(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn BackedUpTime(&self) -> ::windows_core::Result<f64>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyBackedUp {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyBackedUp_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>() -> ICertPropertyBackedUp_Vtbl {
unsafe extern "system" fn InitializeFromCurrentTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backedupvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCurrentTime(::core::mem::transmute_copy(&backedupvalue)).into()
}
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backedupvalue: super::super::super::Foundation::VARIANT_BOOL, date: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&backedupvalue), ::core::mem::transmute_copy(&date)).into()
}
unsafe extern "system" fn BackedUpValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BackedUpValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn BackedUpTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BackedUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromCurrentTime: InitializeFromCurrentTime::<Identity, Impl, OFFSET>,
Initialize: Initialize::<Identity, Impl, OFFSET>,
BackedUpValue: BackedUpValue::<Identity, Impl, OFFSET>,
BackedUpTime: BackedUpTime::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyBackedUp as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyDescription_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, strdescription: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyDescription {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyDescription_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>() -> ICertPropertyDescription_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strdescription: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strdescription)).into()
}
unsafe extern "system" fn Description<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Description() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Description: Description::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyDescription as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyEnrollment_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, requestid: i32, strcadnsname: &::windows_core::BSTR, strcaname: &::windows_core::BSTR, strfriendlyname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RequestId(&self) -> ::windows_core::Result<i32>;
fn CADnsName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn CAName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyEnrollment {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyEnrollment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>() -> ICertPropertyEnrollment_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requestid: i32, strcadnsname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strcaname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strfriendlyname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strcadnsname), ::core::mem::transmute(&strcaname), ::core::mem::transmute(&strfriendlyname)).into()
}
unsafe extern "system" fn RequestId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CADnsName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CADnsName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CAName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
RequestId: RequestId::<Identity, Impl, OFFSET>,
CADnsName: CADnsName::<Identity, Impl, OFFSET>,
CAName: CAName::<Identity, Impl, OFFSET>,
FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyEnrollment as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyEnrollmentPolicyServer_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, propertyflags: EnrollmentPolicyServerPropertyFlags, authflags: X509EnrollmentAuthFlags, enrollmentserverauthflags: X509EnrollmentAuthFlags, urlflags: PolicyServerUrlFlags, strrequestid: &::windows_core::BSTR, strurl: &::windows_core::BSTR, strid: &::windows_core::BSTR, strenrollmentserverurl: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetPolicyServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetPolicyServerId(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetEnrollmentServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetRequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetPropertyFlags(&self) -> ::windows_core::Result<EnrollmentPolicyServerPropertyFlags>;
fn GetUrlFlags(&self) -> ::windows_core::Result<PolicyServerUrlFlags>;
fn GetAuthentication(&self) -> ::windows_core::Result<X509EnrollmentAuthFlags>;
fn GetEnrollmentServerAuthentication(&self) -> ::windows_core::Result<X509EnrollmentAuthFlags>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyEnrollmentPolicyServer {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyEnrollmentPolicyServer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>() -> ICertPropertyEnrollmentPolicyServer_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyflags: EnrollmentPolicyServerPropertyFlags, authflags: X509EnrollmentAuthFlags, enrollmentserverauthflags: X509EnrollmentAuthFlags, urlflags: PolicyServerUrlFlags, strrequestid: ::std::mem::MaybeUninit<::windows_core::BSTR>, strurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, strid: ::std::mem::MaybeUninit<::windows_core::BSTR>, strenrollmentserverurl: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&propertyflags), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute_copy(&enrollmentserverauthflags), ::core::mem::transmute_copy(&urlflags), ::core::mem::transmute(&strrequestid), ::core::mem::transmute(&strurl), ::core::mem::transmute(&strid), ::core::mem::transmute(&strenrollmentserverurl)).into()
}
unsafe extern "system" fn GetPolicyServerUrl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPolicyServerUrl() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolicyServerId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPolicyServerId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEnrollmentServerUrl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEnrollmentServerUrl() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRequestIdString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestIdString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPropertyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentPolicyServerPropertyFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPropertyFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUrlFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyServerUrlFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUrlFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAuthentication<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAuthentication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEnrollmentServerAuthentication<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEnrollmentServerAuthentication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetPolicyServerUrl: GetPolicyServerUrl::<Identity, Impl, OFFSET>,
GetPolicyServerId: GetPolicyServerId::<Identity, Impl, OFFSET>,
GetEnrollmentServerUrl: GetEnrollmentServerUrl::<Identity, Impl, OFFSET>,
GetRequestIdString: GetRequestIdString::<Identity, Impl, OFFSET>,
GetPropertyFlags: GetPropertyFlags::<Identity, Impl, OFFSET>,
GetUrlFlags: GetUrlFlags::<Identity, Impl, OFFSET>,
GetAuthentication: GetAuthentication::<Identity, Impl, OFFSET>,
GetEnrollmentServerAuthentication: GetEnrollmentServerAuthentication::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyEnrollmentPolicyServer as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyFriendlyName_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, strfriendlyname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyFriendlyName {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyFriendlyName_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>() -> ICertPropertyFriendlyName_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strfriendlyname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strfriendlyname)).into()
}
unsafe extern "system" fn FriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyFriendlyName as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyKeyProvInfo_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, pvalue: ::core::option::Option<&IX509PrivateKey>) -> ::windows_core::Result<()>;
fn PrivateKey(&self) -> ::windows_core::Result<IX509PrivateKey>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyKeyProvInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyKeyProvInfo_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>() -> ICertPropertyKeyProvInfo_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn PrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PrivateKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyKeyProvInfo as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyRenewal_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, encoding: EncodingType, strrenewalvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromCertificateHash(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_Renewal(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyRenewal {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyRenewal_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>() -> ICertPropertyRenewal_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strrenewalvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrenewalvalue)).into()
}
unsafe extern "system" fn InitializeFromCertificateHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCertificateHash(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn get_Renewal<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Renewal(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeFromCertificateHash: InitializeFromCertificateHash::<Identity, Impl, OFFSET>,
get_Renewal: get_Renewal::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyRenewal as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertyRequestOriginator_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, strrequestoriginator: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromLocalRequestOriginator(&self) -> ::windows_core::Result<()>;
fn RequestOriginator(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertyRequestOriginator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertyRequestOriginator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>() -> ICertPropertyRequestOriginator_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strrequestoriginator: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strrequestoriginator)).into()
}
unsafe extern "system" fn InitializeFromLocalRequestOriginator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromLocalRequestOriginator().into()
}
unsafe extern "system" fn RequestOriginator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestOriginator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeFromLocalRequestOriginator: InitializeFromLocalRequestOriginator::<Identity, Impl, OFFSET>,
RequestOriginator: RequestOriginator::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertyRequestOriginator as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertPropertySHA1Hash_Impl: Sized + ICertProperty_Impl {
fn Initialize(&self, encoding: EncodingType, strrenewalvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_SHA1Hash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertPropertySHA1Hash {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertPropertySHA1Hash_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>() -> ICertPropertySHA1Hash_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strrenewalvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrenewalvalue)).into()
}
unsafe extern "system" fn get_SHA1Hash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SHA1Hash(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
get_SHA1Hash: get_SHA1Hash::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertPropertySHA1Hash as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertRequest_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Submit(&self, flags: i32, strrequest: &::windows_core::BSTR, strattributes: &::windows_core::BSTR, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn RetrievePending(&self, requestid: i32, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn GetLastStatus(&self) -> ::windows_core::Result<i32>;
fn GetRequestId(&self) -> ::windows_core::Result<i32>;
fn GetDispositionMessage(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCACertificate(&self, fexchangecertificate: i32, strconfig: &::windows_core::BSTR, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCertificate(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>() -> ICertRequest_Vtbl {
unsafe extern "system" fn Submit<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strrequest: ::std::mem::MaybeUninit<::windows_core::BSTR>, strattributes: ::std::mem::MaybeUninit<::windows_core::BSTR>, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, pdisposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Submit(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strrequest), ::core::mem::transmute(&strattributes), ::core::mem::transmute(&strconfig)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RetrievePending<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requestid: i32, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, pdisposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RetrievePending(::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strconfig)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstatus: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLastStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstatus, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRequestId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequestid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prequestid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDispositionMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdispositionmessage: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDispositionMessage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrdispositionmessage, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCACertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fexchangecertificate: i32, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, flags: i32, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCACertificate(::core::mem::transmute_copy(&fexchangecertificate), ::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificate(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Submit: Submit::<Identity, Impl, OFFSET>,
RetrievePending: RetrievePending::<Identity, Impl, OFFSET>,
GetLastStatus: GetLastStatus::<Identity, Impl, OFFSET>,
GetRequestId: GetRequestId::<Identity, Impl, OFFSET>,
GetDispositionMessage: GetDispositionMessage::<Identity, Impl, OFFSET>,
GetCACertificate: GetCACertificate::<Identity, Impl, OFFSET>,
GetCertificate: GetCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertRequest as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertRequest2_Impl: Sized + ICertRequest_Impl {
fn GetIssuedCertificate(&self, strconfig: &::windows_core::BSTR, requestid: i32, strserialnumber: &::windows_core::BSTR) -> ::windows_core::Result<CR_DISP>;
fn GetErrorMessageText(&self, hrmessage: i32, flags: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCAProperty(&self, strconfig: &::windows_core::BSTR, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetCAPropertyFlags(&self, strconfig: &::windows_core::BSTR, propid: i32) -> ::windows_core::Result<i32>;
fn GetCAPropertyDisplayName(&self, strconfig: &::windows_core::BSTR, propid: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetFullResponseProperty(&self, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertRequest2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertRequest2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>() -> ICertRequest2_Vtbl {
unsafe extern "system" fn GetIssuedCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, requestid: i32, strserialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, pdisposition: *mut CR_DISP) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIssuedCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strserialnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetErrorMessageText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrmessage: i32, flags: i32, pstrerrormessagetext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetErrorMessageText(::core::mem::transmute_copy(&hrmessage), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrerrormessagetext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, propindex: i32, proptype: i32, flags: i32, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAPropertyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, ppropflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAPropertyFlags(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppropflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAPropertyDisplayName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, propid: i32, pstrdisplayname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAPropertyDisplayName(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrdisplayname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFullResponseProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFullResponseProperty(::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
GetIssuedCertificate: GetIssuedCertificate::<Identity, Impl, OFFSET>,
GetErrorMessageText: GetErrorMessageText::<Identity, Impl, OFFSET>,
GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
GetCAPropertyFlags: GetCAPropertyFlags::<Identity, Impl, OFFSET>,
GetCAPropertyDisplayName: GetCAPropertyDisplayName::<Identity, Impl, OFFSET>,
GetFullResponseProperty: GetFullResponseProperty::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertRequest2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertRequest3_Impl: Sized + ICertRequest2_Impl {
fn SetCredential(&self, hwnd: i32, authtype: X509EnrollmentAuthFlags, strcredential: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetRequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetIssuedCertificate2(&self, strconfig: &::windows_core::BSTR, strrequestid: &::windows_core::BSTR, strserialnumber: &::windows_core::BSTR) -> ::windows_core::Result<CR_DISP>;
fn GetRefreshPolicy(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertRequest3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertRequest3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>() -> ICertRequest3_Vtbl {
unsafe extern "system" fn SetCredential<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: i32, authtype: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCredential(::core::mem::transmute_copy(&hwnd), ::core::mem::transmute_copy(&authtype), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn GetRequestIdString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrrequestid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestIdString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrrequestid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIssuedCertificate2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>, strrequestid: ::std::mem::MaybeUninit<::windows_core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, pdisposition: *mut CR_DISP) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIssuedCertificate2(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strrequestid), ::core::mem::transmute(&strserialnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRefreshPolicy<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRefreshPolicy() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ICertRequest2_Vtbl::new::<Identity, Impl, OFFSET>(),
SetCredential: SetCredential::<Identity, Impl, OFFSET>,
GetRequestIdString: GetRequestIdString::<Identity, Impl, OFFSET>,
GetIssuedCertificate2: GetIssuedCertificate2::<Identity, Impl, OFFSET>,
GetRefreshPolicy: GetRefreshPolicy::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertRequest3 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertRequest as ::windows_core::ComInterface>::IID || iid == &<ICertRequest2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"implement\"`*"]
pub trait ICertRequestD_Impl: Sized {
fn Request(&self, dwflags: u32, pwszauthority: &::windows_core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: &::windows_core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbcertchain: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows_core::Result<()>;
fn GetCACert(&self, fchain: u32, pwszauthority: &::windows_core::PCWSTR) -> ::windows_core::Result<CERTTRANSBLOB>;
fn Ping(&self, pwszauthority: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ICertRequestD {}
impl ICertRequestD_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>() -> ICertRequestD_Vtbl {
unsafe extern "system" fn Request<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: u32, pwszauthority: ::windows_core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: ::windows_core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbcertchain: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Request(::core::mem::transmute_copy(&dwflags), ::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&pdwrequestid), ::core::mem::transmute_copy(&pdwdisposition), ::core::mem::transmute(&pwszattributes), ::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbcertchain), ::core::mem::transmute_copy(&pctbencodedcert), ::core::mem::transmute_copy(&pctbdispositionmessage)).into()
}
unsafe extern "system" fn GetCACert<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fchain: u32, pwszauthority: ::windows_core::PCWSTR, pctbout: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCACert(::core::mem::transmute_copy(&fchain), ::core::mem::transmute(&pwszauthority)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pctbout, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Ping<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Ping(::core::mem::transmute(&pwszauthority)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Request: Request::<Identity, Impl, OFFSET>,
GetCACert: GetCACert::<Identity, Impl, OFFSET>,
Ping: Ping::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertRequestD as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"implement\"`*"]
pub trait ICertRequestD2_Impl: Sized + ICertRequestD_Impl {
fn Request2(&self, pwszauthority: &::windows_core::PCWSTR, dwflags: u32, pwszserialnumber: &::windows_core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: &::windows_core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbfullresponse: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows_core::Result<()>;
fn GetCAProperty(&self, pwszauthority: &::windows_core::PCWSTR, propid: i32, propindex: i32, proptype: i32) -> ::windows_core::Result<CERTTRANSBLOB>;
fn GetCAPropertyInfo(&self, pwszauthority: &::windows_core::PCWSTR, pcproperty: *mut i32, pctbpropinfo: *mut CERTTRANSBLOB) -> ::windows_core::Result<()>;
fn Ping2(&self, pwszauthority: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ICertRequestD2 {}
impl ICertRequestD2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>() -> ICertRequestD2_Vtbl {
unsafe extern "system" fn Request2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows_core::PCWSTR, dwflags: u32, pwszserialnumber: ::windows_core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: ::windows_core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbfullresponse: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Request2(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute(&pwszserialnumber), ::core::mem::transmute_copy(&pdwrequestid), ::core::mem::transmute_copy(&pdwdisposition), ::core::mem::transmute(&pwszattributes), ::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbfullresponse), ::core::mem::transmute_copy(&pctbencodedcert), ::core::mem::transmute_copy(&pctbdispositionmessage)).into()
}
unsafe extern "system" fn GetCAProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows_core::PCWSTR, propid: i32, propindex: i32, proptype: i32, pctbpropertyvalue: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAProperty(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pctbpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAPropertyInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows_core::PCWSTR, pcproperty: *mut i32, pctbpropinfo: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCAPropertyInfo(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&pcproperty), ::core::mem::transmute_copy(&pctbpropinfo)).into()
}
unsafe extern "system" fn Ping2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Ping2(::core::mem::transmute(&pwszauthority)).into()
}
Self {
base__: ICertRequestD_Vtbl::new::<Identity, Impl, OFFSET>(),
Request2: Request2::<Identity, Impl, OFFSET>,
GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
GetCAPropertyInfo: GetCAPropertyInfo::<Identity, Impl, OFFSET>,
Ping2: Ping2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertRequestD2 as ::windows_core::ComInterface>::IID || iid == &<ICertRequestD as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertServerExit_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn SetContext(&self, context: i32) -> ::windows_core::Result<()>;
fn GetRequestProperty(&self, strpropertyname: &::windows_core::BSTR, propertytype: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetRequestAttribute(&self, strattributename: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCertificateProperty(&self, strpropertyname: &::windows_core::BSTR, propertytype: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetCertificateExtension(&self, strextensionname: &::windows_core::BSTR, r#type: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetCertificateExtensionFlags(&self) -> ::windows_core::Result<i32>;
fn EnumerateExtensionsSetup(&self, flags: i32) -> ::windows_core::Result<()>;
fn EnumerateExtensions(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn EnumerateExtensionsClose(&self) -> ::windows_core::Result<()>;
fn EnumerateAttributesSetup(&self, flags: i32) -> ::windows_core::Result<()>;
fn EnumerateAttributes(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn EnumerateAttributesClose(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertServerExit {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertServerExit_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>() -> ICertServerExit_Vtbl {
unsafe extern "system" fn SetContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContext(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn GetRequestProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRequestAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strattributename: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrattributevalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestAttribute(::core::mem::transmute(&strattributename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrattributevalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows_core::BSTR>, r#type: i32, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateExtensionFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateExtensionFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pextflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateExtensionsSetup<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateExtensionsSetup(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn EnumerateExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrextensionname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrextensionname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateExtensionsClose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateExtensionsClose().into()
}
unsafe extern "system" fn EnumerateAttributesSetup<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateAttributesSetup(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn EnumerateAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrattributename: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrattributename, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateAttributesClose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateAttributesClose().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
SetContext: SetContext::<Identity, Impl, OFFSET>,
GetRequestProperty: GetRequestProperty::<Identity, Impl, OFFSET>,
GetRequestAttribute: GetRequestAttribute::<Identity, Impl, OFFSET>,
GetCertificateProperty: GetCertificateProperty::<Identity, Impl, OFFSET>,
GetCertificateExtension: GetCertificateExtension::<Identity, Impl, OFFSET>,
GetCertificateExtensionFlags: GetCertificateExtensionFlags::<Identity, Impl, OFFSET>,
EnumerateExtensionsSetup: EnumerateExtensionsSetup::<Identity, Impl, OFFSET>,
EnumerateExtensions: EnumerateExtensions::<Identity, Impl, OFFSET>,
EnumerateExtensionsClose: EnumerateExtensionsClose::<Identity, Impl, OFFSET>,
EnumerateAttributesSetup: EnumerateAttributesSetup::<Identity, Impl, OFFSET>,
EnumerateAttributes: EnumerateAttributes::<Identity, Impl, OFFSET>,
EnumerateAttributesClose: EnumerateAttributesClose::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertServerExit as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertServerPolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn SetContext(&self, context: i32) -> ::windows_core::Result<()>;
fn GetRequestProperty(&self, strpropertyname: &::windows_core::BSTR, propertytype: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetRequestAttribute(&self, strattributename: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCertificateProperty(&self, strpropertyname: &::windows_core::BSTR, propertytype: CERT_PROPERTY_TYPE) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetCertificateProperty(&self, strpropertyname: &::windows_core::BSTR, propertytype: i32, pvarpropertyvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn GetCertificateExtension(&self, strextensionname: &::windows_core::BSTR, r#type: CERT_PROPERTY_TYPE) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetCertificateExtensionFlags(&self) -> ::windows_core::Result<i32>;
fn SetCertificateExtension(&self, strextensionname: &::windows_core::BSTR, r#type: i32, extflags: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn EnumerateExtensionsSetup(&self, flags: i32) -> ::windows_core::Result<()>;
fn EnumerateExtensions(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn EnumerateExtensionsClose(&self) -> ::windows_core::Result<()>;
fn EnumerateAttributesSetup(&self, flags: i32) -> ::windows_core::Result<()>;
fn EnumerateAttributes(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn EnumerateAttributesClose(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertServerPolicy {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertServerPolicy_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>() -> ICertServerPolicy_Vtbl {
unsafe extern "system" fn SetContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContext(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn GetRequestProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRequestAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strattributename: ::std::mem::MaybeUninit<::windows_core::BSTR>, pstrattributevalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestAttribute(::core::mem::transmute(&strattributename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrattributevalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, propertytype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCertificateProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows_core::BSTR>, propertytype: i32, pvarpropertyvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype), ::core::mem::transmute_copy(&pvarpropertyvalue)).into()
}
unsafe extern "system" fn GetCertificateExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows_core::BSTR>, r#type: CERT_PROPERTY_TYPE, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateExtensionFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateExtensionFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pextflags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCertificateExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows_core::BSTR>, r#type: i32, extflags: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&extflags), ::core::mem::transmute_copy(&pvarvalue)).into()
}
unsafe extern "system" fn EnumerateExtensionsSetup<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateExtensionsSetup(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn EnumerateExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrextensionname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrextensionname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateExtensionsClose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateExtensionsClose().into()
}
unsafe extern "system" fn EnumerateAttributesSetup<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateAttributesSetup(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn EnumerateAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrattributename: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrattributename, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateAttributesClose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumerateAttributesClose().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
SetContext: SetContext::<Identity, Impl, OFFSET>,
GetRequestProperty: GetRequestProperty::<Identity, Impl, OFFSET>,
GetRequestAttribute: GetRequestAttribute::<Identity, Impl, OFFSET>,
GetCertificateProperty: GetCertificateProperty::<Identity, Impl, OFFSET>,
SetCertificateProperty: SetCertificateProperty::<Identity, Impl, OFFSET>,
GetCertificateExtension: GetCertificateExtension::<Identity, Impl, OFFSET>,
GetCertificateExtensionFlags: GetCertificateExtensionFlags::<Identity, Impl, OFFSET>,
SetCertificateExtension: SetCertificateExtension::<Identity, Impl, OFFSET>,
EnumerateExtensionsSetup: EnumerateExtensionsSetup::<Identity, Impl, OFFSET>,
EnumerateExtensions: EnumerateExtensions::<Identity, Impl, OFFSET>,
EnumerateExtensionsClose: EnumerateExtensionsClose::<Identity, Impl, OFFSET>,
EnumerateAttributesSetup: EnumerateAttributesSetup::<Identity, Impl, OFFSET>,
EnumerateAttributes: EnumerateAttributes::<Identity, Impl, OFFSET>,
EnumerateAttributesClose: EnumerateAttributesClose::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertServerPolicy as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertView_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn OpenConnection(&self, strconfig: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn EnumCertViewColumn(&self, fresultcolumn: CVRC_COLUMN) -> ::windows_core::Result<IEnumCERTVIEWCOLUMN>;
fn GetColumnCount(&self, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows_core::Result<()>;
fn GetColumnIndex(&self, fresultcolumn: CVRC_COLUMN, strcolumnname: &::windows_core::BSTR, pcolumnindex: *mut i32) -> ::windows_core::Result<()>;
fn SetResultColumnCount(&self, cresultcolumn: i32) -> ::windows_core::Result<()>;
fn SetResultColumn(&self, columnindex: i32) -> ::windows_core::Result<()>;
fn SetRestriction(&self, columnindex: CERT_VIEW_COLUMN_INDEX, seekoperator: CERT_VIEW_SEEK_OPERATOR_FLAGS, sortorder: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn OpenView(&self) -> ::windows_core::Result<IEnumCERTVIEWROW>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertView {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertView_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>() -> ICertView_Vtbl {
unsafe extern "system" fn OpenConnection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenConnection(::core::mem::transmute(&strconfig)).into()
}
unsafe extern "system" fn EnumCertViewColumn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCertViewColumn(::core::mem::transmute_copy(&fresultcolumn)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetColumnCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetColumnCount(::core::mem::transmute_copy(&fresultcolumn), ::core::mem::transmute_copy(&pccolumn)).into()
}
unsafe extern "system" fn GetColumnIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, strcolumnname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pcolumnindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetColumnIndex(::core::mem::transmute_copy(&fresultcolumn), ::core::mem::transmute(&strcolumnname), ::core::mem::transmute_copy(&pcolumnindex)).into()
}
unsafe extern "system" fn SetResultColumnCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cresultcolumn: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetResultColumnCount(::core::mem::transmute_copy(&cresultcolumn)).into()
}
unsafe extern "system" fn SetResultColumn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columnindex: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetResultColumn(::core::mem::transmute_copy(&columnindex)).into()
}
unsafe extern "system" fn SetRestriction<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columnindex: CERT_VIEW_COLUMN_INDEX, seekoperator: CERT_VIEW_SEEK_OPERATOR_FLAGS, sortorder: i32, pvarvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRestriction(::core::mem::transmute_copy(&columnindex), ::core::mem::transmute_copy(&seekoperator), ::core::mem::transmute_copy(&sortorder), ::core::mem::transmute_copy(&pvarvalue)).into()
}
unsafe extern "system" fn OpenView<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OpenView() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
OpenConnection: OpenConnection::<Identity, Impl, OFFSET>,
EnumCertViewColumn: EnumCertViewColumn::<Identity, Impl, OFFSET>,
GetColumnCount: GetColumnCount::<Identity, Impl, OFFSET>,
GetColumnIndex: GetColumnIndex::<Identity, Impl, OFFSET>,
SetResultColumnCount: SetResultColumnCount::<Identity, Impl, OFFSET>,
SetResultColumn: SetResultColumn::<Identity, Impl, OFFSET>,
SetRestriction: SetRestriction::<Identity, Impl, OFFSET>,
OpenView: OpenView::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertView as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertView2_Impl: Sized + ICertView_Impl {
fn SetTable(&self, table: CVRC_TABLE) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertView2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertView2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView2_Impl, const OFFSET: isize>() -> ICertView2_Vtbl {
unsafe extern "system" fn SetTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertView2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, table: CVRC_TABLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTable(::core::mem::transmute_copy(&table)).into()
}
Self { base__: ICertView_Vtbl::new::<Identity, Impl, OFFSET>(), SetTable: SetTable::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertView2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertView as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificateAttestationChallenge_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, encoding: EncodingType, strpendingfullcmcresponsewithchallenge: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn DecryptChallenge(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn RequestID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificateAttestationChallenge {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificateAttestationChallenge_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>() -> ICertificateAttestationChallenge_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strpendingfullcmcresponsewithchallenge: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpendingfullcmcresponsewithchallenge)).into()
}
unsafe extern "system" fn DecryptChallenge<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrenvelopedpkcs7reencryptedtoca: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DecryptChallenge(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrenvelopedpkcs7reencryptedtoca, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RequestID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrrequestid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrrequestid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
DecryptChallenge: DecryptChallenge::<Identity, Impl, OFFSET>,
RequestID: RequestID::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificateAttestationChallenge as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificateAttestationChallenge2_Impl: Sized + ICertificateAttestationChallenge_Impl {
fn SetKeyContainerName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn put_KeyBlob(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificateAttestationChallenge2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificateAttestationChallenge2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>() -> ICertificateAttestationChallenge2_Vtbl {
unsafe extern "system" fn SetKeyContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyContainerName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn put_KeyBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_KeyBlob(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
Self {
base__: ICertificateAttestationChallenge_Vtbl::new::<Identity, Impl, OFFSET>(),
SetKeyContainerName: SetKeyContainerName::<Identity, Impl, OFFSET>,
put_KeyBlob: put_KeyBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificateAttestationChallenge2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<ICertificateAttestationChallenge as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificatePolicies_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICertificatePolicy>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICertificatePolicy>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificatePolicies {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificatePolicies_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>() -> ICertificatePolicies_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificatePolicies as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificatePolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn PolicyQualifiers(&self) -> ::windows_core::Result<IPolicyQualifiers>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificatePolicy {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificatePolicy_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>() -> ICertificatePolicy_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PolicyQualifiers<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyQualifiers() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
PolicyQualifiers: PolicyQualifiers::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificatePolicy as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificationAuthorities_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICertificationAuthority>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICertificationAuthority>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn ComputeSiteCosts(&self) -> ::windows_core::Result<()>;
fn get_ItemByName(&self, strname: &::windows_core::BSTR) -> ::windows_core::Result<ICertificationAuthority>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificationAuthorities {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificationAuthorities_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>() -> ICertificationAuthorities_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn ComputeSiteCosts<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ComputeSiteCosts().into()
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&strname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
ComputeSiteCosts: ComputeSiteCosts::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificationAuthorities as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICertificationAuthority_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_Property(&self, property: EnrollmentCAProperty) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICertificationAuthority {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICertificationAuthority_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthority_Impl, const OFFSET: isize>() -> ICertificationAuthority_Vtbl {
unsafe extern "system" fn get_Property<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthority_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentCAProperty, pvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Property(::core::mem::transmute_copy(&property)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), get_Property: get_Property::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICertificationAuthority as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICryptAttribute_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeFromObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn InitializeFromValues(&self, pattributes: ::core::option::Option<&IX509Attributes>) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn Values(&self) -> ::windows_core::Result<IX509Attributes>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICryptAttribute {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICryptAttribute_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>() -> ICryptAttribute_Vtbl {
unsafe extern "system" fn InitializeFromObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromObjectId(::windows_core::from_raw_borrowed(&pobjectid)).into()
}
unsafe extern "system" fn InitializeFromValues<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattributes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromValues(::windows_core::from_raw_borrowed(&pattributes)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Values<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Values() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromObjectId: InitializeFromObjectId::<Identity, Impl, OFFSET>,
InitializeFromValues: InitializeFromValues::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
Values: Values::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICryptAttribute as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICryptAttributes_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICryptAttribute>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICryptAttribute>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<i32>;
fn AddRange(&self, pvalue: ::core::option::Option<&ICryptAttributes>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICryptAttributes {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICryptAttributes_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>() -> ICryptAttributes_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_IndexByObjectId(::windows_core::from_raw_borrowed(&pobjectid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddRange(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
AddRange: AddRange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICryptAttributes as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspAlgorithm_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn GetAlgorithmOid(&self, length: i32, algflags: AlgorithmFlags) -> ::windows_core::Result<IObjectId>;
fn DefaultLength(&self) -> ::windows_core::Result<i32>;
fn IncrementLength(&self) -> ::windows_core::Result<i32>;
fn LongName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Valid(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn MaxLength(&self) -> ::windows_core::Result<i32>;
fn MinLength(&self) -> ::windows_core::Result<i32>;
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Type(&self) -> ::windows_core::Result<AlgorithmType>;
fn Operations(&self) -> ::windows_core::Result<AlgorithmOperationFlags>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspAlgorithm {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspAlgorithm_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>() -> ICspAlgorithm_Vtbl {
unsafe extern "system" fn GetAlgorithmOid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, length: i32, algflags: AlgorithmFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAlgorithmOid(::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&algflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IncrementLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IncrementLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LongName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LongName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Valid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Valid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MaxLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MinLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlgorithmType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Operations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlgorithmOperationFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Operations() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
GetAlgorithmOid: GetAlgorithmOid::<Identity, Impl, OFFSET>,
DefaultLength: DefaultLength::<Identity, Impl, OFFSET>,
IncrementLength: IncrementLength::<Identity, Impl, OFFSET>,
LongName: LongName::<Identity, Impl, OFFSET>,
Valid: Valid::<Identity, Impl, OFFSET>,
MaxLength: MaxLength::<Identity, Impl, OFFSET>,
MinLength: MinLength::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
Operations: Operations::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspAlgorithm as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspAlgorithms_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICspAlgorithm>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICspAlgorithm>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_ItemByName(&self, strname: &::windows_core::BSTR) -> ::windows_core::Result<ICspAlgorithm>;
fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspAlgorithms {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspAlgorithms_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>() -> ICspAlgorithms_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&strname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_IndexByObjectId(::windows_core::from_raw_borrowed(&pobjectid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspAlgorithms as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspInformation_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeFromName(&self, strname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromType(&self, r#type: X509ProviderType, palgorithm: ::core::option::Option<&IObjectId>, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn CspAlgorithms(&self) -> ::windows_core::Result<ICspAlgorithms>;
fn HasHardwareRandomNumberGenerator(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn IsHardwareDevice(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn IsRemovable(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn IsSoftwareDevice(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn Valid(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn MaxKeyContainerNameLength(&self) -> ::windows_core::Result<i32>;
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Type(&self) -> ::windows_core::Result<X509ProviderType>;
fn Version(&self) -> ::windows_core::Result<i32>;
fn KeySpec(&self) -> ::windows_core::Result<X509KeySpec>;
fn IsSmartCard(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetDefaultSecurityDescriptor(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<::windows_core::BSTR>;
fn LegacyCsp(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetCspStatusFromOperations(&self, palgorithm: ::core::option::Option<&IObjectId>, operations: AlgorithmOperationFlags) -> ::windows_core::Result<ICspStatus>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspInformation {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspInformation_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>() -> ICspInformation_Vtbl {
unsafe extern "system" fn InitializeFromName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromName(::core::mem::transmute(&strname)).into()
}
unsafe extern "system" fn InitializeFromType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: X509ProviderType, palgorithm: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromType(::core::mem::transmute_copy(&r#type), ::windows_core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&machinecontext)).into()
}
unsafe extern "system" fn CspAlgorithms<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspAlgorithms() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HasHardwareRandomNumberGenerator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HasHardwareRandomNumberGenerator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsHardwareDevice<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsHardwareDevice() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsRemovable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsRemovable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsSoftwareDevice<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSoftwareDevice() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Valid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Valid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MaxKeyContainerNameLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxKeyContainerNameLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509ProviderType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Version<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Version() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsSmartCard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSmartCard() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultSecurityDescriptor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultSecurityDescriptor(::core::mem::transmute_copy(&machinecontext)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LegacyCsp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LegacyCsp() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCspStatusFromOperations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, palgorithm: *mut ::core::ffi::c_void, operations: AlgorithmOperationFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCspStatusFromOperations(::windows_core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&operations)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromName: InitializeFromName::<Identity, Impl, OFFSET>,
InitializeFromType: InitializeFromType::<Identity, Impl, OFFSET>,
CspAlgorithms: CspAlgorithms::<Identity, Impl, OFFSET>,
HasHardwareRandomNumberGenerator: HasHardwareRandomNumberGenerator::<Identity, Impl, OFFSET>,
IsHardwareDevice: IsHardwareDevice::<Identity, Impl, OFFSET>,
IsRemovable: IsRemovable::<Identity, Impl, OFFSET>,
IsSoftwareDevice: IsSoftwareDevice::<Identity, Impl, OFFSET>,
Valid: Valid::<Identity, Impl, OFFSET>,
MaxKeyContainerNameLength: MaxKeyContainerNameLength::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
Version: Version::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
IsSmartCard: IsSmartCard::<Identity, Impl, OFFSET>,
GetDefaultSecurityDescriptor: GetDefaultSecurityDescriptor::<Identity, Impl, OFFSET>,
LegacyCsp: LegacyCsp::<Identity, Impl, OFFSET>,
GetCspStatusFromOperations: GetCspStatusFromOperations::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspInformation as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspInformations_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICspInformation>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICspInformation>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn AddAvailableCsps(&self) -> ::windows_core::Result<()>;
fn get_ItemByName(&self, strname: &::windows_core::BSTR) -> ::windows_core::Result<ICspInformation>;
fn GetCspStatusFromProviderName(&self, strprovidername: &::windows_core::BSTR, legacykeyspec: X509KeySpec) -> ::windows_core::Result<ICspStatus>;
fn GetCspStatusesFromOperations(&self, operations: AlgorithmOperationFlags, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows_core::Result<ICspStatuses>;
fn GetEncryptionCspAlgorithms(&self, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows_core::Result<ICspAlgorithms>;
fn GetHashAlgorithms(&self, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows_core::Result<IObjectIds>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspInformations {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspInformations_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>() -> ICspInformations_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn AddAvailableCsps<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAvailableCsps().into()
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppcspinformation: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&strname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcspinformation, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCspStatusFromProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprovidername: ::std::mem::MaybeUninit<::windows_core::BSTR>, legacykeyspec: X509KeySpec, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCspStatusFromProviderName(::core::mem::transmute(&strprovidername), ::core::mem::transmute_copy(&legacykeyspec)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCspStatusesFromOperations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, operations: AlgorithmOperationFlags, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCspStatusesFromOperations(::core::mem::transmute_copy(&operations), ::windows_core::from_raw_borrowed(&pcspinformation)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEncryptionCspAlgorithms<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEncryptionCspAlgorithms(::windows_core::from_raw_borrowed(&pcspinformation)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHashAlgorithms<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHashAlgorithms(::windows_core::from_raw_borrowed(&pcspinformation)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
AddAvailableCsps: AddAvailableCsps::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
GetCspStatusFromProviderName: GetCspStatusFromProviderName::<Identity, Impl, OFFSET>,
GetCspStatusesFromOperations: GetCspStatusesFromOperations::<Identity, Impl, OFFSET>,
GetEncryptionCspAlgorithms: GetEncryptionCspAlgorithms::<Identity, Impl, OFFSET>,
GetHashAlgorithms: GetHashAlgorithms::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspInformations as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspStatus_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pcsp: ::core::option::Option<&ICspInformation>, palgorithm: ::core::option::Option<&ICspAlgorithm>) -> ::windows_core::Result<()>;
fn Ordinal(&self) -> ::windows_core::Result<i32>;
fn SetOrdinal(&self, value: i32) -> ::windows_core::Result<()>;
fn CspAlgorithm(&self) -> ::windows_core::Result<ICspAlgorithm>;
fn CspInformation(&self) -> ::windows_core::Result<ICspInformation>;
fn EnrollmentStatus(&self) -> ::windows_core::Result<IX509EnrollmentStatus>;
fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspStatus {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspStatus_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>() -> ICspStatus_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcsp: *mut ::core::ffi::c_void, palgorithm: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pcsp), ::windows_core::from_raw_borrowed(&palgorithm)).into()
}
unsafe extern "system" fn Ordinal<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Ordinal() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOrdinal<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOrdinal(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn CspAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CspInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnrollmentStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnrollmentStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisplayName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DisplayName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Ordinal: Ordinal::<Identity, Impl, OFFSET>,
SetOrdinal: SetOrdinal::<Identity, Impl, OFFSET>,
CspAlgorithm: CspAlgorithm::<Identity, Impl, OFFSET>,
CspInformation: CspInformation::<Identity, Impl, OFFSET>,
EnrollmentStatus: EnrollmentStatus::<Identity, Impl, OFFSET>,
DisplayName: DisplayName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspStatus as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ICspStatuses_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ICspStatus>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ICspStatus>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_ItemByName(&self, strcspname: &::windows_core::BSTR, stralgorithmname: &::windows_core::BSTR) -> ::windows_core::Result<ICspStatus>;
fn get_ItemByOrdinal(&self, ordinal: i32) -> ::windows_core::Result<ICspStatus>;
fn get_ItemByOperations(&self, strcspname: &::windows_core::BSTR, stralgorithmname: &::windows_core::BSTR, operations: AlgorithmOperationFlags) -> ::windows_core::Result<ICspStatus>;
fn get_ItemByProvider(&self, pcspstatus: ::core::option::Option<&ICspStatus>) -> ::windows_core::Result<ICspStatus>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ICspStatuses {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ICspStatuses_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>() -> ICspStatuses_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strcspname: ::std::mem::MaybeUninit<::windows_core::BSTR>, stralgorithmname: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&strcspname), ::core::mem::transmute(&stralgorithmname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByOrdinal<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ordinal: i32, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByOrdinal(::core::mem::transmute_copy(&ordinal)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByOperations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strcspname: ::std::mem::MaybeUninit<::windows_core::BSTR>, stralgorithmname: ::std::mem::MaybeUninit<::windows_core::BSTR>, operations: AlgorithmOperationFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByOperations(::core::mem::transmute(&strcspname), ::core::mem::transmute(&stralgorithmname), ::core::mem::transmute_copy(&operations)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByProvider<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspstatus: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByProvider(::windows_core::from_raw_borrowed(&pcspstatus)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
get_ItemByOrdinal: get_ItemByOrdinal::<Identity, Impl, OFFSET>,
get_ItemByOperations: get_ItemByOperations::<Identity, Impl, OFFSET>,
get_ItemByProvider: get_ItemByProvider::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ICspStatuses as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IEnroll_Impl: Sized {
fn createFilePKCS10WStr(&self, dnname: &::windows_core::PCWSTR, usage: &::windows_core::PCWSTR, wszpkcs10filename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn acceptFilePKCS7WStr(&self, wszpkcs7filename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn createPKCS10WStr(&self, dnname: &::windows_core::PCWSTR, usage: &::windows_core::PCWSTR, ppkcs10blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn acceptPKCS7Blob(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn getCertContextFromPKCS7(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> *mut super::CERT_CONTEXT;
fn getMyStore(&self) -> super::HCERTSTORE;
fn getCAStore(&self) -> super::HCERTSTORE;
fn getROOTHStore(&self) -> super::HCERTSTORE;
fn enumProvidersWStr(&self, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn enumContainersWStr(&self, dwindex: i32, pbstr: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn freeRequestInfoBlob(&self, pkcs7orpkcs10: &super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn MyStoreNameWStr(&self, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetMyStoreNameWStr(&self, szwname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn MyStoreTypeWStr(&self, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetMyStoreTypeWStr(&self, szwtype: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn MyStoreFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn CAStoreNameWStr(&self, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetCAStoreNameWStr(&self, szwname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn CAStoreTypeWStr(&self, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetCAStoreTypeWStr(&self, szwtype: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn CAStoreFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn RootStoreNameWStr(&self, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetRootStoreNameWStr(&self, szwname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn RootStoreTypeWStr(&self, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetRootStoreTypeWStr(&self, szwtype: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn RootStoreFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn RequestStoreNameWStr(&self, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetRequestStoreNameWStr(&self, szwname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn RequestStoreTypeWStr(&self, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetRequestStoreTypeWStr(&self, szwtype: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn RequestStoreFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn ContainerNameWStr(&self, szwcontainer: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetContainerNameWStr(&self, szwcontainer: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn ProviderNameWStr(&self, szwprovider: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetProviderNameWStr(&self, szwprovider: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn ProviderType(&self, pdwtype: *mut i32) -> ::windows_core::Result<()>;
fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()>;
fn KeySpec(&self, pdw: *mut i32) -> ::windows_core::Result<()>;
fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()>;
fn ProviderFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn UseExistingKeySet(&self, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetUseExistingKeySet(&self, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn GenKeyFlags(&self, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()>;
fn DeleteRequestCert(&self, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetDeleteRequestCert(&self, fdelete: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn WriteCertToUserDS(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetWriteCertToUserDS(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn EnableT61DNEncoding(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetEnableT61DNEncoding(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn WriteCertToCSP(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetWriteCertToCSP(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SPCFileNameWStr(&self, szw: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetSPCFileNameWStr(&self, szw: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn PVKFileNameWStr(&self, szw: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetPVKFileNameWStr(&self, szw: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn HashAlgorithmWStr(&self, szw: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetHashAlgorithmWStr(&self, szw: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn RenewalCertificate(&self, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn SetRenewalCertificate(&self, pcertcontext: *const super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn AddCertTypeToRequestWStr(&self, szw: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn AddNameValuePairToSignatureWStr(&self, name: &::windows_core::PCWSTR, value: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn AddExtensionsToRequest(&self, pcertextensions: *mut super::CERT_EXTENSIONS) -> ::windows_core::Result<()>;
fn AddAuthenticatedAttributesToPKCS7Request(&self, pattributes: *mut super::CRYPT_ATTRIBUTES) -> ::windows_core::Result<()>;
fn CreatePKCS7RequestFromRequest(&self, prequest: *mut super::CRYPT_INTEGER_BLOB, psigningcertcontext: *const super::CERT_CONTEXT, ppkcs7blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IEnroll {}
#[cfg(feature = "Win32_Foundation")]
impl IEnroll_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>() -> IEnroll_Vtbl {
unsafe extern "system" fn createFilePKCS10WStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::windows_core::PCWSTR, usage: ::windows_core::PCWSTR, wszpkcs10filename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFilePKCS10WStr(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute(&wszpkcs10filename)).into()
}
unsafe extern "system" fn acceptFilePKCS7WStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7filename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptFilePKCS7WStr(::core::mem::transmute(&wszpkcs7filename)).into()
}
unsafe extern "system" fn createPKCS10WStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::windows_core::PCWSTR, usage: ::windows_core::PCWSTR, ppkcs10blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createPKCS10WStr(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute_copy(&ppkcs10blob)).into()
}
unsafe extern "system" fn acceptPKCS7Blob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptPKCS7Blob(::core::mem::transmute_copy(&pblobpkcs7)).into()
}
unsafe extern "system" fn getCertContextFromPKCS7<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> *mut super::CERT_CONTEXT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getCertContextFromPKCS7(::core::mem::transmute_copy(&pblobpkcs7))
}
unsafe extern "system" fn getMyStore<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getMyStore()
}
unsafe extern "system" fn getCAStore<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getCAStore()
}
unsafe extern "system" fn getROOTHStore<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getROOTHStore()
}
unsafe extern "system" fn enumProvidersWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.enumProvidersWStr(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pbstrprovname)).into()
}
unsafe extern "system" fn enumContainersWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, pbstr: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.enumContainersWStr(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&pbstr)).into()
}
unsafe extern "system" fn freeRequestInfoBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7orpkcs10: super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.freeRequestInfoBlob(::core::mem::transmute(&pkcs7orpkcs10)).into()
}
unsafe extern "system" fn MyStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MyStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
}
unsafe extern "system" fn SetMyStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreNameWStr(::core::mem::transmute(&szwname)).into()
}
unsafe extern "system" fn MyStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MyStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
}
unsafe extern "system" fn SetMyStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
}
unsafe extern "system" fn MyStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MyStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetMyStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMyStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn CAStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CAStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
}
unsafe extern "system" fn SetCAStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreNameWStr(::core::mem::transmute(&szwname)).into()
}
unsafe extern "system" fn CAStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CAStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
}
unsafe extern "system" fn SetCAStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
}
unsafe extern "system" fn CAStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CAStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetCAStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RootStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RootStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
}
unsafe extern "system" fn SetRootStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreNameWStr(::core::mem::transmute(&szwname)).into()
}
unsafe extern "system" fn RootStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RootStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
}
unsafe extern "system" fn SetRootStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
}
unsafe extern "system" fn RootStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RootStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetRootStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRootStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RequestStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RequestStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
}
unsafe extern "system" fn SetRequestStoreNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreNameWStr(::core::mem::transmute(&szwname)).into()
}
unsafe extern "system" fn RequestStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RequestStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
}
unsafe extern "system" fn SetRequestStoreTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
}
unsafe extern "system" fn RequestStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RequestStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetRequestStoreFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequestStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn ContainerNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwcontainer: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ContainerNameWStr(::core::mem::transmute_copy(&szwcontainer)).into()
}
unsafe extern "system" fn SetContainerNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwcontainer: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContainerNameWStr(::core::mem::transmute(&szwcontainer)).into()
}
unsafe extern "system" fn ProviderNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwprovider: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ProviderNameWStr(::core::mem::transmute_copy(&szwprovider)).into()
}
unsafe extern "system" fn SetProviderNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwprovider: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderNameWStr(::core::mem::transmute(&szwprovider)).into()
}
unsafe extern "system" fn ProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwtype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ProviderType(::core::mem::transmute_copy(&pdwtype)).into()
}
unsafe extern "system" fn SetProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtype: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderType(::core::mem::transmute_copy(&dwtype)).into()
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdw: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.KeySpec(::core::mem::transmute_copy(&pdw)).into()
}
unsafe extern "system" fn SetKeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dw: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeySpec(::core::mem::transmute_copy(&dw)).into()
}
unsafe extern "system" fn ProviderFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ProviderFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetProviderFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn UseExistingKeySet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
}
unsafe extern "system" fn SetUseExistingKeySet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
}
unsafe extern "system" fn GenKeyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GenKeyFlags(::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetGenKeyFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetGenKeyFlags(::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn DeleteRequestCert<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
}
unsafe extern "system" fn SetDeleteRequestCert<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
}
unsafe extern "system" fn WriteCertToUserDS<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn SetWriteCertToUserDS<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn EnableT61DNEncoding<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn SetEnableT61DNEncoding<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn WriteCertToCSP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn SetWriteCertToCSP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
}
unsafe extern "system" fn SPCFileNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SPCFileNameWStr(::core::mem::transmute_copy(&szw)).into()
}
unsafe extern "system" fn SetSPCFileNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSPCFileNameWStr(::core::mem::transmute(&szw)).into()
}
unsafe extern "system" fn PVKFileNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PVKFileNameWStr(::core::mem::transmute_copy(&szw)).into()
}
unsafe extern "system" fn SetPVKFileNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPVKFileNameWStr(::core::mem::transmute(&szw)).into()
}
unsafe extern "system" fn HashAlgorithmWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.HashAlgorithmWStr(::core::mem::transmute_copy(&szw)).into()
}
unsafe extern "system" fn SetHashAlgorithmWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithmWStr(::core::mem::transmute(&szw)).into()
}
unsafe extern "system" fn RenewalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RenewalCertificate(::core::mem::transmute_copy(&ppcertcontext)).into()
}
unsafe extern "system" fn SetRenewalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertcontext: *const super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRenewalCertificate(::core::mem::transmute_copy(&pcertcontext)).into()
}
unsafe extern "system" fn AddCertTypeToRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddCertTypeToRequestWStr(::core::mem::transmute(&szw)).into()
}
unsafe extern "system" fn AddNameValuePairToSignatureWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows_core::PCWSTR, value: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddNameValuePairToSignatureWStr(::core::mem::transmute(&name), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn AddExtensionsToRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertextensions: *mut super::CERT_EXTENSIONS) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddExtensionsToRequest(::core::mem::transmute_copy(&pcertextensions)).into()
}
unsafe extern "system" fn AddAuthenticatedAttributesToPKCS7Request<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattributes: *mut super::CRYPT_ATTRIBUTES) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAuthenticatedAttributesToPKCS7Request(::core::mem::transmute_copy(&pattributes)).into()
}
unsafe extern "system" fn CreatePKCS7RequestFromRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut super::CRYPT_INTEGER_BLOB, psigningcertcontext: *const super::CERT_CONTEXT, ppkcs7blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreatePKCS7RequestFromRequest(::core::mem::transmute_copy(&prequest), ::core::mem::transmute_copy(&psigningcertcontext), ::core::mem::transmute_copy(&ppkcs7blob)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
createFilePKCS10WStr: createFilePKCS10WStr::<Identity, Impl, OFFSET>,
acceptFilePKCS7WStr: acceptFilePKCS7WStr::<Identity, Impl, OFFSET>,
createPKCS10WStr: createPKCS10WStr::<Identity, Impl, OFFSET>,
acceptPKCS7Blob: acceptPKCS7Blob::<Identity, Impl, OFFSET>,
getCertContextFromPKCS7: getCertContextFromPKCS7::<Identity, Impl, OFFSET>,
getMyStore: getMyStore::<Identity, Impl, OFFSET>,
getCAStore: getCAStore::<Identity, Impl, OFFSET>,
getROOTHStore: getROOTHStore::<Identity, Impl, OFFSET>,
enumProvidersWStr: enumProvidersWStr::<Identity, Impl, OFFSET>,
enumContainersWStr: enumContainersWStr::<Identity, Impl, OFFSET>,
freeRequestInfoBlob: freeRequestInfoBlob::<Identity, Impl, OFFSET>,
MyStoreNameWStr: MyStoreNameWStr::<Identity, Impl, OFFSET>,
SetMyStoreNameWStr: SetMyStoreNameWStr::<Identity, Impl, OFFSET>,
MyStoreTypeWStr: MyStoreTypeWStr::<Identity, Impl, OFFSET>,
SetMyStoreTypeWStr: SetMyStoreTypeWStr::<Identity, Impl, OFFSET>,
MyStoreFlags: MyStoreFlags::<Identity, Impl, OFFSET>,
SetMyStoreFlags: SetMyStoreFlags::<Identity, Impl, OFFSET>,
CAStoreNameWStr: CAStoreNameWStr::<Identity, Impl, OFFSET>,
SetCAStoreNameWStr: SetCAStoreNameWStr::<Identity, Impl, OFFSET>,
CAStoreTypeWStr: CAStoreTypeWStr::<Identity, Impl, OFFSET>,
SetCAStoreTypeWStr: SetCAStoreTypeWStr::<Identity, Impl, OFFSET>,
CAStoreFlags: CAStoreFlags::<Identity, Impl, OFFSET>,
SetCAStoreFlags: SetCAStoreFlags::<Identity, Impl, OFFSET>,
RootStoreNameWStr: RootStoreNameWStr::<Identity, Impl, OFFSET>,
SetRootStoreNameWStr: SetRootStoreNameWStr::<Identity, Impl, OFFSET>,
RootStoreTypeWStr: RootStoreTypeWStr::<Identity, Impl, OFFSET>,
SetRootStoreTypeWStr: SetRootStoreTypeWStr::<Identity, Impl, OFFSET>,
RootStoreFlags: RootStoreFlags::<Identity, Impl, OFFSET>,
SetRootStoreFlags: SetRootStoreFlags::<Identity, Impl, OFFSET>,
RequestStoreNameWStr: RequestStoreNameWStr::<Identity, Impl, OFFSET>,
SetRequestStoreNameWStr: SetRequestStoreNameWStr::<Identity, Impl, OFFSET>,
RequestStoreTypeWStr: RequestStoreTypeWStr::<Identity, Impl, OFFSET>,
SetRequestStoreTypeWStr: SetRequestStoreTypeWStr::<Identity, Impl, OFFSET>,
RequestStoreFlags: RequestStoreFlags::<Identity, Impl, OFFSET>,
SetRequestStoreFlags: SetRequestStoreFlags::<Identity, Impl, OFFSET>,
ContainerNameWStr: ContainerNameWStr::<Identity, Impl, OFFSET>,
SetContainerNameWStr: SetContainerNameWStr::<Identity, Impl, OFFSET>,
ProviderNameWStr: ProviderNameWStr::<Identity, Impl, OFFSET>,
SetProviderNameWStr: SetProviderNameWStr::<Identity, Impl, OFFSET>,
ProviderType: ProviderType::<Identity, Impl, OFFSET>,
SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
ProviderFlags: ProviderFlags::<Identity, Impl, OFFSET>,
SetProviderFlags: SetProviderFlags::<Identity, Impl, OFFSET>,
UseExistingKeySet: UseExistingKeySet::<Identity, Impl, OFFSET>,
SetUseExistingKeySet: SetUseExistingKeySet::<Identity, Impl, OFFSET>,
GenKeyFlags: GenKeyFlags::<Identity, Impl, OFFSET>,
SetGenKeyFlags: SetGenKeyFlags::<Identity, Impl, OFFSET>,
DeleteRequestCert: DeleteRequestCert::<Identity, Impl, OFFSET>,
SetDeleteRequestCert: SetDeleteRequestCert::<Identity, Impl, OFFSET>,
WriteCertToUserDS: WriteCertToUserDS::<Identity, Impl, OFFSET>,
SetWriteCertToUserDS: SetWriteCertToUserDS::<Identity, Impl, OFFSET>,
EnableT61DNEncoding: EnableT61DNEncoding::<Identity, Impl, OFFSET>,
SetEnableT61DNEncoding: SetEnableT61DNEncoding::<Identity, Impl, OFFSET>,
WriteCertToCSP: WriteCertToCSP::<Identity, Impl, OFFSET>,
SetWriteCertToCSP: SetWriteCertToCSP::<Identity, Impl, OFFSET>,
SPCFileNameWStr: SPCFileNameWStr::<Identity, Impl, OFFSET>,
SetSPCFileNameWStr: SetSPCFileNameWStr::<Identity, Impl, OFFSET>,
PVKFileNameWStr: PVKFileNameWStr::<Identity, Impl, OFFSET>,
SetPVKFileNameWStr: SetPVKFileNameWStr::<Identity, Impl, OFFSET>,
HashAlgorithmWStr: HashAlgorithmWStr::<Identity, Impl, OFFSET>,
SetHashAlgorithmWStr: SetHashAlgorithmWStr::<Identity, Impl, OFFSET>,
RenewalCertificate: RenewalCertificate::<Identity, Impl, OFFSET>,
SetRenewalCertificate: SetRenewalCertificate::<Identity, Impl, OFFSET>,
AddCertTypeToRequestWStr: AddCertTypeToRequestWStr::<Identity, Impl, OFFSET>,
AddNameValuePairToSignatureWStr: AddNameValuePairToSignatureWStr::<Identity, Impl, OFFSET>,
AddExtensionsToRequest: AddExtensionsToRequest::<Identity, Impl, OFFSET>,
AddAuthenticatedAttributesToPKCS7Request: AddAuthenticatedAttributesToPKCS7Request::<Identity, Impl, OFFSET>,
CreatePKCS7RequestFromRequest: CreatePKCS7RequestFromRequest::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnroll as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IEnroll2_Impl: Sized + IEnroll_Impl {
fn InstallPKCS7Blob(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn GetSupportedKeySpec(&self, pdwkeyspec: *mut i32) -> ::windows_core::Result<()>;
fn GetKeyLen(&self, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows_core::Result<()>;
fn EnumAlgs(&self, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows_core::Result<()>;
fn GetAlgNameWStr(&self, algid: i32, ppwsz: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn ReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetHashAlgID(&self, hashalgid: i32) -> ::windows_core::Result<()>;
fn HashAlgID(&self, hashalgid: *mut i32) -> ::windows_core::Result<()>;
fn SetHStoreMy(&self, hstore: super::HCERTSTORE) -> ::windows_core::Result<()>;
fn SetHStoreCA(&self, hstore: super::HCERTSTORE) -> ::windows_core::Result<()>;
fn SetHStoreROOT(&self, hstore: super::HCERTSTORE) -> ::windows_core::Result<()>;
fn SetHStoreRequest(&self, hstore: super::HCERTSTORE) -> ::windows_core::Result<()>;
fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn LimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn EnableSMIMECapabilities(&self, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IEnroll2 {}
#[cfg(feature = "Win32_Foundation")]
impl IEnroll2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>() -> IEnroll2_Vtbl {
unsafe extern "system" fn InstallPKCS7Blob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InstallPKCS7Blob(::core::mem::transmute_copy(&pblobpkcs7)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetSupportedKeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwkeyspec: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedKeySpec(::core::mem::transmute_copy(&pdwkeyspec)).into()
}
unsafe extern "system" fn GetKeyLen<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyLen(::core::mem::transmute_copy(&fmin), ::core::mem::transmute_copy(&fexchange), ::core::mem::transmute_copy(&pdwkeysize)).into()
}
unsafe extern "system" fn EnumAlgs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnumAlgs(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&algclass), ::core::mem::transmute_copy(&pdwalgid)).into()
}
unsafe extern "system" fn GetAlgNameWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algid: i32, ppwsz: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAlgNameWStr(::core::mem::transmute_copy(&algid), ::core::mem::transmute_copy(&ppwsz)).into()
}
unsafe extern "system" fn SetReuseHardwareKeyIfUnableToGenNew<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
}
unsafe extern "system" fn ReuseHardwareKeyIfUnableToGenNew<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
}
unsafe extern "system" fn SetHashAlgID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
}
unsafe extern "system" fn HashAlgID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.HashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
}
unsafe extern "system" fn SetHStoreMy<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHStoreMy(::core::mem::transmute_copy(&hstore)).into()
}
unsafe extern "system" fn SetHStoreCA<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHStoreCA(::core::mem::transmute_copy(&hstore)).into()
}
unsafe extern "system" fn SetHStoreROOT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHStoreROOT(::core::mem::transmute_copy(&hstore)).into()
}
unsafe extern "system" fn SetHStoreRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHStoreRequest(::core::mem::transmute_copy(&hstore)).into()
}
unsafe extern "system" fn SetLimitExchangeKeyToEncipherment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
}
unsafe extern "system" fn LimitExchangeKeyToEncipherment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
}
unsafe extern "system" fn SetEnableSMIMECapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
}
unsafe extern "system" fn EnableSMIMECapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
}
Self {
base__: IEnroll_Vtbl::new::<Identity, Impl, OFFSET>(),
InstallPKCS7Blob: InstallPKCS7Blob::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
GetSupportedKeySpec: GetSupportedKeySpec::<Identity, Impl, OFFSET>,
GetKeyLen: GetKeyLen::<Identity, Impl, OFFSET>,
EnumAlgs: EnumAlgs::<Identity, Impl, OFFSET>,
GetAlgNameWStr: GetAlgNameWStr::<Identity, Impl, OFFSET>,
SetReuseHardwareKeyIfUnableToGenNew: SetReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
ReuseHardwareKeyIfUnableToGenNew: ReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
SetHashAlgID: SetHashAlgID::<Identity, Impl, OFFSET>,
HashAlgID: HashAlgID::<Identity, Impl, OFFSET>,
SetHStoreMy: SetHStoreMy::<Identity, Impl, OFFSET>,
SetHStoreCA: SetHStoreCA::<Identity, Impl, OFFSET>,
SetHStoreROOT: SetHStoreROOT::<Identity, Impl, OFFSET>,
SetHStoreRequest: SetHStoreRequest::<Identity, Impl, OFFSET>,
SetLimitExchangeKeyToEncipherment: SetLimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
LimitExchangeKeyToEncipherment: LimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
SetEnableSMIMECapabilities: SetEnableSMIMECapabilities::<Identity, Impl, OFFSET>,
EnableSMIMECapabilities: EnableSMIMECapabilities::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnroll2 as ::windows_core::ComInterface>::IID || iid == &<IEnroll as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IEnroll4_Impl: Sized + IEnroll2_Impl {
fn SetThumbPrintWStr(&self, thumbprintblob: &super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn ThumbPrintWStr(&self, thumbprintblob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn SetPrivateKeyArchiveCertificate(&self, pprivatekeyarchivecert: *const super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn GetPrivateKeyArchiveCertificate(&self) -> *mut super::CERT_CONTEXT;
fn binaryBlobToString(&self, flags: i32, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, ppwszstring: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
fn stringToBinaryBlob(&self, flags: i32, pwszstring: &::windows_core::PCWSTR, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, pdwskip: *mut i32, pdwflags: *mut i32) -> ::windows_core::Result<()>;
fn addExtensionToRequestWStr(&self, flags: i32, pwszname: &::windows_core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn addAttributeToRequestWStr(&self, flags: i32, pwszname: &::windows_core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn addNameValuePairToRequestWStr(&self, flags: i32, pwszname: &::windows_core::PCWSTR, pwszvalue: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn resetExtensions(&self) -> ::windows_core::Result<()>;
fn resetAttributes(&self) -> ::windows_core::Result<()>;
fn createRequestWStr(&self, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: &::windows_core::PCWSTR, pwszusage: &::windows_core::PCWSTR, pblobrequest: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn createFileRequestWStr(&self, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: &::windows_core::PCWSTR, pwszusage: &::windows_core::PCWSTR, pwszrequestfilename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn acceptResponseBlob(&self, pblobresponse: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn acceptFileResponseWStr(&self, pwszresponsefilename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn getCertContextFromResponseBlob(&self, pblobresponse: *mut super::CRYPT_INTEGER_BLOB, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn getCertContextFromFileResponseWStr(&self, pwszresponsefilename: &::windows_core::PCWSTR, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn createPFXWStr(&self, pwszpassword: &::windows_core::PCWSTR, pblobpfx: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn createFilePFXWStr(&self, pwszpassword: &::windows_core::PCWSTR, pwszpfxfilename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn setPendingRequestInfoWStr(&self, lrequestid: i32, pwszcadns: &::windows_core::PCWSTR, pwszcaname: &::windows_core::PCWSTR, pwszfriendlyname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn enumPendingRequestWStr(&self, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, ppproperty: *mut ::core::ffi::c_void) -> ::windows_core::Result<()>;
fn removePendingRequestWStr(&self, thumbprintblob: &super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn GetKeyLenEx(&self, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows_core::Result<()>;
fn InstallPKCS7BlobEx(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB, plcertinstalled: *mut i32) -> ::windows_core::Result<()>;
fn AddCertTypeToRequestWStrEx(&self, ltype: ADDED_CERT_TYPE, pwszoidorname: &::windows_core::PCWSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows_core::Result<()>;
fn getProviderTypeWStr(&self, pwszprovname: &::windows_core::PCWSTR, plprovtype: *mut i32) -> ::windows_core::Result<()>;
fn addBlobPropertyToCertificateWStr(&self, lpropertyid: i32, lreserved: i32, pblobproperty: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<()>;
fn SetSignerCertificate(&self, psignercert: *const super::CERT_CONTEXT) -> ::windows_core::Result<()>;
fn SetClientId(&self, lclientid: i32) -> ::windows_core::Result<()>;
fn ClientId(&self, plclientid: *mut i32) -> ::windows_core::Result<()>;
fn SetIncludeSubjectKeyID(&self, finclude: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn IncludeSubjectKeyID(&self, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IEnroll4 {}
#[cfg(feature = "Win32_Foundation")]
impl IEnroll4_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>() -> IEnroll4_Vtbl {
unsafe extern "system" fn SetThumbPrintWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThumbPrintWStr(::core::mem::transmute(&thumbprintblob)).into()
}
unsafe extern "system" fn ThumbPrintWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ThumbPrintWStr(::core::mem::transmute_copy(&thumbprintblob)).into()
}
unsafe extern "system" fn SetPrivateKeyArchiveCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprivatekeyarchivecert: *const super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPrivateKeyArchiveCertificate(::core::mem::transmute_copy(&pprivatekeyarchivecert)).into()
}
unsafe extern "system" fn GetPrivateKeyArchiveCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> *mut super::CERT_CONTEXT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPrivateKeyArchiveCertificate()
}
unsafe extern "system" fn binaryBlobToString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, ppwszstring: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.binaryBlobToString(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pblobbinary), ::core::mem::transmute_copy(&ppwszstring)).into()
}
unsafe extern "system" fn stringToBinaryBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszstring: ::windows_core::PCWSTR, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, pdwskip: *mut i32, pdwflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.stringToBinaryBlob(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszstring), ::core::mem::transmute_copy(&pblobbinary), ::core::mem::transmute_copy(&pdwskip), ::core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn addExtensionToRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows_core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addExtensionToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pblobvalue)).into()
}
unsafe extern "system" fn addAttributeToRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows_core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addAttributeToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pblobvalue)).into()
}
unsafe extern "system" fn addNameValuePairToRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows_core::PCWSTR, pwszvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addNameValuePairToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute(&pwszvalue)).into()
}
unsafe extern "system" fn resetExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.resetExtensions().into()
}
unsafe extern "system" fn resetAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.resetAttributes().into()
}
unsafe extern "system" fn createRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: ::windows_core::PCWSTR, pwszusage: ::windows_core::PCWSTR, pblobrequest: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszdnname), ::core::mem::transmute(&pwszusage), ::core::mem::transmute_copy(&pblobrequest)).into()
}
unsafe extern "system" fn createFileRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: ::windows_core::PCWSTR, pwszusage: ::windows_core::PCWSTR, pwszrequestfilename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFileRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszdnname), ::core::mem::transmute(&pwszusage), ::core::mem::transmute(&pwszrequestfilename)).into()
}
unsafe extern "system" fn acceptResponseBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobresponse: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptResponseBlob(::core::mem::transmute_copy(&pblobresponse)).into()
}
unsafe extern "system" fn acceptFileResponseWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszresponsefilename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.acceptFileResponseWStr(::core::mem::transmute(&pwszresponsefilename)).into()
}
unsafe extern "system" fn getCertContextFromResponseBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobresponse: *mut super::CRYPT_INTEGER_BLOB, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getCertContextFromResponseBlob(::core::mem::transmute_copy(&pblobresponse), ::core::mem::transmute_copy(&ppcertcontext)).into()
}
unsafe extern "system" fn getCertContextFromFileResponseWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszresponsefilename: ::windows_core::PCWSTR, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getCertContextFromFileResponseWStr(::core::mem::transmute(&pwszresponsefilename), ::core::mem::transmute_copy(&ppcertcontext)).into()
}
unsafe extern "system" fn createPFXWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszpassword: ::windows_core::PCWSTR, pblobpfx: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createPFXWStr(::core::mem::transmute(&pwszpassword), ::core::mem::transmute_copy(&pblobpfx)).into()
}
unsafe extern "system" fn createFilePFXWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszpassword: ::windows_core::PCWSTR, pwszpfxfilename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.createFilePFXWStr(::core::mem::transmute(&pwszpassword), ::core::mem::transmute(&pwszpfxfilename)).into()
}
unsafe extern "system" fn setPendingRequestInfoWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lrequestid: i32, pwszcadns: ::windows_core::PCWSTR, pwszcaname: ::windows_core::PCWSTR, pwszfriendlyname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.setPendingRequestInfoWStr(::core::mem::transmute_copy(&lrequestid), ::core::mem::transmute(&pwszcadns), ::core::mem::transmute(&pwszcaname), ::core::mem::transmute(&pwszfriendlyname)).into()
}
unsafe extern "system" fn enumPendingRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, ppproperty: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.enumPendingRequestWStr(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&ldesiredproperty), ::core::mem::transmute_copy(&ppproperty)).into()
}
unsafe extern "system" fn removePendingRequestWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.removePendingRequestWStr(::core::mem::transmute(&thumbprintblob)).into()
}
unsafe extern "system" fn GetKeyLenEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyLenEx(::core::mem::transmute_copy(&lsizespec), ::core::mem::transmute_copy(&lkeyspec), ::core::mem::transmute_copy(&pdwkeysize)).into()
}
unsafe extern "system" fn InstallPKCS7BlobEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB, plcertinstalled: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InstallPKCS7BlobEx(::core::mem::transmute_copy(&pblobpkcs7), ::core::mem::transmute_copy(&plcertinstalled)).into()
}
unsafe extern "system" fn AddCertTypeToRequestWStrEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltype: ADDED_CERT_TYPE, pwszoidorname: ::windows_core::PCWSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddCertTypeToRequestWStrEx(::core::mem::transmute_copy(&ltype), ::core::mem::transmute(&pwszoidorname), ::core::mem::transmute_copy(&lmajorversion), ::core::mem::transmute_copy(&fminorversion), ::core::mem::transmute_copy(&lminorversion)).into()
}
unsafe extern "system" fn getProviderTypeWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszprovname: ::windows_core::PCWSTR, plprovtype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.getProviderTypeWStr(::core::mem::transmute(&pwszprovname), ::core::mem::transmute_copy(&plprovtype)).into()
}
unsafe extern "system" fn addBlobPropertyToCertificateWStr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpropertyid: i32, lreserved: i32, pblobproperty: *mut super::CRYPT_INTEGER_BLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.addBlobPropertyToCertificateWStr(::core::mem::transmute_copy(&lpropertyid), ::core::mem::transmute_copy(&lreserved), ::core::mem::transmute_copy(&pblobproperty)).into()
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercert: *const super::CERT_CONTEXT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::core::mem::transmute_copy(&psignercert)).into()
}
unsafe extern "system" fn SetClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lclientid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClientId(::core::mem::transmute_copy(&lclientid)).into()
}
unsafe extern "system" fn ClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plclientid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ClientId(::core::mem::transmute_copy(&plclientid)).into()
}
unsafe extern "system" fn SetIncludeSubjectKeyID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finclude: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetIncludeSubjectKeyID(::core::mem::transmute_copy(&finclude)).into()
}
unsafe extern "system" fn IncludeSubjectKeyID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IncludeSubjectKeyID(::core::mem::transmute_copy(&pfinclude)).into()
}
Self {
base__: IEnroll2_Vtbl::new::<Identity, Impl, OFFSET>(),
SetThumbPrintWStr: SetThumbPrintWStr::<Identity, Impl, OFFSET>,
ThumbPrintWStr: ThumbPrintWStr::<Identity, Impl, OFFSET>,
SetPrivateKeyArchiveCertificate: SetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
GetPrivateKeyArchiveCertificate: GetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
binaryBlobToString: binaryBlobToString::<Identity, Impl, OFFSET>,
stringToBinaryBlob: stringToBinaryBlob::<Identity, Impl, OFFSET>,
addExtensionToRequestWStr: addExtensionToRequestWStr::<Identity, Impl, OFFSET>,
addAttributeToRequestWStr: addAttributeToRequestWStr::<Identity, Impl, OFFSET>,
addNameValuePairToRequestWStr: addNameValuePairToRequestWStr::<Identity, Impl, OFFSET>,
resetExtensions: resetExtensions::<Identity, Impl, OFFSET>,
resetAttributes: resetAttributes::<Identity, Impl, OFFSET>,
createRequestWStr: createRequestWStr::<Identity, Impl, OFFSET>,
createFileRequestWStr: createFileRequestWStr::<Identity, Impl, OFFSET>,
acceptResponseBlob: acceptResponseBlob::<Identity, Impl, OFFSET>,
acceptFileResponseWStr: acceptFileResponseWStr::<Identity, Impl, OFFSET>,
getCertContextFromResponseBlob: getCertContextFromResponseBlob::<Identity, Impl, OFFSET>,
getCertContextFromFileResponseWStr: getCertContextFromFileResponseWStr::<Identity, Impl, OFFSET>,
createPFXWStr: createPFXWStr::<Identity, Impl, OFFSET>,
createFilePFXWStr: createFilePFXWStr::<Identity, Impl, OFFSET>,
setPendingRequestInfoWStr: setPendingRequestInfoWStr::<Identity, Impl, OFFSET>,
enumPendingRequestWStr: enumPendingRequestWStr::<Identity, Impl, OFFSET>,
removePendingRequestWStr: removePendingRequestWStr::<Identity, Impl, OFFSET>,
GetKeyLenEx: GetKeyLenEx::<Identity, Impl, OFFSET>,
InstallPKCS7BlobEx: InstallPKCS7BlobEx::<Identity, Impl, OFFSET>,
AddCertTypeToRequestWStrEx: AddCertTypeToRequestWStrEx::<Identity, Impl, OFFSET>,
getProviderTypeWStr: getProviderTypeWStr::<Identity, Impl, OFFSET>,
addBlobPropertyToCertificateWStr: addBlobPropertyToCertificateWStr::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
SetClientId: SetClientId::<Identity, Impl, OFFSET>,
ClientId: ClientId::<Identity, Impl, OFFSET>,
SetIncludeSubjectKeyID: SetIncludeSubjectKeyID::<Identity, Impl, OFFSET>,
IncludeSubjectKeyID: IncludeSubjectKeyID::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnroll4 as ::windows_core::ComInterface>::IID || iid == &<IEnroll as ::windows_core::ComInterface>::IID || iid == &<IEnroll2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IEnumCERTVIEWATTRIBUTE_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Next(&self, pindex: *mut i32) -> ::windows_core::Result<()>;
fn GetName(&self, pstrout: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetValue(&self, pstrout: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Skip(&self, celt: i32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumCERTVIEWATTRIBUTE>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IEnumCERTVIEWATTRIBUTE {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IEnumCERTVIEWATTRIBUTE_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>() -> IEnumCERTVIEWATTRIBUTE_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetName(::core::mem::transmute_copy(&pstrout)).into()
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValue(::core::mem::transmute_copy(&pstrout)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnumCERTVIEWATTRIBUTE as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IEnumCERTVIEWCOLUMN_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Next(&self, pindex: *mut i32) -> ::windows_core::Result<()>;
fn GetName(&self, pstrout: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetDisplayName(&self, pstrout: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetType(&self, ptype: *mut i32) -> ::windows_core::Result<()>;
fn IsIndexed(&self, pindexed: *mut i32) -> ::windows_core::Result<()>;
fn GetMaxLength(&self, pmaxlength: *mut i32) -> ::windows_core::Result<()>;
fn GetValue(&self, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Skip(&self, celt: i32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumCERTVIEWCOLUMN>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IEnumCERTVIEWCOLUMN {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IEnumCERTVIEWCOLUMN_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>() -> IEnumCERTVIEWCOLUMN_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetName(::core::mem::transmute_copy(&pstrout)).into()
}
unsafe extern "system" fn GetDisplayName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDisplayName(::core::mem::transmute_copy(&pstrout)).into()
}
unsafe extern "system" fn GetType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptype: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetType(::core::mem::transmute_copy(&ptype)).into()
}
unsafe extern "system" fn IsIndexed<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindexed: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsIndexed(::core::mem::transmute_copy(&pindexed)).into()
}
unsafe extern "system" fn GetMaxLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmaxlength: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetMaxLength(::core::mem::transmute_copy(&pmaxlength)).into()
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValue(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetDisplayName: GetDisplayName::<Identity, Impl, OFFSET>,
GetType: GetType::<Identity, Impl, OFFSET>,
IsIndexed: IsIndexed::<Identity, Impl, OFFSET>,
GetMaxLength: GetMaxLength::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnumCERTVIEWCOLUMN as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IEnumCERTVIEWEXTENSION_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Next(&self, pindex: *mut i32) -> ::windows_core::Result<()>;
fn GetName(&self, pstrout: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetFlags(&self, pflags: *mut i32) -> ::windows_core::Result<()>;
fn GetValue(&self, r#type: CERT_PROPERTY_TYPE, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Skip(&self, celt: i32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumCERTVIEWEXTENSION>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IEnumCERTVIEWEXTENSION {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IEnumCERTVIEWEXTENSION_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>() -> IEnumCERTVIEWEXTENSION_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetName(::core::mem::transmute_copy(&pstrout)).into()
}
unsafe extern "system" fn GetFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pflags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFlags(::core::mem::transmute_copy(&pflags)).into()
}
unsafe extern "system" fn GetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: CERT_PROPERTY_TYPE, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValue(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetFlags: GetFlags::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnumCERTVIEWEXTENSION as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IEnumCERTVIEWROW_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Next(&self, pindex: *mut i32) -> ::windows_core::Result<()>;
fn EnumCertViewColumn(&self) -> ::windows_core::Result<IEnumCERTVIEWCOLUMN>;
fn EnumCertViewAttribute(&self, flags: i32) -> ::windows_core::Result<IEnumCERTVIEWATTRIBUTE>;
fn EnumCertViewExtension(&self, flags: i32) -> ::windows_core::Result<IEnumCERTVIEWEXTENSION>;
fn Skip(&self, celt: i32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumCERTVIEWROW>;
fn GetMaxIndex(&self, pindex: *mut i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IEnumCERTVIEWROW {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IEnumCERTVIEWROW_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>() -> IEnumCERTVIEWROW_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn EnumCertViewColumn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCertViewColumn() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumCertViewAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCertViewAttribute(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumCertViewExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCertViewExtension(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMaxIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetMaxIndex(::core::mem::transmute_copy(&pindex)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
EnumCertViewColumn: EnumCertViewColumn::<Identity, Impl, OFFSET>,
EnumCertViewAttribute: EnumCertViewAttribute::<Identity, Impl, OFFSET>,
EnumCertViewExtension: EnumCertViewExtension::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
GetMaxIndex: GetMaxIndex::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IEnumCERTVIEWROW as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait INDESPolicy_Impl: Sized {
fn Initialize(&self) -> ::windows_core::Result<()>;
fn Uninitialize(&self) -> ::windows_core::Result<()>;
fn GenerateChallenge(&self, pwsztemplate: &::windows_core::PCWSTR, pwszparams: &::windows_core::PCWSTR) -> ::windows_core::Result<::windows_core::PWSTR>;
fn VerifyRequest(&self, pctbrequest: *mut CERTTRANSBLOB, pctbsigningcertencoded: *mut CERTTRANSBLOB, pwsztemplate: &::windows_core::PCWSTR, pwsztransactionid: &::windows_core::PCWSTR, pfverified: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn Notify(&self, pwszchallenge: &::windows_core::PCWSTR, pwsztransactionid: &::windows_core::PCWSTR, disposition: X509SCEPDisposition, lasthresult: i32, pctbissuedcertencoded: *mut CERTTRANSBLOB) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for INDESPolicy {}
#[cfg(feature = "Win32_Foundation")]
impl INDESPolicy_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>() -> INDESPolicy_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize().into()
}
unsafe extern "system" fn Uninitialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Uninitialize().into()
}
unsafe extern "system" fn GenerateChallenge<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwsztemplate: ::windows_core::PCWSTR, pwszparams: ::windows_core::PCWSTR, ppwszresponse: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GenerateChallenge(::core::mem::transmute(&pwsztemplate), ::core::mem::transmute(&pwszparams)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppwszresponse, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VerifyRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pctbrequest: *mut CERTTRANSBLOB, pctbsigningcertencoded: *mut CERTTRANSBLOB, pwsztemplate: ::windows_core::PCWSTR, pwsztransactionid: ::windows_core::PCWSTR, pfverified: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.VerifyRequest(::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbsigningcertencoded), ::core::mem::transmute(&pwsztemplate), ::core::mem::transmute(&pwsztransactionid), ::core::mem::transmute_copy(&pfverified)).into()
}
unsafe extern "system" fn Notify<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszchallenge: ::windows_core::PCWSTR, pwsztransactionid: ::windows_core::PCWSTR, disposition: X509SCEPDisposition, lasthresult: i32, pctbissuedcertencoded: *mut CERTTRANSBLOB) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Notify(::core::mem::transmute(&pwszchallenge), ::core::mem::transmute(&pwsztransactionid), ::core::mem::transmute_copy(&disposition), ::core::mem::transmute_copy(&lasthresult), ::core::mem::transmute_copy(&pctbissuedcertencoded)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Uninitialize: Uninitialize::<Identity, Impl, OFFSET>,
GenerateChallenge: GenerateChallenge::<Identity, Impl, OFFSET>,
VerifyRequest: VerifyRequest::<Identity, Impl, OFFSET>,
Notify: Notify::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<INDESPolicy as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IOCSPAdmin_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn OCSPServiceProperties(&self) -> ::windows_core::Result<IOCSPPropertyCollection>;
fn OCSPCAConfigurationCollection(&self) -> ::windows_core::Result<IOCSPCAConfigurationCollection>;
fn GetConfiguration(&self, bstrservername: &::windows_core::BSTR, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SetConfiguration(&self, bstrservername: &::windows_core::BSTR, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn GetMyRoles(&self, bstrservername: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn Ping(&self, bstrservername: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetSecurity(&self, bstrservername: &::windows_core::BSTR, bstrval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetSecurity(&self, bstrservername: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetSigningCertificates(&self, bstrservername: &::windows_core::BSTR, pcacertvar: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn GetHashAlgorithms(&self, bstrservername: &::windows_core::BSTR, bstrcaid: &::windows_core::BSTR) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IOCSPAdmin {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IOCSPAdmin_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>() -> IOCSPAdmin_Vtbl {
unsafe extern "system" fn OCSPServiceProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OCSPServiceProperties() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OCSPCAConfigurationCollection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OCSPCAConfigurationCollection() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConfiguration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConfiguration(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&bforce)).into()
}
unsafe extern "system" fn SetConfiguration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetConfiguration(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&bforce)).into()
}
unsafe extern "system" fn GetMyRoles<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, proles: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMyRoles(::core::mem::transmute(&bstrservername)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(proles, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Ping<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Ping(::core::mem::transmute(&bstrservername)).into()
}
unsafe extern "system" fn SetSecurity<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, bstrval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSecurity(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrval)).into()
}
unsafe extern "system" fn GetSecurity<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSecurity(::core::mem::transmute(&bstrservername)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSigningCertificates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, pcacertvar: *const super::super::super::System::Variant::VARIANT, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSigningCertificates(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&pcacertvar)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHashAlgorithms<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows_core::BSTR>, bstrcaid: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHashAlgorithms(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrcaid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
OCSPServiceProperties: OCSPServiceProperties::<Identity, Impl, OFFSET>,
OCSPCAConfigurationCollection: OCSPCAConfigurationCollection::<Identity, Impl, OFFSET>,
GetConfiguration: GetConfiguration::<Identity, Impl, OFFSET>,
SetConfiguration: SetConfiguration::<Identity, Impl, OFFSET>,
GetMyRoles: GetMyRoles::<Identity, Impl, OFFSET>,
Ping: Ping::<Identity, Impl, OFFSET>,
SetSecurity: SetSecurity::<Identity, Impl, OFFSET>,
GetSecurity: GetSecurity::<Identity, Impl, OFFSET>,
GetSigningCertificates: GetSigningCertificates::<Identity, Impl, OFFSET>,
GetHashAlgorithms: GetHashAlgorithms::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IOCSPAdmin as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IOCSPCAConfiguration_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Identifier(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn CACertificate(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetHashAlgorithm(&self, newval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SigningFlags(&self) -> ::windows_core::Result<u32>;
fn SetSigningFlags(&self, newval: u32) -> ::windows_core::Result<()>;
fn SigningCertificate(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetSigningCertificate(&self, newval: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ReminderDuration(&self) -> ::windows_core::Result<u32>;
fn SetReminderDuration(&self, newval: u32) -> ::windows_core::Result<()>;
fn ErrorCode(&self) -> ::windows_core::Result<u32>;
fn CSPName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn KeySpec(&self) -> ::windows_core::Result<u32>;
fn ProviderCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetProviderCLSID(&self, newval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ProviderProperties(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetProviderProperties(&self, newval: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Modified(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn LocalRevocationInformation(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetLocalRevocationInformation(&self, newval: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn SigningCertificateTemplate(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetSigningCertificateTemplate(&self, newval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CAConfig(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCAConfig(&self, newval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IOCSPCAConfiguration {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IOCSPCAConfiguration_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>() -> IOCSPCAConfiguration_Vtbl {
unsafe extern "system" fn Identifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Identifier() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CACertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CACertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithm(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn SigningFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SigningFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSigningFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSigningFlags(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn SigningCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SigningCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSigningCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSigningCertificate(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn ReminderDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReminderDuration() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetReminderDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetReminderDuration(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn ErrorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ErrorCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CSPName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CSPName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ProviderCLSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderCLSID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderCLSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderCLSID(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn ProviderProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderProperties() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderProperties(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn Modified<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Modified() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LocalRevocationInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LocalRevocationInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocalRevocationInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocalRevocationInformation(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn SigningCertificateTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SigningCertificateTemplate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSigningCertificateTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSigningCertificateTemplate(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn CAConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAConfig() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAConfig(::core::mem::transmute(&newval)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Identifier: Identifier::<Identity, Impl, OFFSET>,
CACertificate: CACertificate::<Identity, Impl, OFFSET>,
HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
SigningFlags: SigningFlags::<Identity, Impl, OFFSET>,
SetSigningFlags: SetSigningFlags::<Identity, Impl, OFFSET>,
SigningCertificate: SigningCertificate::<Identity, Impl, OFFSET>,
SetSigningCertificate: SetSigningCertificate::<Identity, Impl, OFFSET>,
ReminderDuration: ReminderDuration::<Identity, Impl, OFFSET>,
SetReminderDuration: SetReminderDuration::<Identity, Impl, OFFSET>,
ErrorCode: ErrorCode::<Identity, Impl, OFFSET>,
CSPName: CSPName::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
ProviderCLSID: ProviderCLSID::<Identity, Impl, OFFSET>,
SetProviderCLSID: SetProviderCLSID::<Identity, Impl, OFFSET>,
ProviderProperties: ProviderProperties::<Identity, Impl, OFFSET>,
SetProviderProperties: SetProviderProperties::<Identity, Impl, OFFSET>,
Modified: Modified::<Identity, Impl, OFFSET>,
LocalRevocationInformation: LocalRevocationInformation::<Identity, Impl, OFFSET>,
SetLocalRevocationInformation: SetLocalRevocationInformation::<Identity, Impl, OFFSET>,
SigningCertificateTemplate: SigningCertificateTemplate::<Identity, Impl, OFFSET>,
SetSigningCertificateTemplate: SetSigningCertificateTemplate::<Identity, Impl, OFFSET>,
CAConfig: CAConfig::<Identity, Impl, OFFSET>,
SetCAConfig: SetCAConfig::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IOCSPCAConfiguration as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IOCSPCAConfigurationCollection_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn get_Item(&self, index: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn get_ItemByName(&self, bstridentifier: &::windows_core::BSTR) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn CreateCAConfiguration(&self, bstridentifier: &::windows_core::BSTR, varcacert: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IOCSPCAConfiguration>;
fn DeleteCAConfiguration(&self, bstridentifier: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IOCSPCAConfigurationCollection {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IOCSPCAConfigurationCollection_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>() -> IOCSPCAConfigurationCollection_Vtbl {
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&bstridentifier)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateCAConfiguration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows_core::BSTR>, varcacert: super::super::super::System::Variant::VARIANT, ppval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateCAConfiguration(::core::mem::transmute(&bstridentifier), ::core::mem::transmute(&varcacert)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteCAConfiguration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteCAConfiguration(::core::mem::transmute(&bstridentifier)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
CreateCAConfiguration: CreateCAConfiguration::<Identity, Impl, OFFSET>,
DeleteCAConfiguration: DeleteCAConfiguration::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IOCSPCAConfigurationCollection as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IOCSPProperty_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Value(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn SetValue(&self, newval: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Modified(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IOCSPProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IOCSPProperty_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>() -> IOCSPProperty_Vtbl {
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Value<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Value() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn Modified<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Modified() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Name: Name::<Identity, Impl, OFFSET>,
Value: Value::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
Modified: Modified::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IOCSPProperty as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IOCSPPropertyCollection_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn get_Item(&self, index: i32) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn get_ItemByName(&self, bstrpropname: &::windows_core::BSTR) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn CreateProperty(&self, bstrpropname: &::windows_core::BSTR, pvarpropvalue: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IOCSPProperty>;
fn DeleteProperty(&self, bstrpropname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromProperties(&self, pvarproperties: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn GetAllProperties(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IOCSPPropertyCollection {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IOCSPPropertyCollection_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>() -> IOCSPPropertyCollection_Vtbl {
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&bstrpropname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows_core::BSTR>, pvarpropvalue: *const super::super::super::System::Variant::VARIANT, ppval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateProperty(::core::mem::transmute(&bstrpropname), ::core::mem::transmute_copy(&pvarpropvalue)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteProperty(::core::mem::transmute(&bstrpropname)).into()
}
unsafe extern "system" fn InitializeFromProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarproperties: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromProperties(::core::mem::transmute_copy(&pvarproperties)).into()
}
unsafe extern "system" fn GetAllProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarproperties: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAllProperties() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarproperties, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
CreateProperty: CreateProperty::<Identity, Impl, OFFSET>,
DeleteProperty: DeleteProperty::<Identity, Impl, OFFSET>,
InitializeFromProperties: InitializeFromProperties::<Identity, Impl, OFFSET>,
GetAllProperties: GetAllProperties::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IOCSPPropertyCollection as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IObjectId_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeFromName(&self, name: CERTENROLL_OBJECTID) -> ::windows_core::Result<()>;
fn InitializeFromValue(&self, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromAlgorithmName(&self, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, algflags: AlgorithmFlags, stralgorithmname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Name(&self) -> ::windows_core::Result<CERTENROLL_OBJECTID>;
fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetFriendlyName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetAlgorithmName(&self, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IObjectId {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IObjectId_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>() -> IObjectId_Vtbl {
unsafe extern "system" fn InitializeFromName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: CERTENROLL_OBJECTID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromName(::core::mem::transmute_copy(&name)).into()
}
unsafe extern "system" fn InitializeFromValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromValue(::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn InitializeFromAlgorithmName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, algflags: AlgorithmFlags, stralgorithmname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromAlgorithmName(::core::mem::transmute_copy(&groupid), ::core::mem::transmute_copy(&keyflags), ::core::mem::transmute_copy(&algflags), ::core::mem::transmute(&stralgorithmname)).into()
}
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CERTENROLL_OBJECTID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFriendlyName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Value<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Value() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAlgorithmName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, pstralgorithmname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAlgorithmName(::core::mem::transmute_copy(&groupid), ::core::mem::transmute_copy(&keyflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstralgorithmname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromName: InitializeFromName::<Identity, Impl, OFFSET>,
InitializeFromValue: InitializeFromValue::<Identity, Impl, OFFSET>,
InitializeFromAlgorithmName: InitializeFromAlgorithmName::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
SetFriendlyName: SetFriendlyName::<Identity, Impl, OFFSET>,
Value: Value::<Identity, Impl, OFFSET>,
GetAlgorithmName: GetAlgorithmName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IObjectId as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IObjectIds_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IObjectId>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn AddRange(&self, pvalue: ::core::option::Option<&IObjectIds>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IObjectIds {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IObjectIds_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>() -> IObjectIds_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn AddRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddRange(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
AddRange: AddRange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IObjectIds as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IPolicyQualifier_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn InitializeEncode(&self, strqualifier: &::windows_core::BSTR, r#type: PolicyQualifierType) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn Qualifier(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Type(&self) -> ::windows_core::Result<PolicyQualifierType>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IPolicyQualifier {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IPolicyQualifier_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>() -> IPolicyQualifier_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strqualifier: ::std::mem::MaybeUninit<::windows_core::BSTR>, r#type: PolicyQualifierType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute(&strqualifier), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Qualifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Qualifier() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyQualifierType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
Qualifier: Qualifier::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IPolicyQualifier as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IPolicyQualifiers_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IPolicyQualifier>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IPolicyQualifier>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IPolicyQualifiers {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IPolicyQualifiers_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>() -> IPolicyQualifiers_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IPolicyQualifiers as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ISignerCertificate_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, verifytype: X509PrivateKeyVerify, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn PrivateKey(&self) -> ::windows_core::Result<IX509PrivateKey>;
fn Silent(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ParentWindow(&self) -> ::windows_core::Result<i32>;
fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()>;
fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetUIContextMessage(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetPin(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SignatureInformation(&self) -> ::windows_core::Result<IX509SignatureInformation>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ISignerCertificate {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ISignerCertificate_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>() -> ISignerCertificate_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, verifytype: X509PrivateKeyVerify, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&verifytype), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn get_Certificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PrivateKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Silent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Silent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSilent(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParentWindow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn UIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UIContextMessage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUIContextMessage(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SetPin<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPin(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SignatureInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignatureInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
Silent: Silent::<Identity, Impl, OFFSET>,
SetSilent: SetSilent::<Identity, Impl, OFFSET>,
ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
SetPin: SetPin::<Identity, Impl, OFFSET>,
SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ISignerCertificate as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ISignerCertificates_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ISignerCertificate>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn Find(&self, psignercert: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ISignerCertificates {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ISignerCertificates_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>() -> ISignerCertificates_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn Find<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercert: *mut ::core::ffi::c_void, pisignercert: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Find(::windows_core::from_raw_borrowed(&psignercert)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pisignercert, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
Find: Find::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ISignerCertificates as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ISmimeCapabilities_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<ISmimeCapability>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&ISmimeCapability>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn AddFromCsp(&self, pvalue: ::core::option::Option<&ICspInformation>) -> ::windows_core::Result<()>;
fn AddAvailableSmimeCapabilities(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ISmimeCapabilities {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ISmimeCapabilities_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>() -> ISmimeCapabilities_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn AddFromCsp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddFromCsp(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn AddAvailableSmimeCapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAvailableSmimeCapabilities(::core::mem::transmute_copy(&machinecontext)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
AddFromCsp: AddFromCsp::<Identity, Impl, OFFSET>,
AddAvailableSmimeCapabilities: AddAvailableSmimeCapabilities::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ISmimeCapabilities as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ISmimeCapability_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, bitcount: i32) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn BitCount(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ISmimeCapability {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ISmimeCapability_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>() -> ISmimeCapability_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, bitcount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&bitcount)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn BitCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BitCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
BitCount: BitCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<ISmimeCapability as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX500DistinguishedName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Decode(&self, strencodedname: &::windows_core::BSTR, encoding: EncodingType, nameflags: X500NameFlags) -> ::windows_core::Result<()>;
fn Encode(&self, strname: &::windows_core::BSTR, nameflags: X500NameFlags) -> ::windows_core::Result<()>;
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_EncodedName(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX500DistinguishedName {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX500DistinguishedName_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>() -> IX500DistinguishedName_Vtbl {
unsafe extern "system" fn Decode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedname: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, nameflags: X500NameFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decode(::core::mem::transmute(&strencodedname), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&nameflags)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, nameflags: X500NameFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Encode(::core::mem::transmute(&strname), ::core::mem::transmute_copy(&nameflags)).into()
}
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_EncodedName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncodedName(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Decode: Decode::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
get_EncodedName: get_EncodedName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX500DistinguishedName as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Attribute_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Attribute {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Attribute_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>() -> IX509Attribute_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Attribute as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeArchiveKey_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, pkey: ::core::option::Option<&IX509PrivateKey>, encoding: EncodingType, strcaxcert: &::windows_core::BSTR, palgorithm: ::core::option::Option<&IObjectId>, encryptionstrength: i32) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_EncryptedKeyBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn EncryptionAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn EncryptionStrength(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeArchiveKey {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeArchiveKey_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>() -> IX509AttributeArchiveKey_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkey: *mut ::core::ffi::c_void, encoding: EncodingType, strcaxcert: ::std::mem::MaybeUninit<::windows_core::BSTR>, palgorithm: *mut ::core::ffi::c_void, encryptionstrength: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pkey), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcaxcert), ::windows_core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&encryptionstrength)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn get_EncryptedKeyBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncryptedKeyBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EncryptionStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionStrength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
get_EncryptedKeyBlob: get_EncryptedKeyBlob::<Identity, Impl, OFFSET>,
EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeArchiveKey as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeArchiveKeyHash_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncodeFromEncryptedKeyBlob(&self, encoding: EncodingType, strencryptedkeyblob: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_EncryptedKeyHashBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeArchiveKeyHash {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeArchiveKeyHash_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>() -> IX509AttributeArchiveKeyHash_Vtbl {
unsafe extern "system" fn InitializeEncodeFromEncryptedKeyBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencryptedkeyblob: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncodeFromEncryptedKeyBlob(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencryptedkeyblob)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn get_EncryptedKeyHashBlob<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncryptedKeyHashBlob(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncodeFromEncryptedKeyBlob: InitializeEncodeFromEncryptedKeyBlob::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
get_EncryptedKeyHashBlob: get_EncryptedKeyHashBlob::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeArchiveKeyHash as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeClientId_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, clientid: RequestClientInfoClientId, strmachinednsname: &::windows_core::BSTR, strusersamname: &::windows_core::BSTR, strprocessname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ClientId(&self) -> ::windows_core::Result<RequestClientInfoClientId>;
fn MachineDnsName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn UserSamName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn ProcessName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeClientId {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeClientId_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>() -> IX509AttributeClientId_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clientid: RequestClientInfoClientId, strmachinednsname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strusersamname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strprocessname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&clientid), ::core::mem::transmute(&strmachinednsname), ::core::mem::transmute(&strusersamname), ::core::mem::transmute(&strprocessname)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn ClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut RequestClientInfoClientId) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClientId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MachineDnsName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MachineDnsName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn UserSamName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UserSamName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ProcessName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProcessName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
ClientId: ClientId::<Identity, Impl, OFFSET>,
MachineDnsName: MachineDnsName::<Identity, Impl, OFFSET>,
UserSamName: UserSamName::<Identity, Impl, OFFSET>,
ProcessName: ProcessName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeClientId as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeCspProvider_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, keyspec: X509KeySpec, strprovidername: &::windows_core::BSTR, encoding: EncodingType, strsignature: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn KeySpec(&self) -> ::windows_core::Result<X509KeySpec>;
fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeCspProvider {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeCspProvider_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>() -> IX509AttributeCspProvider_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyspec: X509KeySpec, strprovidername: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, strsignature: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&keyspec), ::core::mem::transmute(&strprovidername), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strsignature)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Signature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
ProviderName: ProviderName::<Identity, Impl, OFFSET>,
get_Signature: get_Signature::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeCspProvider as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeExtensions_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, pextensions: ::core::option::Option<&IX509Extensions>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn X509Extensions(&self) -> ::windows_core::Result<IX509Extensions>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeExtensions {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeExtensions_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>() -> IX509AttributeExtensions_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextensions: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pextensions)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn X509Extensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509Extensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeExtensions as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeOSVersion_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, strosversion: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn OSVersion(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeOSVersion {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeOSVersion_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>() -> IX509AttributeOSVersion_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strosversion: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute(&strosversion)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn OSVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OSVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
OSVersion: OSVersion::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeOSVersion as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509AttributeRenewalCertificate_Impl: Sized + IX509Attribute_Impl {
fn InitializeEncode(&self, encoding: EncodingType, strcert: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509AttributeRenewalCertificate {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509AttributeRenewalCertificate_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>() -> IX509AttributeRenewalCertificate_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcert: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcert)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn get_RenewalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RenewalCertificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
get_RenewalCertificate: get_RenewalCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509AttributeRenewalCertificate as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Attribute as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Attributes_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509Attribute>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509Attribute>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Attributes {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Attributes_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>() -> IX509Attributes_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Attributes as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequest_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<()>;
fn ResetForEncode(&self) -> ::windows_core::Result<()>;
fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result<IX509CertificateRequest>;
fn Type(&self) -> ::windows_core::Result<X509RequestType>;
fn EnrollmentContext(&self) -> ::windows_core::Result<X509CertificateEnrollmentContext>;
fn Silent(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ParentWindow(&self) -> ::windows_core::Result<i32>;
fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()>;
fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetUIContextMessage(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SuppressDefaults(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSuppressDefaults(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_RenewalCertificate(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ClientId(&self) -> ::windows_core::Result<RequestClientInfoClientId>;
fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()>;
fn CspInformations(&self) -> ::windows_core::Result<ICspInformations>;
fn SetCspInformations(&self, pvalue: ::core::option::Option<&ICspInformations>) -> ::windows_core::Result<()>;
fn HashAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>() -> IX509CertificateRequest_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Encode().into()
}
unsafe extern "system" fn ResetForEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetForEncode().into()
}
unsafe extern "system" fn GetInnerRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: InnerRequestLevel, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInnerRequest(::core::mem::transmute_copy(&level)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509RequestType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnrollmentContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnrollmentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Silent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Silent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSilent(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParentWindow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn UIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UIContextMessage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUIContextMessage(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SuppressDefaults<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressDefaults() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSuppressDefaults<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSuppressDefaults(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_RenewalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RenewalCertificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_RenewalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_RenewalCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn ClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut RequestClientInfoClientId) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClientId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: RequestClientInfoClientId) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClientId(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn CspInformations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspInformations() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCspInformations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCspInformations(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn HashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternateSignatureAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
ResetForEncode: ResetForEncode::<Identity, Impl, OFFSET>,
GetInnerRequest: GetInnerRequest::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
EnrollmentContext: EnrollmentContext::<Identity, Impl, OFFSET>,
Silent: Silent::<Identity, Impl, OFFSET>,
SetSilent: SetSilent::<Identity, Impl, OFFSET>,
ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
SuppressDefaults: SuppressDefaults::<Identity, Impl, OFFSET>,
SetSuppressDefaults: SetSuppressDefaults::<Identity, Impl, OFFSET>,
get_RenewalCertificate: get_RenewalCertificate::<Identity, Impl, OFFSET>,
put_RenewalCertificate: put_RenewalCertificate::<Identity, Impl, OFFSET>,
ClientId: ClientId::<Identity, Impl, OFFSET>,
SetClientId: SetClientId::<Identity, Impl, OFFSET>,
CspInformations: CspInformations::<Identity, Impl, OFFSET>,
SetCspInformations: SetCspInformations::<Identity, Impl, OFFSET>,
HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestCertificate_Impl: Sized + IX509CertificateRequestPkcs10_Impl {
fn CheckPublicKeySignature(&self, ppublickey: ::core::option::Option<&IX509PublicKey>) -> ::windows_core::Result<()>;
fn Issuer(&self) -> ::windows_core::Result<IX500DistinguishedName>;
fn SetIssuer(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows_core::Result<()>;
fn NotBefore(&self) -> ::windows_core::Result<f64>;
fn SetNotBefore(&self, value: f64) -> ::windows_core::Result<()>;
fn NotAfter(&self) -> ::windows_core::Result<f64>;
fn SetNotAfter(&self, value: f64) -> ::windows_core::Result<()>;
fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_SerialNumber(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SignerCertificate(&self) -> ::windows_core::Result<ISignerCertificate>;
fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestCertificate {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestCertificate_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>() -> IX509CertificateRequestCertificate_Vtbl {
unsafe extern "system" fn CheckPublicKeySignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppublickey: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckPublicKeySignature(::windows_core::from_raw_borrowed(&ppublickey)).into()
}
unsafe extern "system" fn Issuer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Issuer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIssuer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetIssuer(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn NotBefore<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NotBefore() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotBefore<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotBefore(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn NotAfter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NotAfter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotAfter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotAfter(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_SerialNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SerialNumber(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_SerialNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_SerialNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignerCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: IX509CertificateRequestPkcs10_Vtbl::new::<Identity, Impl, OFFSET>(),
CheckPublicKeySignature: CheckPublicKeySignature::<Identity, Impl, OFFSET>,
Issuer: Issuer::<Identity, Impl, OFFSET>,
SetIssuer: SetIssuer::<Identity, Impl, OFFSET>,
NotBefore: NotBefore::<Identity, Impl, OFFSET>,
SetNotBefore: SetNotBefore::<Identity, Impl, OFFSET>,
NotAfter: NotAfter::<Identity, Impl, OFFSET>,
SetNotAfter: SetNotAfter::<Identity, Impl, OFFSET>,
get_SerialNumber: get_SerialNumber::<Identity, Impl, OFFSET>,
put_SerialNumber: put_SerialNumber::<Identity, Impl, OFFSET>,
SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestCertificate as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestCertificate2_Impl: Sized + IX509CertificateRequestCertificate_Impl {
fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn InitializeFromPrivateKeyTemplate(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn PolicyServer(&self) -> ::windows_core::Result<IX509EnrollmentPolicyServer>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestCertificate2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestCertificate2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>() -> IX509CertificateRequestCertificate2_Vtbl {
unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn InitializeFromPrivateKeyTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromPrivateKeyTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&pprivatekey), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn PolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509CertificateRequestCertificate_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
InitializeFromPrivateKeyTemplate: InitializeFromPrivateKeyTemplate::<Identity, Impl, OFFSET>,
PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestCertificate2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestCertificate as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestCmc_Impl: Sized + IX509CertificateRequestPkcs7_Impl {
fn InitializeFromInnerRequestTemplateName(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn TemplateObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn NullSigned(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn CryptAttributes(&self) -> ::windows_core::Result<ICryptAttributes>;
fn NameValuePairs(&self) -> ::windows_core::Result<IX509NameValuePairs>;
fn X509Extensions(&self) -> ::windows_core::Result<IX509Extensions>;
fn CriticalExtensions(&self) -> ::windows_core::Result<IObjectIds>;
fn SuppressOids(&self) -> ::windows_core::Result<IObjectIds>;
fn TransactionId(&self) -> ::windows_core::Result<i32>;
fn SetTransactionId(&self, value: i32) -> ::windows_core::Result<()>;
fn get_SenderNonce(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_SenderNonce(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SignatureInformation(&self) -> ::windows_core::Result<IX509SignatureInformation>;
fn ArchivePrivateKey(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetArchivePrivateKey(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn get_KeyArchivalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_KeyArchivalCertificate(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn EncryptionAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetEncryptionAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn EncryptionStrength(&self) -> ::windows_core::Result<i32>;
fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()>;
fn get_EncryptedKeyHash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn SignerCertificates(&self) -> ::windows_core::Result<ISignerCertificates>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestCmc {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestCmc_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>() -> IX509CertificateRequestCmc_Vtbl {
unsafe extern "system" fn InitializeFromInnerRequestTemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromInnerRequestTemplateName(::windows_core::from_raw_borrowed(&pinnerrequest), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn TemplateObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TemplateObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NullSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NullSigned() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CryptAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CryptAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NameValuePairs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NameValuePairs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn X509Extensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509Extensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CriticalExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CriticalExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SuppressOids<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressOids() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TransactionId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TransactionId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTransactionId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTransactionId(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_SenderNonce<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SenderNonce(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_SenderNonce<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_SenderNonce(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SignatureInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignatureInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ArchivePrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ArchivePrivateKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetArchivePrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetArchivePrivateKey(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_KeyArchivalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_KeyArchivalCertificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_KeyArchivalCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_KeyArchivalCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEncryptionAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEncryptionAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn EncryptionStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionStrength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEncryptionStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEncryptionStrength(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_EncryptedKeyHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncryptedKeyHash(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SignerCertificates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignerCertificates() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509CertificateRequestPkcs7_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromInnerRequestTemplateName: InitializeFromInnerRequestTemplateName::<Identity, Impl, OFFSET>,
TemplateObjectId: TemplateObjectId::<Identity, Impl, OFFSET>,
NullSigned: NullSigned::<Identity, Impl, OFFSET>,
CryptAttributes: CryptAttributes::<Identity, Impl, OFFSET>,
NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
SuppressOids: SuppressOids::<Identity, Impl, OFFSET>,
TransactionId: TransactionId::<Identity, Impl, OFFSET>,
SetTransactionId: SetTransactionId::<Identity, Impl, OFFSET>,
get_SenderNonce: get_SenderNonce::<Identity, Impl, OFFSET>,
put_SenderNonce: put_SenderNonce::<Identity, Impl, OFFSET>,
SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
ArchivePrivateKey: ArchivePrivateKey::<Identity, Impl, OFFSET>,
SetArchivePrivateKey: SetArchivePrivateKey::<Identity, Impl, OFFSET>,
get_KeyArchivalCertificate: get_KeyArchivalCertificate::<Identity, Impl, OFFSET>,
put_KeyArchivalCertificate: put_KeyArchivalCertificate::<Identity, Impl, OFFSET>,
EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
SetEncryptionAlgorithm: SetEncryptionAlgorithm::<Identity, Impl, OFFSET>,
EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
SetEncryptionStrength: SetEncryptionStrength::<Identity, Impl, OFFSET>,
get_EncryptedKeyHash: get_EncryptedKeyHash::<Identity, Impl, OFFSET>,
SignerCertificates: SignerCertificates::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestCmc as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestCmc2_Impl: Sized + IX509CertificateRequestCmc_Impl {
fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn InitializeFromInnerRequestTemplate(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn PolicyServer(&self) -> ::windows_core::Result<IX509EnrollmentPolicyServer>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
fn CheckSignature(&self, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows_core::Result<()>;
fn CheckCertificateSignature(&self, psignercertificate: ::core::option::Option<&ISignerCertificate>, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestCmc2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestCmc2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>() -> IX509CertificateRequestCmc2_Vtbl {
unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn InitializeFromInnerRequestTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromInnerRequestTemplate(::windows_core::from_raw_borrowed(&pinnerrequest), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn PolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CheckSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckSignature(::core::mem::transmute_copy(&allowedsignaturetypes)).into()
}
unsafe extern "system" fn CheckCertificateSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercertificate: *mut ::core::ffi::c_void, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckCertificateSignature(::windows_core::from_raw_borrowed(&psignercertificate), ::core::mem::transmute_copy(&validatecertificatechain)).into()
}
Self {
base__: IX509CertificateRequestCmc_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
InitializeFromInnerRequestTemplate: InitializeFromInnerRequestTemplate::<Identity, Impl, OFFSET>,
PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
CheckCertificateSignature: CheckCertificateSignature::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestCmc2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestCmc as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs10_Impl: Sized + IX509CertificateRequest_Impl {
fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromPrivateKey(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromPublicKey(&self, context: X509CertificateEnrollmentContext, ppublickey: ::core::option::Option<&IX509PublicKey>, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromCertificate(&self, context: X509CertificateEnrollmentContext, strcertificate: &::windows_core::BSTR, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn CheckSignature(&self, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows_core::Result<()>;
fn IsSmartCard(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn TemplateObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn PublicKey(&self) -> ::windows_core::Result<IX509PublicKey>;
fn PrivateKey(&self) -> ::windows_core::Result<IX509PrivateKey>;
fn NullSigned(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn ReuseKey(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn Subject(&self) -> ::windows_core::Result<IX500DistinguishedName>;
fn SetSubject(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows_core::Result<()>;
fn CspStatuses(&self) -> ::windows_core::Result<ICspStatuses>;
fn SmimeCapabilities(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSmimeCapabilities(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SignatureInformation(&self) -> ::windows_core::Result<IX509SignatureInformation>;
fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetKeyContainerNamePrefix(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CryptAttributes(&self) -> ::windows_core::Result<ICryptAttributes>;
fn X509Extensions(&self) -> ::windows_core::Result<IX509Extensions>;
fn CriticalExtensions(&self) -> ::windows_core::Result<IObjectIds>;
fn SuppressOids(&self) -> ::windows_core::Result<IObjectIds>;
fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result<ICspStatuses>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs10 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs10_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10_Vtbl {
unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeFromPrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromPrivateKey(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&pprivatekey), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeFromPublicKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppublickey: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromPublicKey(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppublickey), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCertificate(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&inheritoptions)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn CheckSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckSignature(::core::mem::transmute_copy(&allowedsignaturetypes)).into()
}
unsafe extern "system" fn IsSmartCard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSmartCard() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TemplateObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TemplateObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PublicKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PublicKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PrivateKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NullSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NullSigned() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReuseKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReuseKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_OldCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_OldCertificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Subject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Subject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSubject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSubject(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn CspStatuses<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspStatuses() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SmimeCapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SmimeCapabilities() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSmimeCapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSmimeCapabilities(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SignatureInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignatureInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn KeyContainerNamePrefix<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeyContainerNamePrefix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKeyContainerNamePrefix<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyContainerNamePrefix(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn CryptAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CryptAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn X509Extensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509Extensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CriticalExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CriticalExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SuppressOids<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressOids() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawDataToBeSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawDataToBeSigned(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Signature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCspStatuses<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyspec: X509KeySpec, ppcspstatuses: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCspStatuses(::core::mem::transmute_copy(&keyspec)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcspstatuses, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509CertificateRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
InitializeFromPrivateKey: InitializeFromPrivateKey::<Identity, Impl, OFFSET>,
InitializeFromPublicKey: InitializeFromPublicKey::<Identity, Impl, OFFSET>,
InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
IsSmartCard: IsSmartCard::<Identity, Impl, OFFSET>,
TemplateObjectId: TemplateObjectId::<Identity, Impl, OFFSET>,
PublicKey: PublicKey::<Identity, Impl, OFFSET>,
PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
NullSigned: NullSigned::<Identity, Impl, OFFSET>,
ReuseKey: ReuseKey::<Identity, Impl, OFFSET>,
get_OldCertificate: get_OldCertificate::<Identity, Impl, OFFSET>,
Subject: Subject::<Identity, Impl, OFFSET>,
SetSubject: SetSubject::<Identity, Impl, OFFSET>,
CspStatuses: CspStatuses::<Identity, Impl, OFFSET>,
SmimeCapabilities: SmimeCapabilities::<Identity, Impl, OFFSET>,
SetSmimeCapabilities: SetSmimeCapabilities::<Identity, Impl, OFFSET>,
SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
KeyContainerNamePrefix: KeyContainerNamePrefix::<Identity, Impl, OFFSET>,
SetKeyContainerNamePrefix: SetKeyContainerNamePrefix::<Identity, Impl, OFFSET>,
CryptAttributes: CryptAttributes::<Identity, Impl, OFFSET>,
X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
SuppressOids: SuppressOids::<Identity, Impl, OFFSET>,
get_RawDataToBeSigned: get_RawDataToBeSigned::<Identity, Impl, OFFSET>,
get_Signature: get_Signature::<Identity, Impl, OFFSET>,
GetCspStatuses: GetCspStatuses::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs10V2_Impl: Sized + IX509CertificateRequestPkcs10_Impl {
fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn InitializeFromPrivateKeyTemplate(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn InitializeFromPublicKeyTemplate(&self, context: X509CertificateEnrollmentContext, ppublickey: ::core::option::Option<&IX509PublicKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn PolicyServer(&self) -> ::windows_core::Result<IX509EnrollmentPolicyServer>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs10V2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs10V2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V2_Vtbl {
unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn InitializeFromPrivateKeyTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromPrivateKeyTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&pprivatekey), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn InitializeFromPublicKeyTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppublickey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromPublicKeyTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppublickey), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn PolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509CertificateRequestPkcs10_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
InitializeFromPrivateKeyTemplate: InitializeFromPrivateKeyTemplate::<Identity, Impl, OFFSET>,
InitializeFromPublicKeyTemplate: InitializeFromPublicKeyTemplate::<Identity, Impl, OFFSET>,
PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs10V2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs10V3_Impl: Sized + IX509CertificateRequestPkcs10V2_Impl {
fn AttestPrivateKey(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAttestPrivateKey(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn get_AttestationEncryptionCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_AttestationEncryptionCertificate(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn EncryptionAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetEncryptionAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn EncryptionStrength(&self) -> ::windows_core::Result<i32>;
fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()>;
fn ChallengePassword(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetChallengePassword(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn NameValuePairs(&self) -> ::windows_core::Result<IX509NameValuePairs>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs10V3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs10V3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V3_Vtbl {
unsafe extern "system" fn AttestPrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AttestPrivateKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAttestPrivateKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAttestPrivateKey(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn get_AttestationEncryptionCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_AttestationEncryptionCertificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_AttestationEncryptionCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_AttestationEncryptionCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEncryptionAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEncryptionAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn EncryptionStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EncryptionStrength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEncryptionStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEncryptionStrength(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ChallengePassword<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ChallengePassword() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetChallengePassword<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetChallengePassword(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn NameValuePairs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NameValuePairs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509CertificateRequestPkcs10V2_Vtbl::new::<Identity, Impl, OFFSET>(),
AttestPrivateKey: AttestPrivateKey::<Identity, Impl, OFFSET>,
SetAttestPrivateKey: SetAttestPrivateKey::<Identity, Impl, OFFSET>,
get_AttestationEncryptionCertificate: get_AttestationEncryptionCertificate::<Identity, Impl, OFFSET>,
put_AttestationEncryptionCertificate: put_AttestationEncryptionCertificate::<Identity, Impl, OFFSET>,
EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
SetEncryptionAlgorithm: SetEncryptionAlgorithm::<Identity, Impl, OFFSET>,
EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
SetEncryptionStrength: SetEncryptionStrength::<Identity, Impl, OFFSET>,
ChallengePassword: ChallengePassword::<Identity, Impl, OFFSET>,
SetChallengePassword: SetChallengePassword::<Identity, Impl, OFFSET>,
NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs10V3 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs10V4_Impl: Sized + IX509CertificateRequestPkcs10V3_Impl {
fn ClaimType(&self) -> ::windows_core::Result<KeyAttestationClaimType>;
fn SetClaimType(&self, value: KeyAttestationClaimType) -> ::windows_core::Result<()>;
fn AttestPrivateKeyPreferred(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAttestPrivateKeyPreferred(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs10V4 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs10V4_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V4_Vtbl {
unsafe extern "system" fn ClaimType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut KeyAttestationClaimType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClaimType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetClaimType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: KeyAttestationClaimType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClaimType(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn AttestPrivateKeyPreferred<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AttestPrivateKeyPreferred() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAttestPrivateKeyPreferred<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAttestPrivateKeyPreferred(::core::mem::transmute_copy(&value)).into()
}
Self {
base__: IX509CertificateRequestPkcs10V3_Vtbl::new::<Identity, Impl, OFFSET>(),
ClaimType: ClaimType::<Identity, Impl, OFFSET>,
SetClaimType: SetClaimType::<Identity, Impl, OFFSET>,
AttestPrivateKeyPreferred: AttestPrivateKeyPreferred::<Identity, Impl, OFFSET>,
SetAttestPrivateKeyPreferred: SetAttestPrivateKeyPreferred::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs10V4 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V2 as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V3 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs7_Impl: Sized + IX509CertificateRequest_Impl {
fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromCertificate(&self, context: X509CertificateEnrollmentContext, renewalrequest: super::super::super::Foundation::VARIANT_BOOL, strcertificate: &::windows_core::BSTR, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows_core::Result<()>;
fn InitializeFromInnerRequest(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn RequesterName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetRequesterName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SignerCertificate(&self) -> ::windows_core::Result<ISignerCertificate>;
fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs7 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs7_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs7_Vtbl {
unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, renewalrequest: super::super::super::Foundation::VARIANT_BOOL, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromCertificate(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&renewalrequest), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&inheritoptions)).into()
}
unsafe extern "system" fn InitializeFromInnerRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromInnerRequest(::windows_core::from_raw_borrowed(&pinnerrequest)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn RequesterName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequesterName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRequesterName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRequesterName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignerCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: IX509CertificateRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
InitializeFromInnerRequest: InitializeFromInnerRequest::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
RequesterName: RequesterName::<Identity, Impl, OFFSET>,
SetRequesterName: SetRequesterName::<Identity, Impl, OFFSET>,
SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs7 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRequestPkcs7V2_Impl: Sized + IX509CertificateRequestPkcs7_Impl {
fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn PolicyServer(&self) -> ::windows_core::Result<IX509EnrollmentPolicyServer>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
fn CheckCertificateSignature(&self, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRequestPkcs7V2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRequestPkcs7V2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs7V2_Vtbl {
unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn PolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CheckCertificateSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckCertificateSignature(::core::mem::transmute_copy(&validatecertificatechain)).into()
}
Self {
base__: IX509CertificateRequestPkcs7_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
CheckCertificateSignature: CheckCertificateSignature::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRequestPkcs7V2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows_core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRevocationList_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, strencodeddata: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn Encode(&self) -> ::windows_core::Result<()>;
fn ResetForEncode(&self) -> ::windows_core::Result<()>;
fn CheckPublicKeySignature(&self, ppublickey: ::core::option::Option<&IX509PublicKey>) -> ::windows_core::Result<()>;
fn CheckSignature(&self) -> ::windows_core::Result<()>;
fn Issuer(&self) -> ::windows_core::Result<IX500DistinguishedName>;
fn SetIssuer(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows_core::Result<()>;
fn ThisUpdate(&self) -> ::windows_core::Result<f64>;
fn SetThisUpdate(&self, value: f64) -> ::windows_core::Result<()>;
fn NextUpdate(&self) -> ::windows_core::Result<f64>;
fn SetNextUpdate(&self, value: f64) -> ::windows_core::Result<()>;
fn X509CRLEntries(&self) -> ::windows_core::Result<IX509CertificateRevocationListEntries>;
fn X509Extensions(&self) -> ::windows_core::Result<IX509Extensions>;
fn CriticalExtensions(&self) -> ::windows_core::Result<IObjectIds>;
fn SignerCertificate(&self) -> ::windows_core::Result<ISignerCertificate>;
fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
fn get_CRLNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_CRLNumber(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CAVersion(&self) -> ::windows_core::Result<i32>;
fn SetCAVersion(&self, pvalue: i32) -> ::windows_core::Result<()>;
fn BaseCRL(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn NullSigned(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn HashAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SignatureInformation(&self) -> ::windows_core::Result<IX509SignatureInformation>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRevocationList {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRevocationList_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>() -> IX509CertificateRevocationList_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize().into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn Encode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Encode().into()
}
unsafe extern "system" fn ResetForEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetForEncode().into()
}
unsafe extern "system" fn CheckPublicKeySignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppublickey: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckPublicKeySignature(::windows_core::from_raw_borrowed(&ppublickey)).into()
}
unsafe extern "system" fn CheckSignature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckSignature().into()
}
unsafe extern "system" fn Issuer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Issuer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIssuer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetIssuer(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn ThisUpdate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ThisUpdate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetThisUpdate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThisUpdate(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn NextUpdate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NextUpdate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextUpdate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNextUpdate(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn X509CRLEntries<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509CRLEntries() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn X509Extensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509Extensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CriticalExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CriticalExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignerCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn get_CRLNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_CRLNumber(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_CRLNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_CRLNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn CAVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCAVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCAVersion(::core::mem::transmute_copy(&pvalue)).into()
}
unsafe extern "system" fn BaseCRL<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BaseCRL() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NullSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NullSigned() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternateSignatureAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SignatureInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignatureInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawDataToBeSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawDataToBeSigned(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Signature<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
Encode: Encode::<Identity, Impl, OFFSET>,
ResetForEncode: ResetForEncode::<Identity, Impl, OFFSET>,
CheckPublicKeySignature: CheckPublicKeySignature::<Identity, Impl, OFFSET>,
CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
Issuer: Issuer::<Identity, Impl, OFFSET>,
SetIssuer: SetIssuer::<Identity, Impl, OFFSET>,
ThisUpdate: ThisUpdate::<Identity, Impl, OFFSET>,
SetThisUpdate: SetThisUpdate::<Identity, Impl, OFFSET>,
NextUpdate: NextUpdate::<Identity, Impl, OFFSET>,
SetNextUpdate: SetNextUpdate::<Identity, Impl, OFFSET>,
X509CRLEntries: X509CRLEntries::<Identity, Impl, OFFSET>,
X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
get_CRLNumber: get_CRLNumber::<Identity, Impl, OFFSET>,
put_CRLNumber: put_CRLNumber::<Identity, Impl, OFFSET>,
CAVersion: CAVersion::<Identity, Impl, OFFSET>,
SetCAVersion: SetCAVersion::<Identity, Impl, OFFSET>,
BaseCRL: BaseCRL::<Identity, Impl, OFFSET>,
NullSigned: NullSigned::<Identity, Impl, OFFSET>,
HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
get_RawDataToBeSigned: get_RawDataToBeSigned::<Identity, Impl, OFFSET>,
get_Signature: get_Signature::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRevocationList as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRevocationListEntries_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509CertificateRevocationListEntry>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509CertificateRevocationListEntry>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_IndexBySerialNumber(&self, encoding: EncodingType, serialnumber: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn AddRange(&self, pvalue: ::core::option::Option<&IX509CertificateRevocationListEntries>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRevocationListEntries {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRevocationListEntries_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>() -> IX509CertificateRevocationListEntries_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_IndexBySerialNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, serialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_IndexBySerialNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&serialnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddRange(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_IndexBySerialNumber: get_IndexBySerialNumber::<Identity, Impl, OFFSET>,
AddRange: AddRange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRevocationListEntries as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateRevocationListEntry_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, encoding: EncodingType, serialnumber: &::windows_core::BSTR, revocationdate: f64) -> ::windows_core::Result<()>;
fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn RevocationDate(&self) -> ::windows_core::Result<f64>;
fn RevocationReason(&self) -> ::windows_core::Result<CRLRevocationReason>;
fn SetRevocationReason(&self, value: CRLRevocationReason) -> ::windows_core::Result<()>;
fn X509Extensions(&self) -> ::windows_core::Result<IX509Extensions>;
fn CriticalExtensions(&self) -> ::windows_core::Result<IObjectIds>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateRevocationListEntry {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateRevocationListEntry_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>() -> IX509CertificateRevocationListEntry_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, serialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, revocationdate: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&serialnumber), ::core::mem::transmute_copy(&revocationdate)).into()
}
unsafe extern "system" fn get_SerialNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SerialNumber(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RevocationDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RevocationDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RevocationReason<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CRLRevocationReason) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RevocationReason() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRevocationReason<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: CRLRevocationReason) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRevocationReason(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn X509Extensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509Extensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CriticalExtensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CriticalExtensions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
get_SerialNumber: get_SerialNumber::<Identity, Impl, OFFSET>,
RevocationDate: RevocationDate::<Identity, Impl, OFFSET>,
RevocationReason: RevocationReason::<Identity, Impl, OFFSET>,
SetRevocationReason: SetRevocationReason::<Identity, Impl, OFFSET>,
X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateRevocationListEntry as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateTemplate_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateTemplate {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateTemplate_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplate_Impl, const OFFSET: isize>() -> IX509CertificateTemplate_Vtbl {
unsafe extern "system" fn get_Property<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, pvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Property(::core::mem::transmute_copy(&property)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), get_Property: get_Property::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateTemplate as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateTemplateWritable_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pvalue: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn Commit(&self, commitflags: CommitTemplateFlags, strservercontext: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn put_Property(&self, property: EnrollmentTemplateProperty, value: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateTemplateWritable {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateTemplateWritable_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>() -> IX509CertificateTemplateWritable_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn Commit<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, commitflags: CommitTemplateFlags, strservercontext: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Commit(::core::mem::transmute_copy(&commitflags), ::core::mem::transmute(&strservercontext)).into()
}
unsafe extern "system" fn get_Property<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, pvalue: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Property(::core::mem::transmute_copy(&property)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Property<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, value: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Property(::core::mem::transmute_copy(&property), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Commit: Commit::<Identity, Impl, OFFSET>,
get_Property: get_Property::<Identity, Impl, OFFSET>,
put_Property: put_Property::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateTemplateWritable as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509CertificateTemplates_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509CertificateTemplate>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_ItemByName(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<IX509CertificateTemplate>;
fn get_ItemByOid(&self, poid: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<IX509CertificateTemplate>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509CertificateTemplates {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509CertificateTemplates_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>() -> IX509CertificateTemplates_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_ItemByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByName(::core::mem::transmute(&bstrname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ItemByOid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poid: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByOid(::windows_core::from_raw_borrowed(&poid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
get_ItemByOid: get_ItemByOid::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509CertificateTemplates as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509EndorsementKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetProviderName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Length(&self) -> ::windows_core::Result<i32>;
fn Opened(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn AddCertificate(&self, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RemoveCertificate(&self, encoding: EncodingType, strcertificate: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetCertificateByIndex(&self, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, dwindex: i32, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCertificateCount(&self, manufactureronly: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<i32>;
fn ExportPublicKey(&self) -> ::windows_core::Result<IX509PublicKey>;
fn Open(&self) -> ::windows_core::Result<()>;
fn Close(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509EndorsementKey {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509EndorsementKey_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>() -> IX509EndorsementKey_Vtbl {
unsafe extern "system" fn ProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Length<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Length() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Opened<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Opened() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn RemoveCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
}
unsafe extern "system" fn GetCertificateByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, dwindex: i32, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateByIndex(::core::mem::transmute_copy(&manufactureronly), ::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCertificateCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, pcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCertificateCount(::core::mem::transmute_copy(&manufactureronly)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ExportPublicKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppublickey: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ExportPublicKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppublickey, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Open<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Open().into()
}
unsafe extern "system" fn Close<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
ProviderName: ProviderName::<Identity, Impl, OFFSET>,
SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
Length: Length::<Identity, Impl, OFFSET>,
Opened: Opened::<Identity, Impl, OFFSET>,
AddCertificate: AddCertificate::<Identity, Impl, OFFSET>,
RemoveCertificate: RemoveCertificate::<Identity, Impl, OFFSET>,
GetCertificateByIndex: GetCertificateByIndex::<Identity, Impl, OFFSET>,
GetCertificateCount: GetCertificateCount::<Identity, Impl, OFFSET>,
ExportPublicKey: ExportPublicKey::<Identity, Impl, OFFSET>,
Open: Open::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509EndorsementKey as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Enrollment_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeFromRequest(&self, prequest: ::core::option::Option<&IX509CertificateRequest>) -> ::windows_core::Result<()>;
fn CreateRequest(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn Enroll(&self) -> ::windows_core::Result<()>;
fn InstallResponse(&self, restrictions: InstallResponseRestrictionFlags, strresponse: &::windows_core::BSTR, encoding: EncodingType, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CreatePFX(&self, strpassword: &::windows_core::BSTR, exportoptions: PFXExportOptions, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn Request(&self) -> ::windows_core::Result<IX509CertificateRequest>;
fn Silent(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ParentWindow(&self) -> ::windows_core::Result<i32>;
fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()>;
fn NameValuePairs(&self) -> ::windows_core::Result<IX509NameValuePairs>;
fn EnrollmentContext(&self) -> ::windows_core::Result<X509CertificateEnrollmentContext>;
fn Status(&self) -> ::windows_core::Result<IX509EnrollmentStatus>;
fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_Response(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCertificateFriendlyName(&self, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CertificateDescription(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCertificateDescription(&self, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn RequestId(&self) -> ::windows_core::Result<i32>;
fn CAConfigString(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Enrollment {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Enrollment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>() -> IX509Enrollment_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeFromRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromRequest(::windows_core::from_raw_borrowed(&prequest)).into()
}
unsafe extern "system" fn CreateRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateRequest(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Enroll<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Enroll().into()
}
unsafe extern "system" fn InstallResponse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restrictions: InstallResponseRestrictionFlags, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InstallResponse(::core::mem::transmute_copy(&restrictions), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn CreatePFX<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>, exportoptions: PFXExportOptions, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreatePFX(::core::mem::transmute(&strpassword), ::core::mem::transmute_copy(&exportoptions), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Request<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Request() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Silent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Silent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSilent(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParentWindow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn NameValuePairs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NameValuePairs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnrollmentContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnrollmentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Status<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Status() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Certificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Response<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Response(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CertificateFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CertificateFriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCertificateFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateFriendlyName(::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn CertificateDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CertificateDescription() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCertificateDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateDescription(::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn RequestId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CAConfigString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CAConfigString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
InitializeFromRequest: InitializeFromRequest::<Identity, Impl, OFFSET>,
CreateRequest: CreateRequest::<Identity, Impl, OFFSET>,
Enroll: Enroll::<Identity, Impl, OFFSET>,
InstallResponse: InstallResponse::<Identity, Impl, OFFSET>,
CreatePFX: CreatePFX::<Identity, Impl, OFFSET>,
Request: Request::<Identity, Impl, OFFSET>,
Silent: Silent::<Identity, Impl, OFFSET>,
SetSilent: SetSilent::<Identity, Impl, OFFSET>,
ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
EnrollmentContext: EnrollmentContext::<Identity, Impl, OFFSET>,
Status: Status::<Identity, Impl, OFFSET>,
get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
get_Response: get_Response::<Identity, Impl, OFFSET>,
CertificateFriendlyName: CertificateFriendlyName::<Identity, Impl, OFFSET>,
SetCertificateFriendlyName: SetCertificateFriendlyName::<Identity, Impl, OFFSET>,
CertificateDescription: CertificateDescription::<Identity, Impl, OFFSET>,
SetCertificateDescription: SetCertificateDescription::<Identity, Impl, OFFSET>,
RequestId: RequestId::<Identity, Impl, OFFSET>,
CAConfigString: CAConfigString::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Enrollment as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Enrollment2_Impl: Sized + IX509Enrollment_Impl {
fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<()>;
fn InstallResponse2(&self, restrictions: InstallResponseRestrictionFlags, strresponse: &::windows_core::BSTR, encoding: EncodingType, strpassword: &::windows_core::BSTR, strenrollmentpolicyserverurl: &::windows_core::BSTR, strenrollmentpolicyserverid: &::windows_core::BSTR, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags) -> ::windows_core::Result<()>;
fn PolicyServer(&self) -> ::windows_core::Result<IX509EnrollmentPolicyServer>;
fn Template(&self) -> ::windows_core::Result<IX509CertificateTemplate>;
fn RequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Enrollment2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Enrollment2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>() -> IX509Enrollment2_Vtbl {
unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows_core::from_raw_borrowed(&ppolicyserver), ::windows_core::from_raw_borrowed(&ptemplate)).into()
}
unsafe extern "system" fn InstallResponse2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restrictions: InstallResponseRestrictionFlags, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>, strenrollmentpolicyserverurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, strenrollmentpolicyserverid: ::std::mem::MaybeUninit<::windows_core::BSTR>, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InstallResponse2(::core::mem::transmute_copy(&restrictions), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpassword), ::core::mem::transmute(&strenrollmentpolicyserverurl), ::core::mem::transmute(&strenrollmentpolicyserverid), ::core::mem::transmute_copy(&enrollmentpolicyserverflags), ::core::mem::transmute_copy(&authflags)).into()
}
unsafe extern "system" fn PolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PolicyServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Template<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Template() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RequestIdString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RequestIdString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Enrollment_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
InstallResponse2: InstallResponse2::<Identity, Impl, OFFSET>,
PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
Template: Template::<Identity, Impl, OFFSET>,
RequestIdString: RequestIdString::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Enrollment2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Enrollment as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509EnrollmentHelper_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn AddPolicyServer(&self, strenrollmentpolicyserveruri: &::windows_core::BSTR, strenrollmentpolicyid: &::windows_core::BSTR, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags, strcredential: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn AddEnrollmentServer(&self, strenrollmentserveruri: &::windows_core::BSTR, authflags: X509EnrollmentAuthFlags, strcredential: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Enroll(&self, strenrollmentpolicyserveruri: &::windows_core::BSTR, strtemplatename: &::windows_core::BSTR, encoding: EncodingType, enrollflags: WebEnrollmentFlags) -> ::windows_core::Result<::windows_core::BSTR>;
fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509EnrollmentHelper {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509EnrollmentHelper_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>() -> IX509EnrollmentHelper_Vtbl {
unsafe extern "system" fn AddPolicyServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentpolicyserveruri: ::std::mem::MaybeUninit<::windows_core::BSTR>, strenrollmentpolicyid: ::std::mem::MaybeUninit<::windows_core::BSTR>, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddPolicyServer(::core::mem::transmute(&strenrollmentpolicyserveruri), ::core::mem::transmute(&strenrollmentpolicyid), ::core::mem::transmute_copy(&enrollmentpolicyserverflags), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn AddEnrollmentServer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentserveruri: ::std::mem::MaybeUninit<::windows_core::BSTR>, authflags: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEnrollmentServer(::core::mem::transmute(&strenrollmentserveruri), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn Enroll<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentpolicyserveruri: ::std::mem::MaybeUninit<::windows_core::BSTR>, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, enrollflags: WebEnrollmentFlags, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Enroll(::core::mem::transmute(&strenrollmentpolicyserveruri), ::core::mem::transmute(&strtemplatename), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&enrollflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&context)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
AddPolicyServer: AddPolicyServer::<Identity, Impl, OFFSET>,
AddEnrollmentServer: AddEnrollmentServer::<Identity, Impl, OFFSET>,
Enroll: Enroll::<Identity, Impl, OFFSET>,
Initialize: Initialize::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509EnrollmentHelper as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509EnrollmentPolicyServer_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, bstrpolicyserverurl: &::windows_core::BSTR, bstrpolicyserverid: &::windows_core::BSTR, authflags: X509EnrollmentAuthFlags, fisuntrusted: super::super::super::Foundation::VARIANT_BOOL, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn LoadPolicy(&self, option: X509EnrollmentPolicyLoadOption) -> ::windows_core::Result<()>;
fn GetTemplates(&self) -> ::windows_core::Result<IX509CertificateTemplates>;
fn GetCAsForTemplate(&self, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows_core::Result<ICertificationAuthorities>;
fn GetCAs(&self) -> ::windows_core::Result<ICertificationAuthorities>;
fn Validate(&self) -> ::windows_core::Result<()>;
fn GetCustomOids(&self) -> ::windows_core::Result<IObjectIds>;
fn GetNextUpdateTime(&self) -> ::windows_core::Result<f64>;
fn GetLastUpdateTime(&self) -> ::windows_core::Result<f64>;
fn GetPolicyServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetPolicyServerId(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetIsDefaultCEP(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetUseClientId(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetAllowUnTrustedCA(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetCachePath(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCacheDir(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetAuthFlags(&self) -> ::windows_core::Result<X509EnrollmentAuthFlags>;
fn SetCredential(&self, hwndparent: i32, flag: X509EnrollmentAuthFlags, strcredential: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn QueryChanges(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn InitializeImport(&self, val: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Export(&self, exportflags: X509EnrollmentPolicyExportFlags) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Cost(&self) -> ::windows_core::Result<u32>;
fn SetCost(&self, value: u32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509EnrollmentPolicyServer {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509EnrollmentPolicyServer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>() -> IX509EnrollmentPolicyServer_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpolicyserverurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, bstrpolicyserverid: ::std::mem::MaybeUninit<::windows_core::BSTR>, authflags: X509EnrollmentAuthFlags, fisuntrusted: super::super::super::Foundation::VARIANT_BOOL, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&bstrpolicyserverurl), ::core::mem::transmute(&bstrpolicyserverid), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute_copy(&fisuntrusted), ::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn LoadPolicy<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, option: X509EnrollmentPolicyLoadOption) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LoadPolicy(::core::mem::transmute_copy(&option)).into()
}
unsafe extern "system" fn GetTemplates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplates: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTemplates() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ptemplates, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAsForTemplate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void, ppcas: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAsForTemplate(::windows_core::from_raw_borrowed(&ptemplate)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcas, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcas: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcas, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Validate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Validate().into()
}
unsafe extern "system" fn GetCustomOids<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppobjectids: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCustomOids() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppobjectids, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextUpdateTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextUpdateTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastUpdateTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLastUpdateTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolicyServerUrl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPolicyServerUrl() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolicyServerId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPolicyServerId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIsDefaultCEP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIsDefaultCEP() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUseClientId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUseClientId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAllowUnTrustedCA<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAllowUnTrustedCA() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCachePath<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCachePath() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCacheDir<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCacheDir() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAuthFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAuthFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCredential<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: i32, flag: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCredential(::core::mem::transmute_copy(&hwndparent), ::core::mem::transmute_copy(&flag), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn QueryChanges<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.QueryChanges() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InitializeImport<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, val: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeImport(::core::mem::transmute(&val)).into()
}
unsafe extern "system" fn Export<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exportflags: X509EnrollmentPolicyExportFlags, pval: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Export(::core::mem::transmute_copy(&exportflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Cost<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Cost() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCost<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCost(::core::mem::transmute_copy(&value)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
LoadPolicy: LoadPolicy::<Identity, Impl, OFFSET>,
GetTemplates: GetTemplates::<Identity, Impl, OFFSET>,
GetCAsForTemplate: GetCAsForTemplate::<Identity, Impl, OFFSET>,
GetCAs: GetCAs::<Identity, Impl, OFFSET>,
Validate: Validate::<Identity, Impl, OFFSET>,
GetCustomOids: GetCustomOids::<Identity, Impl, OFFSET>,
GetNextUpdateTime: GetNextUpdateTime::<Identity, Impl, OFFSET>,
GetLastUpdateTime: GetLastUpdateTime::<Identity, Impl, OFFSET>,
GetPolicyServerUrl: GetPolicyServerUrl::<Identity, Impl, OFFSET>,
GetPolicyServerId: GetPolicyServerId::<Identity, Impl, OFFSET>,
GetFriendlyName: GetFriendlyName::<Identity, Impl, OFFSET>,
GetIsDefaultCEP: GetIsDefaultCEP::<Identity, Impl, OFFSET>,
GetUseClientId: GetUseClientId::<Identity, Impl, OFFSET>,
GetAllowUnTrustedCA: GetAllowUnTrustedCA::<Identity, Impl, OFFSET>,
GetCachePath: GetCachePath::<Identity, Impl, OFFSET>,
GetCacheDir: GetCacheDir::<Identity, Impl, OFFSET>,
GetAuthFlags: GetAuthFlags::<Identity, Impl, OFFSET>,
SetCredential: SetCredential::<Identity, Impl, OFFSET>,
QueryChanges: QueryChanges::<Identity, Impl, OFFSET>,
InitializeImport: InitializeImport::<Identity, Impl, OFFSET>,
Export: Export::<Identity, Impl, OFFSET>,
Cost: Cost::<Identity, Impl, OFFSET>,
SetCost: SetCost::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509EnrollmentPolicyServer as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509EnrollmentStatus_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn AppendText(&self, strtext: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Text(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetText(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Selected(&self) -> ::windows_core::Result<EnrollmentSelectionStatus>;
fn SetSelected(&self, value: EnrollmentSelectionStatus) -> ::windows_core::Result<()>;
fn Display(&self) -> ::windows_core::Result<EnrollmentDisplayStatus>;
fn SetDisplay(&self, value: EnrollmentDisplayStatus) -> ::windows_core::Result<()>;
fn Status(&self) -> ::windows_core::Result<EnrollmentEnrollStatus>;
fn SetStatus(&self, value: EnrollmentEnrollStatus) -> ::windows_core::Result<()>;
fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
fn SetError(&self, value: ::windows_core::HRESULT) -> ::windows_core::Result<()>;
fn ErrorText(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509EnrollmentStatus {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509EnrollmentStatus_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>() -> IX509EnrollmentStatus_Vtbl {
unsafe extern "system" fn AppendText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtext: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendText(::core::mem::transmute(&strtext)).into()
}
unsafe extern "system" fn Text<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Text() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetText(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Selected<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentSelectionStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Selected() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSelected<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentSelectionStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSelected(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Display<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentDisplayStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Display() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDisplay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentDisplayStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDisplay(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Status<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentEnrollStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Status() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentEnrollStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStatus(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Error<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Error() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetError<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetError(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ErrorText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ErrorText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
AppendText: AppendText::<Identity, Impl, OFFSET>,
Text: Text::<Identity, Impl, OFFSET>,
SetText: SetText::<Identity, Impl, OFFSET>,
Selected: Selected::<Identity, Impl, OFFSET>,
SetSelected: SetSelected::<Identity, Impl, OFFSET>,
Display: Display::<Identity, Impl, OFFSET>,
SetDisplay: SetDisplay::<Identity, Impl, OFFSET>,
Status: Status::<Identity, Impl, OFFSET>,
SetStatus: SetStatus::<Identity, Impl, OFFSET>,
Error: Error::<Identity, Impl, OFFSET>,
SetError: SetError::<Identity, Impl, OFFSET>,
ErrorText: ErrorText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509EnrollmentStatus as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509EnrollmentWebClassFactory_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn CreateObject(&self, strprogid: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509EnrollmentWebClassFactory {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509EnrollmentWebClassFactory_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentWebClassFactory_Impl, const OFFSET: isize>() -> IX509EnrollmentWebClassFactory_Vtbl {
unsafe extern "system" fn CreateObject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentWebClassFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprogid: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppiunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateObject(::core::mem::transmute(&strprogid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppiunknown, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), CreateObject: CreateObject::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509EnrollmentWebClassFactory as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Extension_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ObjectId(&self) -> ::windows_core::Result<IObjectId>;
fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn Critical(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetCritical(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Extension {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Extension_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>() -> IX509Extension_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn ObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ObjectId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_RawData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Critical<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Critical() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCritical<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCritical(::core::mem::transmute_copy(&value)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
ObjectId: ObjectId::<Identity, Impl, OFFSET>,
get_RawData: get_RawData::<Identity, Impl, OFFSET>,
Critical: Critical::<Identity, Impl, OFFSET>,
SetCritical: SetCritical::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Extension as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionAlternativeNames_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, pvalue: ::core::option::Option<&IAlternativeNames>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn AlternativeNames(&self) -> ::windows_core::Result<IAlternativeNames>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionAlternativeNames {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionAlternativeNames_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>() -> IX509ExtensionAlternativeNames_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn AlternativeNames<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternativeNames() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
AlternativeNames: AlternativeNames::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionAlternativeNames as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionAuthorityKeyIdentifier_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, encoding: EncodingType, strkeyidentifier: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_AuthorityKeyIdentifier(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionAuthorityKeyIdentifier {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionAuthorityKeyIdentifier_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>() -> IX509ExtensionAuthorityKeyIdentifier_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strkeyidentifier: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strkeyidentifier)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn get_AuthorityKeyIdentifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_AuthorityKeyIdentifier(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
get_AuthorityKeyIdentifier: get_AuthorityKeyIdentifier::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionAuthorityKeyIdentifier as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionBasicConstraints_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, isca: super::super::super::Foundation::VARIANT_BOOL, pathlenconstraint: i32) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn IsCA(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn PathLenConstraint(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionBasicConstraints {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionBasicConstraints_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>() -> IX509ExtensionBasicConstraints_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isca: super::super::super::Foundation::VARIANT_BOOL, pathlenconstraint: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&isca), ::core::mem::transmute_copy(&pathlenconstraint)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn IsCA<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsCA() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PathLenConstraint<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PathLenConstraint() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
IsCA: IsCA::<Identity, Impl, OFFSET>,
PathLenConstraint: PathLenConstraint::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionBasicConstraints as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionCertificatePolicies_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, pvalue: ::core::option::Option<&ICertificatePolicies>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Policies(&self) -> ::windows_core::Result<ICertificatePolicies>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionCertificatePolicies {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionCertificatePolicies_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>() -> IX509ExtensionCertificatePolicies_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn Policies<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Policies() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
Policies: Policies::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionCertificatePolicies as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionEnhancedKeyUsage_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, pvalue: ::core::option::Option<&IObjectIds>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn EnhancedKeyUsage(&self) -> ::windows_core::Result<IObjectIds>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionEnhancedKeyUsage {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionEnhancedKeyUsage_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>() -> IX509ExtensionEnhancedKeyUsage_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn EnhancedKeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnhancedKeyUsage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
EnhancedKeyUsage: EnhancedKeyUsage::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionEnhancedKeyUsage as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionKeyUsage_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, usageflags: X509KeyUsageFlags) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn KeyUsage(&self) -> ::windows_core::Result<X509KeyUsageFlags>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionKeyUsage {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionKeyUsage_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>() -> IX509ExtensionKeyUsage_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usageflags: X509KeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&usageflags)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn KeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeyUsage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
KeyUsage: KeyUsage::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionKeyUsage as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionMSApplicationPolicies_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, pvalue: ::core::option::Option<&ICertificatePolicies>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Policies(&self) -> ::windows_core::Result<ICertificatePolicies>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionMSApplicationPolicies {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionMSApplicationPolicies_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>() -> IX509ExtensionMSApplicationPolicies_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn Policies<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Policies() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
Policies: Policies::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionMSApplicationPolicies as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionSmimeCapabilities_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, pvalue: ::core::option::Option<&ISmimeCapabilities>) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SmimeCapabilities(&self) -> ::windows_core::Result<ISmimeCapabilities>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionSmimeCapabilities {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionSmimeCapabilities_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>() -> IX509ExtensionSmimeCapabilities_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn SmimeCapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SmimeCapabilities() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
SmimeCapabilities: SmimeCapabilities::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionSmimeCapabilities as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionSubjectKeyIdentifier_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, encoding: EncodingType, strkeyidentifier: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_SubjectKeyIdentifier(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionSubjectKeyIdentifier {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionSubjectKeyIdentifier_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>() -> IX509ExtensionSubjectKeyIdentifier_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strkeyidentifier: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strkeyidentifier)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn get_SubjectKeyIdentifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SubjectKeyIdentifier(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
get_SubjectKeyIdentifier: get_SubjectKeyIdentifier::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionSubjectKeyIdentifier as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionTemplate_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, ptemplateoid: ::core::option::Option<&IObjectId>, majorversion: i32, minorversion: i32) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn TemplateOid(&self) -> ::windows_core::Result<IObjectId>;
fn MajorVersion(&self) -> ::windows_core::Result<i32>;
fn MinorVersion(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionTemplate {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionTemplate_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>() -> IX509ExtensionTemplate_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplateoid: *mut ::core::ffi::c_void, majorversion: i32, minorversion: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::windows_core::from_raw_borrowed(&ptemplateoid), ::core::mem::transmute_copy(&majorversion), ::core::mem::transmute_copy(&minorversion)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn TemplateOid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TemplateOid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MajorVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MajorVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MinorVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinorVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
TemplateOid: TemplateOid::<Identity, Impl, OFFSET>,
MajorVersion: MajorVersion::<Identity, Impl, OFFSET>,
MinorVersion: MinorVersion::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionTemplate as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509ExtensionTemplateName_Impl: Sized + IX509Extension_Impl {
fn InitializeEncode(&self, strtemplatename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn TemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509ExtensionTemplateName {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509ExtensionTemplateName_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>() -> IX509ExtensionTemplateName_Vtbl {
unsafe extern "system" fn InitializeEncode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeEncode(::core::mem::transmute(&strtemplatename)).into()
}
unsafe extern "system" fn InitializeDecode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
}
unsafe extern "system" fn TemplateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TemplateName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
TemplateName: TemplateName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509ExtensionTemplateName as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509Extension as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509Extensions_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509Extension>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509Extension>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<i32>;
fn AddRange(&self, pvalue: ::core::option::Option<&IX509Extensions>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509Extensions {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509Extensions_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>() -> IX509Extensions_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_IndexByObjectId(::windows_core::from_raw_borrowed(&pobjectid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddRange(::windows_core::from_raw_borrowed(&pvalue)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
AddRange: AddRange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509Extensions as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509MachineEnrollmentFactory_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn CreateObject(&self, strprogid: &::windows_core::BSTR) -> ::windows_core::Result<IX509EnrollmentHelper>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509MachineEnrollmentFactory {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509MachineEnrollmentFactory_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509MachineEnrollmentFactory_Impl, const OFFSET: isize>() -> IX509MachineEnrollmentFactory_Vtbl {
unsafe extern "system" fn CreateObject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509MachineEnrollmentFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprogid: ::std::mem::MaybeUninit<::windows_core::BSTR>, ppihelper: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateObject(::core::mem::transmute(&strprogid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppihelper, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), CreateObject: CreateObject::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509MachineEnrollmentFactory as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509NameValuePair_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, strname: &::windows_core::BSTR, strvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509NameValuePair {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509NameValuePair_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>() -> IX509NameValuePair_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows_core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
}
unsafe extern "system" fn Value<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Value() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Value: Value::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509NameValuePair as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509NameValuePairs_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509NameValuePair>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509NameValuePair>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509NameValuePairs {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509NameValuePairs_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>() -> IX509NameValuePairs_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509NameValuePairs as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509PolicyServerListManager_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result<IX509PolicyServerUrl>;
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Add(&self, pval: ::core::option::Option<&IX509PolicyServerUrl>) -> ::windows_core::Result<()>;
fn Remove(&self, index: i32) -> ::windows_core::Result<()>;
fn Clear(&self) -> ::windows_core::Result<()>;
fn Initialize(&self, context: X509CertificateEnrollmentContext, flags: PolicyServerUrlFlags) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509PolicyServerListManager {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509PolicyServerListManager_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>() -> IX509PolicyServerListManager_Vtbl {
unsafe extern "system" fn get_ItemByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn Clear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Clear().into()
}
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, flags: PolicyServerUrlFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&flags)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clear: Clear::<Identity, Impl, OFFSET>,
Initialize: Initialize::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509PolicyServerListManager as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509PolicyServerUrl_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetUrl(&self, pvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Default(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetDefault(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Flags(&self) -> ::windows_core::Result<PolicyServerUrlFlags>;
fn SetFlags(&self, flags: PolicyServerUrlFlags) -> ::windows_core::Result<()>;
fn AuthFlags(&self) -> ::windows_core::Result<X509EnrollmentAuthFlags>;
fn SetAuthFlags(&self, flags: X509EnrollmentAuthFlags) -> ::windows_core::Result<()>;
fn Cost(&self) -> ::windows_core::Result<u32>;
fn SetCost(&self, value: u32) -> ::windows_core::Result<()>;
fn GetStringProperty(&self, propertyid: PolicyServerUrlPropertyID) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetStringProperty(&self, propertyid: PolicyServerUrlPropertyID, pvalue: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn UpdateRegistry(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn RemoveFromRegistry(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509PolicyServerUrl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509PolicyServerUrl_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>() -> IX509PolicyServerUrl_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn Url<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Url() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUrl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUrl(::core::mem::transmute(&pvalue)).into()
}
unsafe extern "system" fn Default<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Default() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefault<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefault(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Flags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyServerUrlFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Flags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: PolicyServerUrlFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn AuthFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AuthFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAuthFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: X509EnrollmentAuthFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAuthFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn Cost<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Cost() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCost<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCost(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetStringProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyid: PolicyServerUrlPropertyID, ppvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStringProperty(::core::mem::transmute_copy(&propertyid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStringProperty<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyid: PolicyServerUrlPropertyID, pvalue: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStringProperty(::core::mem::transmute_copy(&propertyid), ::core::mem::transmute(&pvalue)).into()
}
unsafe extern "system" fn UpdateRegistry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UpdateRegistry(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn RemoveFromRegistry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveFromRegistry(::core::mem::transmute_copy(&context)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Url: Url::<Identity, Impl, OFFSET>,
SetUrl: SetUrl::<Identity, Impl, OFFSET>,
Default: Default::<Identity, Impl, OFFSET>,
SetDefault: SetDefault::<Identity, Impl, OFFSET>,
Flags: Flags::<Identity, Impl, OFFSET>,
SetFlags: SetFlags::<Identity, Impl, OFFSET>,
AuthFlags: AuthFlags::<Identity, Impl, OFFSET>,
SetAuthFlags: SetAuthFlags::<Identity, Impl, OFFSET>,
Cost: Cost::<Identity, Impl, OFFSET>,
SetCost: SetCost::<Identity, Impl, OFFSET>,
GetStringProperty: GetStringProperty::<Identity, Impl, OFFSET>,
SetStringProperty: SetStringProperty::<Identity, Impl, OFFSET>,
UpdateRegistry: UpdateRegistry::<Identity, Impl, OFFSET>,
RemoveFromRegistry: RemoveFromRegistry::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509PolicyServerUrl as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509PrivateKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Open(&self) -> ::windows_core::Result<()>;
fn Create(&self) -> ::windows_core::Result<()>;
fn Close(&self) -> ::windows_core::Result<()>;
fn Delete(&self) -> ::windows_core::Result<()>;
fn Verify(&self, verifytype: X509PrivateKeyVerify) -> ::windows_core::Result<()>;
fn Import(&self, strexporttype: &::windows_core::BSTR, strencodedkey: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn Export(&self, strexporttype: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn ExportPublicKey(&self) -> ::windows_core::Result<IX509PublicKey>;
fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetContainerName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetContainerNamePrefix(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ReaderName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetReaderName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CspInformations(&self) -> ::windows_core::Result<ICspInformations>;
fn SetCspInformations(&self, pvalue: ::core::option::Option<&ICspInformations>) -> ::windows_core::Result<()>;
fn CspStatus(&self) -> ::windows_core::Result<ICspStatus>;
fn SetCspStatus(&self, pvalue: ::core::option::Option<&ICspStatus>) -> ::windows_core::Result<()>;
fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetProviderName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ProviderType(&self) -> ::windows_core::Result<X509ProviderType>;
fn SetProviderType(&self, value: X509ProviderType) -> ::windows_core::Result<()>;
fn LegacyCsp(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetLegacyCsp(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Algorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn KeySpec(&self) -> ::windows_core::Result<X509KeySpec>;
fn SetKeySpec(&self, value: X509KeySpec) -> ::windows_core::Result<()>;
fn Length(&self) -> ::windows_core::Result<i32>;
fn SetLength(&self, value: i32) -> ::windows_core::Result<()>;
fn ExportPolicy(&self) -> ::windows_core::Result<X509PrivateKeyExportFlags>;
fn SetExportPolicy(&self, value: X509PrivateKeyExportFlags) -> ::windows_core::Result<()>;
fn KeyUsage(&self) -> ::windows_core::Result<X509PrivateKeyUsageFlags>;
fn SetKeyUsage(&self, value: X509PrivateKeyUsageFlags) -> ::windows_core::Result<()>;
fn KeyProtection(&self) -> ::windows_core::Result<X509PrivateKeyProtection>;
fn SetKeyProtection(&self, value: X509PrivateKeyProtection) -> ::windows_core::Result<()>;
fn MachineContext(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetMachineContext(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SecurityDescriptor(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetSecurityDescriptor(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_Certificate(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn UniqueContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Opened(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn DefaultContainer(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn Existing(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetExisting(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Silent(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ParentWindow(&self) -> ::windows_core::Result<i32>;
fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()>;
fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetUIContextMessage(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SetPin(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetFriendlyName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetDescription(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509PrivateKey {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509PrivateKey_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>() -> IX509PrivateKey_Vtbl {
unsafe extern "system" fn Open<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Open().into()
}
unsafe extern "system" fn Create<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Create().into()
}
unsafe extern "system" fn Close<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn Delete<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Delete().into()
}
unsafe extern "system" fn Verify<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, verifytype: X509PrivateKeyVerify) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Verify(::core::mem::transmute_copy(&verifytype)).into()
}
unsafe extern "system" fn Import<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strexporttype: ::std::mem::MaybeUninit<::windows_core::BSTR>, strencodedkey: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Import(::core::mem::transmute(&strexporttype), ::core::mem::transmute(&strencodedkey), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn Export<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strexporttype: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, pstrencodedkey: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Export(::core::mem::transmute(&strexporttype), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrencodedkey, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ExportPublicKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppublickey: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ExportPublicKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppublickey, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ContainerName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContainerName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn ContainerNamePrefix<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ContainerNamePrefix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContainerNamePrefix<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContainerNamePrefix(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn ReaderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReaderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetReaderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetReaderName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn CspInformations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspInformations() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCspInformations<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCspInformations(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn CspStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CspStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCspStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCspStatus(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn ProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn ProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509ProviderType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProviderType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProviderType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509ProviderType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProviderType(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn LegacyCsp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LegacyCsp() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLegacyCsp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLegacyCsp(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Algorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Algorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn KeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeySpec() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKeySpec<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509KeySpec) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeySpec(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Length<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Length() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLength(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ExportPolicy<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyExportFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ExportPolicy() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExportPolicy<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyExportFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExportPolicy(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn KeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeyUsage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyUsage(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn KeyProtection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyProtection) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KeyProtection() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKeyProtection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyProtection) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyProtection(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn MachineContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MachineContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMachineContext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMachineContext(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SecurityDescriptor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SecurityDescriptor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSecurityDescriptor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSecurityDescriptor(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn get_Certificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Certificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Certificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn UniqueContainerName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UniqueContainerName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Opened<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Opened() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultContainer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultContainer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Existing<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Existing() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExisting<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExisting(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Silent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Silent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSilent(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParentWindow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetParentWindow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn UIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UIContextMessage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUIContextMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUIContextMessage(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SetPin<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPin(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn FriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFriendlyName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Description<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Description() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDescription(::core::mem::transmute(&value)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Open: Open::<Identity, Impl, OFFSET>,
Create: Create::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
Delete: Delete::<Identity, Impl, OFFSET>,
Verify: Verify::<Identity, Impl, OFFSET>,
Import: Import::<Identity, Impl, OFFSET>,
Export: Export::<Identity, Impl, OFFSET>,
ExportPublicKey: ExportPublicKey::<Identity, Impl, OFFSET>,
ContainerName: ContainerName::<Identity, Impl, OFFSET>,
SetContainerName: SetContainerName::<Identity, Impl, OFFSET>,
ContainerNamePrefix: ContainerNamePrefix::<Identity, Impl, OFFSET>,
SetContainerNamePrefix: SetContainerNamePrefix::<Identity, Impl, OFFSET>,
ReaderName: ReaderName::<Identity, Impl, OFFSET>,
SetReaderName: SetReaderName::<Identity, Impl, OFFSET>,
CspInformations: CspInformations::<Identity, Impl, OFFSET>,
SetCspInformations: SetCspInformations::<Identity, Impl, OFFSET>,
CspStatus: CspStatus::<Identity, Impl, OFFSET>,
SetCspStatus: SetCspStatus::<Identity, Impl, OFFSET>,
ProviderName: ProviderName::<Identity, Impl, OFFSET>,
SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
ProviderType: ProviderType::<Identity, Impl, OFFSET>,
SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
LegacyCsp: LegacyCsp::<Identity, Impl, OFFSET>,
SetLegacyCsp: SetLegacyCsp::<Identity, Impl, OFFSET>,
Algorithm: Algorithm::<Identity, Impl, OFFSET>,
SetAlgorithm: SetAlgorithm::<Identity, Impl, OFFSET>,
KeySpec: KeySpec::<Identity, Impl, OFFSET>,
SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
Length: Length::<Identity, Impl, OFFSET>,
SetLength: SetLength::<Identity, Impl, OFFSET>,
ExportPolicy: ExportPolicy::<Identity, Impl, OFFSET>,
SetExportPolicy: SetExportPolicy::<Identity, Impl, OFFSET>,
KeyUsage: KeyUsage::<Identity, Impl, OFFSET>,
SetKeyUsage: SetKeyUsage::<Identity, Impl, OFFSET>,
KeyProtection: KeyProtection::<Identity, Impl, OFFSET>,
SetKeyProtection: SetKeyProtection::<Identity, Impl, OFFSET>,
MachineContext: MachineContext::<Identity, Impl, OFFSET>,
SetMachineContext: SetMachineContext::<Identity, Impl, OFFSET>,
SecurityDescriptor: SecurityDescriptor::<Identity, Impl, OFFSET>,
SetSecurityDescriptor: SetSecurityDescriptor::<Identity, Impl, OFFSET>,
get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
put_Certificate: put_Certificate::<Identity, Impl, OFFSET>,
UniqueContainerName: UniqueContainerName::<Identity, Impl, OFFSET>,
Opened: Opened::<Identity, Impl, OFFSET>,
DefaultContainer: DefaultContainer::<Identity, Impl, OFFSET>,
Existing: Existing::<Identity, Impl, OFFSET>,
SetExisting: SetExisting::<Identity, Impl, OFFSET>,
Silent: Silent::<Identity, Impl, OFFSET>,
SetSilent: SetSilent::<Identity, Impl, OFFSET>,
ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
SetPin: SetPin::<Identity, Impl, OFFSET>,
FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
SetFriendlyName: SetFriendlyName::<Identity, Impl, OFFSET>,
Description: Description::<Identity, Impl, OFFSET>,
SetDescription: SetDescription::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509PrivateKey as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509PrivateKey2_Impl: Sized + IX509PrivateKey_Impl {
fn HardwareKeyUsage(&self) -> ::windows_core::Result<X509HardwareKeyUsageFlags>;
fn SetHardwareKeyUsage(&self, value: X509HardwareKeyUsageFlags) -> ::windows_core::Result<()>;
fn AlternateStorageLocation(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetAlternateStorageLocation(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn AlgorithmName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetAlgorithmName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_AlgorithmParameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_AlgorithmParameters(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ParametersExportType(&self) -> ::windows_core::Result<X509KeyParametersExportType>;
fn SetParametersExportType(&self, value: X509KeyParametersExportType) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509PrivateKey2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509PrivateKey2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>() -> IX509PrivateKey2_Vtbl {
unsafe extern "system" fn HardwareKeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509HardwareKeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HardwareKeyUsage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHardwareKeyUsage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509HardwareKeyUsageFlags) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHardwareKeyUsage(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn AlternateStorageLocation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternateStorageLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlternateStorageLocation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlternateStorageLocation(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn AlgorithmName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlgorithmName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlgorithmName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlgorithmName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn get_AlgorithmParameters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_AlgorithmParameters(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_AlgorithmParameters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_AlgorithmParameters(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn ParametersExportType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeyParametersExportType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParametersExportType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetParametersExportType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509KeyParametersExportType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParametersExportType(::core::mem::transmute_copy(&value)).into()
}
Self {
base__: IX509PrivateKey_Vtbl::new::<Identity, Impl, OFFSET>(),
HardwareKeyUsage: HardwareKeyUsage::<Identity, Impl, OFFSET>,
SetHardwareKeyUsage: SetHardwareKeyUsage::<Identity, Impl, OFFSET>,
AlternateStorageLocation: AlternateStorageLocation::<Identity, Impl, OFFSET>,
SetAlternateStorageLocation: SetAlternateStorageLocation::<Identity, Impl, OFFSET>,
AlgorithmName: AlgorithmName::<Identity, Impl, OFFSET>,
SetAlgorithmName: SetAlgorithmName::<Identity, Impl, OFFSET>,
get_AlgorithmParameters: get_AlgorithmParameters::<Identity, Impl, OFFSET>,
put_AlgorithmParameters: put_AlgorithmParameters::<Identity, Impl, OFFSET>,
ParametersExportType: ParametersExportType::<Identity, Impl, OFFSET>,
SetParametersExportType: SetParametersExportType::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509PrivateKey2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509PrivateKey as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509PublicKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, strencodedkey: &::windows_core::BSTR, strencodedparameters: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn InitializeFromEncodedPublicKeyInfo(&self, strencodedpublickeyinfo: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn Algorithm(&self) -> ::windows_core::Result<IObjectId>;
fn Length(&self) -> ::windows_core::Result<i32>;
fn get_EncodedKey(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_EncodedParameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn ComputeKeyIdentifier(&self, algorithm: KeyIdentifierHashAlgorithm, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509PublicKey {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509PublicKey_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>() -> IX509PublicKey_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, strencodedkey: ::std::mem::MaybeUninit<::windows_core::BSTR>, strencodedparameters: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&pobjectid), ::core::mem::transmute(&strencodedkey), ::core::mem::transmute(&strencodedparameters), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn InitializeFromEncodedPublicKeyInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedpublickeyinfo: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeFromEncodedPublicKeyInfo(::core::mem::transmute(&strencodedpublickeyinfo), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn Algorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Algorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Length<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Length() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_EncodedKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncodedKey(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_EncodedParameters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_EncodedParameters(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ComputeKeyIdentifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algorithm: KeyIdentifierHashAlgorithm, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ComputeKeyIdentifier(::core::mem::transmute_copy(&algorithm), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeFromEncodedPublicKeyInfo: InitializeFromEncodedPublicKeyInfo::<Identity, Impl, OFFSET>,
Algorithm: Algorithm::<Identity, Impl, OFFSET>,
Length: Length::<Identity, Impl, OFFSET>,
get_EncodedKey: get_EncodedKey::<Identity, Impl, OFFSET>,
get_EncodedParameters: get_EncodedParameters::<Identity, Impl, OFFSET>,
ComputeKeyIdentifier: ComputeKeyIdentifier::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509PublicKey as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509SCEPEnrollment_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, prequest: ::core::option::Option<&IX509CertificateRequestPkcs10>, strthumbprint: &::windows_core::BSTR, thumprintencoding: EncodingType, strservercertificates: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<()>;
fn InitializeForPending(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()>;
fn CreateRequestMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn CreateRetrievePendingMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn CreateRetrieveCertificateMessage(&self, context: X509CertificateEnrollmentContext, strissuer: &::windows_core::BSTR, issuerencoding: EncodingType, strserialnumber: &::windows_core::BSTR, serialnumberencoding: EncodingType, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn ProcessResponseMessage(&self, strresponse: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<X509SCEPDisposition>;
fn SetServerCapabilities(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn FailInfo(&self) -> ::windows_core::Result<X509SCEPFailInfo>;
fn SignerCertificate(&self) -> ::windows_core::Result<ISignerCertificate>;
fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
fn OldCertificate(&self) -> ::windows_core::Result<ISignerCertificate>;
fn SetOldCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows_core::Result<()>;
fn get_TransactionId(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_TransactionId(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Request(&self) -> ::windows_core::Result<IX509CertificateRequestPkcs10>;
fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCertificateFriendlyName(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Status(&self) -> ::windows_core::Result<IX509EnrollmentStatus>;
fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn Silent(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn DeleteRequest(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509SCEPEnrollment {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509SCEPEnrollment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>() -> IX509SCEPEnrollment_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut ::core::ffi::c_void, strthumbprint: ::std::mem::MaybeUninit<::windows_core::BSTR>, thumprintencoding: EncodingType, strservercertificates: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&prequest), ::core::mem::transmute(&strthumbprint), ::core::mem::transmute_copy(&thumprintencoding), ::core::mem::transmute(&strservercertificates), ::core::mem::transmute_copy(&encoding)).into()
}
unsafe extern "system" fn InitializeForPending<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeForPending(::core::mem::transmute_copy(&context)).into()
}
unsafe extern "system" fn CreateRequestMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateRequestMessage(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateRetrievePendingMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateRetrievePendingMessage(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateRetrieveCertificateMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strissuer: ::std::mem::MaybeUninit<::windows_core::BSTR>, issuerencoding: EncodingType, strserialnumber: ::std::mem::MaybeUninit<::windows_core::BSTR>, serialnumberencoding: EncodingType, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateRetrieveCertificateMessage(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strissuer), ::core::mem::transmute_copy(&issuerencoding), ::core::mem::transmute(&strserialnumber), ::core::mem::transmute_copy(&serialnumberencoding), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ProcessResponseMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, pdisposition: *mut X509SCEPDisposition) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProcessResponseMessage(::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetServerCapabilities<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetServerCapabilities(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn FailInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509SCEPFailInfo) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FailInfo() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignerCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignerCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignerCertificate(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn OldCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OldCertificate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOldCertificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOldCertificate(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn get_TransactionId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_TransactionId(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_TransactionId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_TransactionId(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Request<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Request() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CertificateFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CertificateFriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCertificateFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCertificateFriendlyName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Status<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Status() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Certificate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Silent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Silent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSilent(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn DeleteRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteRequest().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeForPending: InitializeForPending::<Identity, Impl, OFFSET>,
CreateRequestMessage: CreateRequestMessage::<Identity, Impl, OFFSET>,
CreateRetrievePendingMessage: CreateRetrievePendingMessage::<Identity, Impl, OFFSET>,
CreateRetrieveCertificateMessage: CreateRetrieveCertificateMessage::<Identity, Impl, OFFSET>,
ProcessResponseMessage: ProcessResponseMessage::<Identity, Impl, OFFSET>,
SetServerCapabilities: SetServerCapabilities::<Identity, Impl, OFFSET>,
FailInfo: FailInfo::<Identity, Impl, OFFSET>,
SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
OldCertificate: OldCertificate::<Identity, Impl, OFFSET>,
SetOldCertificate: SetOldCertificate::<Identity, Impl, OFFSET>,
get_TransactionId: get_TransactionId::<Identity, Impl, OFFSET>,
put_TransactionId: put_TransactionId::<Identity, Impl, OFFSET>,
Request: Request::<Identity, Impl, OFFSET>,
CertificateFriendlyName: CertificateFriendlyName::<Identity, Impl, OFFSET>,
SetCertificateFriendlyName: SetCertificateFriendlyName::<Identity, Impl, OFFSET>,
Status: Status::<Identity, Impl, OFFSET>,
get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
Silent: Silent::<Identity, Impl, OFFSET>,
SetSilent: SetSilent::<Identity, Impl, OFFSET>,
DeleteRequest: DeleteRequest::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509SCEPEnrollment as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509SCEPEnrollment2_Impl: Sized + IX509SCEPEnrollment_Impl {
fn CreateChallengeAnswerMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn ProcessResponseMessage2(&self, flags: X509SCEPProcessMessageFlags, strresponse: &::windows_core::BSTR, encoding: EncodingType) -> ::windows_core::Result<X509SCEPDisposition>;
fn ResultMessageText(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn DelayRetry(&self) -> ::windows_core::Result<DelayRetryAction>;
fn ActivityId(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetActivityId(&self, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509SCEPEnrollment2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509SCEPEnrollment2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>() -> IX509SCEPEnrollment2_Vtbl {
unsafe extern "system" fn CreateChallengeAnswerMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateChallengeAnswerMessage(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ProcessResponseMessage2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: X509SCEPProcessMessageFlags, strresponse: ::std::mem::MaybeUninit<::windows_core::BSTR>, encoding: EncodingType, pdisposition: *mut X509SCEPDisposition) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProcessResponseMessage2(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ResultMessageText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ResultMessageText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DelayRetry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut DelayRetryAction) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DelayRetry() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ActivityId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ActivityId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetActivityId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetActivityId(::core::mem::transmute(&value)).into()
}
Self {
base__: IX509SCEPEnrollment_Vtbl::new::<Identity, Impl, OFFSET>(),
CreateChallengeAnswerMessage: CreateChallengeAnswerMessage::<Identity, Impl, OFFSET>,
ProcessResponseMessage2: ProcessResponseMessage2::<Identity, Impl, OFFSET>,
ResultMessageText: ResultMessageText::<Identity, Impl, OFFSET>,
DelayRetry: DelayRetry::<Identity, Impl, OFFSET>,
ActivityId: ActivityId::<Identity, Impl, OFFSET>,
SetActivityId: SetActivityId::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509SCEPEnrollment2 as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || iid == &<IX509SCEPEnrollment as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509SCEPEnrollmentHelper_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Initialize(&self, strserverurl: &::windows_core::BSTR, strrequestheaders: &::windows_core::BSTR, prequest: ::core::option::Option<&IX509CertificateRequestPkcs10>, strcacertificatethumbprint: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn InitializeForPending(&self, strserverurl: &::windows_core::BSTR, strrequestheaders: &::windows_core::BSTR, context: X509CertificateEnrollmentContext, strtransactionid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Enroll(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows_core::Result<X509SCEPDisposition>;
fn FetchPending(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows_core::Result<X509SCEPDisposition>;
fn X509SCEPEnrollment(&self) -> ::windows_core::Result<IX509SCEPEnrollment>;
fn ResultMessageText(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509SCEPEnrollmentHelper {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509SCEPEnrollmentHelper_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>() -> IX509SCEPEnrollmentHelper_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strserverurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, strrequestheaders: ::std::mem::MaybeUninit<::windows_core::BSTR>, prequest: *mut ::core::ffi::c_void, strcacertificatethumbprint: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&strserverurl), ::core::mem::transmute(&strrequestheaders), ::windows_core::from_raw_borrowed(&prequest), ::core::mem::transmute(&strcacertificatethumbprint)).into()
}
unsafe extern "system" fn InitializeForPending<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strserverurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, strrequestheaders: ::std::mem::MaybeUninit<::windows_core::BSTR>, context: X509CertificateEnrollmentContext, strtransactionid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeForPending(::core::mem::transmute(&strserverurl), ::core::mem::transmute(&strrequestheaders), ::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtransactionid)).into()
}
unsafe extern "system" fn Enroll<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processflags: X509SCEPProcessMessageFlags, pdisposition: *mut X509SCEPDisposition) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Enroll(::core::mem::transmute_copy(&processflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FetchPending<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processflags: X509SCEPProcessMessageFlags, pdisposition: *mut X509SCEPDisposition) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FetchPending(::core::mem::transmute_copy(&processflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn X509SCEPEnrollment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.X509SCEPEnrollment() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ResultMessageText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ResultMessageText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeForPending: InitializeForPending::<Identity, Impl, OFFSET>,
Enroll: Enroll::<Identity, Impl, OFFSET>,
FetchPending: FetchPending::<Identity, Impl, OFFSET>,
X509SCEPEnrollment: X509SCEPEnrollment::<Identity, Impl, OFFSET>,
ResultMessageText: ResultMessageText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509SCEPEnrollmentHelper as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IX509SignatureInformation_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn HashAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn PublicKeyAlgorithm(&self) -> ::windows_core::Result<IObjectId>;
fn SetPublicKeyAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows_core::Result<()>;
fn get_Parameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR>;
fn put_Parameters(&self, encoding: EncodingType, value: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn AlternateSignatureAlgorithmSet(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn NullSigned(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetNullSigned(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn GetSignatureAlgorithm(&self, pkcs7signature: super::super::super::Foundation::VARIANT_BOOL, signaturekey: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<IObjectId>;
fn SetDefaultValues(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IX509SignatureInformation {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IX509SignatureInformation_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>() -> IX509SignatureInformation_Vtbl {
unsafe extern "system" fn HashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHashAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn PublicKeyAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PublicKeyAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPublicKeyAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPublicKeyAlgorithm(::windows_core::from_raw_borrowed(&pvalue)).into()
}
unsafe extern "system" fn get_Parameters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Parameters(::core::mem::transmute_copy(&encoding)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Parameters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Parameters(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternateSignatureAlgorithm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn AlternateSignatureAlgorithmSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AlternateSignatureAlgorithmSet() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NullSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NullSigned() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNullSigned<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNullSigned(::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetSignatureAlgorithm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7signature: super::super::super::Foundation::VARIANT_BOOL, signaturekey: super::super::super::Foundation::VARIANT_BOOL, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSignatureAlgorithm(::core::mem::transmute_copy(&pkcs7signature), ::core::mem::transmute_copy(&signaturekey)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultValues<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultValues().into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
PublicKeyAlgorithm: PublicKeyAlgorithm::<Identity, Impl, OFFSET>,
SetPublicKeyAlgorithm: SetPublicKeyAlgorithm::<Identity, Impl, OFFSET>,
get_Parameters: get_Parameters::<Identity, Impl, OFFSET>,
put_Parameters: put_Parameters::<Identity, Impl, OFFSET>,
AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
AlternateSignatureAlgorithmSet: AlternateSignatureAlgorithmSet::<Identity, Impl, OFFSET>,
NullSigned: NullSigned::<Identity, Impl, OFFSET>,
SetNullSigned: SetNullSigned::<Identity, Impl, OFFSET>,
GetSignatureAlgorithm: GetSignatureAlgorithm::<Identity, Impl, OFFSET>,
SetDefaultValues: SetDefaultValues::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &::windows_core::GUID) -> bool {
iid == &<IX509SignatureInformation as ::windows_core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}